[Logo] Spazio Aperto Banca Sella
[Register] Registrati   [Login] Login    
[Search] Ricerca   [Recent Topics] Argomenti Recenti   [Hottest Topics] Argomenti vivaci  
[Banner Pubblicitario]
ancora su esempi di stop loss in algotrading  XML
Indice dei Forum » SellaExtreme 5
Autore Messaggio
ancora


Registrato: 09/03/2009 10:24:20
Messaggi: 27
Offline

scusate ma è proprio impossibile mettere un esemplificazione pratica di inserimento di stop loss in esempi già predisposti di ts?
io mi ritrovo nella difficoltà di recuperare i prezzi di eseguito che riesco ad avere a seguito di un evento accaduto nell'ambito di un systemcontext.candle per applicarli per definire uno stop loss che dovrebbe operare in un systemcontext.tick . Mi è stato detto di usare safe context o usercontext allo scopo, ma non ci sono esemplificazioni pratiche ed il tutto non gira.... e non è affatto soddisfacente tutto questo!!
Henry77


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

Ciao provo ad aiutarti.
Se ho capito bene quando compri vuoi fissare lo stop loss su un prezzo.
Come esempio puoi guardare quello fornito Cross_SMA_MULTI_TF

//dichiaro quelle variabili che ad ogni giro dello script sono ricalcolate
var t15 = 0;
var t_tick = 0;

if(SystemContext.IsFirst)
{
// dichiaro le variabili che devono essere salvate ed usate in altri eventi come in questo caso il tick
UserContext.StopLoss = 0; // variabile che uso come stop loss
..

}

// ammettiamo che usi un 15min per crearti la tua strategia per comprare ed usi un solo time frame a 15 minuti
if(SystemContext.EventType == TSEventType.Candle && SystemContext.PriceSerie == psTF15MIN)
{
t15 = SystemContext.PriceSerie.LastCandleIndex - 1;
price = SystemContext.PriceSerie.Last;

// metti qui la tua strategia per acquistare
....

if(OrderManager.Buy(stock, quantita) != null)
{
// calcolo lo stop loss con una percentuale fissa. ad esempio 5%
UserContext.StopLoss = price - ((price *5) /100);
}
}

else if(SystemContext.EventType == TSEventType.Tick)
{

var ps = SystemContext.PriceSerie;
t_tick = SystemContext.PriceSerie.LastCandleIndex - 1;

// controllo stop loss
if (ps.Close[t_tick] < UserContext.StopLoss )
{
// vendo
if(OrderManager.Sell(stock, quantita) != null)
{
UserContext.StopLoss = 0; // resetto lo stop loss
}
}

spero di averti aiutato
ancora


Registrato: 09/03/2009 10:24:20
Messaggi: 27
Offline

ci metterò il naso prossimamente. nel frattempo ti ringrazio
 
Indice dei Forum » SellaExtreme 5
Vai a:   
E.t.v.s.p.b WLS11G