Ciao a tutti ,
utilizzo Prorealtime da qualche anno , ma solo da pochissimo tempo ho deciso di imparare ad utilizzare la programmazione per realizzare TS automatici . DA qui il dubbio per cui chiedo il vostro cortese aiuto .
Quello che vorrei fare è , una volta entrato a mercato in acquisto a chiusura di candela verificatesi una serie di condizioni ( che ho chiamato ” long ” ) vorrei che la posizione si chiudesse in profitto alla prima chiusura di candela sopra ad un determinato livello di prezzo .
Sono riuscito a fare questa cosa per la chiusura in perdita in questo modo :
if long then
buy n contracts at market
sl = low [1]
endif
if longonmarket and close < sl then
sell at market
endif
In pratica , al verificarsi della condizione long entro a mercato in acquisto e definisco la variabile ” sl ” come il minimo della barra precedente a quella di ingresso . Successivamente se si verifica una chiusura inferiore a questo minimo l’ operazione viene chiusa in perdita . E fin qua tutto bene .
Non riesco a fare però la stessa cosa per l’ uscita in profitto . Vorrei che una volta entrato a mercato uscire in profitto qualora si presentasse una chiusura superiore al prezzo di ingresso maggiorato di una costante , come potrebbe essere ad esempio il valore dell’ ATR .
Per fare questo ho realizzato questo codice :
if longonmarket and close > (tradeprice + ATR ) then
sell at market
endif
In questo caso però la cosa non funziona , ovvero la posizione viene in pratica chiusa indistintamente alla prima chiusura superiore al prezzo di ingresso , e non solo se la chiusura è superiore al prezzo di ingresso + la distanza dell’ ATR .
Immagino sia una banalità , qualcuno saprebbe cortesemente dirmi in cosa sbaglio ?
Grazie
Ciao,
È inoltre possibile utilizzare l’TARGET PROFIT e STOP LOSS istruzioni perdita per ottenere quello che vuoi.
if long then
buy n contracts at market
sl = close-low[1]
tp = ATR
endif
SET STOP LOSS sl
SET TARGET PROFIT tp