[Logo] Spazio Aperto Banca Sella
[Register] Registrati   [Login] Login    
[Search] Ricerca   [Recent Topics] Argomenti Recenti   [Hottest Topics] Argomenti vivaci  
[Banner Pubblicitario]
trading system  XML
Indice dei Forum » SellaExtreme 5
Autore Messaggio
TonyG


Registrato: 13/11/2019 11:44:22
Messaggi: 2
Offline

Ho provato a modificare il vostro esempio (CROSS_SMA_REVERSE) che si trova nella schermata dei trading system in modo tale che esso chiuda le operazioni ad un orario specifico.
Il sistema non chiude però le operazioni all'orario specificato.Potete spiegarmi dove sta l'errore.! O eventualmente cortesemente caricare un esempio di un sistema(Se caricaste questo sarebbe il massimo) che chiuda le posizioni ad un determinato orario.
Di seguito il trading system che ho realizzato.
Grazie.


if(SystemContext.IsFirst)
{
UserContext.Position = 0;
}

if(SystemContext.EventType == TSEventType.Candle)
{
var t = SystemContext.PriceSerie.LastCandleIndex - 1;
var reverseQuantity = quantita;
if(UserContext.Position != 0)
reverseQuantity = quantita * 2;

if(CrossUp(shortSMA.Values, longSMA.Values, t))
{
var openPosition = OrderManager.Buy(ps, reverseQuantity);
if(openPosition != null)
UserContext.Position = 1;
}
else if(CrossDown(shortSMA.Values, longSMA.Values, t))
{
var closePosition = OrderManager.Sell(ps, reverseQuantity);
if(closePosition != null)
UserContext.Position = -1;
}
}
else if(SystemContext.EventType == TSEventType.Time)
{ var s=Val(ps, "TIME_LAST".ToString("HH:mm:ss";
if(s==secondi)
{
if(UserContext.Position == 1)
{
OrderManager.Sell(ps, quantita);
UserContext.Position = 0;
}
if(UserContext.Position == -1)
{
OrderManager.Buy(ps, quantita);
UserContext.Position = 0;
}
}
}
Henry77


Registrato: 09/11/2017 09:49:14
Messaggi: 111
Offline

Ciao,
L'evento TIme viene generato ogni secondo, l'unica possibilità che vedo è che l'uguaglianza
if(s==secondi) non venga eseguita...
Molto probabilmente le due variabili s e secondi non sono nello stesso formato e non sono uguali. Prova a stampare le 2 variabili con la funzione Log("s = "+s +" secondi = "+secondi)
e vedere cosa stampa prima dell'if.
 
Indice dei Forum » SellaExtreme 5
Vai a:   
E.t.v.s.p.b WLS11G