salve, stavo scrivendo questa mini strategia per testare il trailing stop ma mi sono accorto che spesso nella lista ordini vedo uscite in qualunque orario senza che si siano verificate nessuna delle condizioni di uscita, come mai? sicuramente avrò sbagliato qualcosa nella compilazione dell algoritmo……. ho fatto test su cfd mib 1 euro tf 30 minuti
DEFPARAM CumulateOrders = FALSE
ONCE Distanza = 50 * pipsize
IF Not OnMarket THEN
Soglia = 100 * pipsize
endif
IF time = 100000 THEN
if abs(dOpen(1)-dClose(1))>0.77*(dHigh(1)-dLow(1)) then
BUY 5 CONTRACT AT MARKET
ENDIF
endif
IF LongOnMarket THEN
x = (close - TRADEPRICE)
IF x >= Soglia THEN
Soglia = x
StopLoss = close - Distanza
ENDIF
IF LongOnMarket THEN
SELL AT StopLoss STOP
if time=220000 then
sell at market
endif
graphonprice StopLoss coloured(255,0,0,255)
graph x
graph soglia
//SET TARGET pPROFIT 241
//SET STOP pLOSS 110
Ci sono alcune cose da cambiare:
- mancano due ENDIF alla fine, prima della riga 26
- la riga 21 non serve, in quanto è già all’interno dell’IF della riga 14
- StopLoss non è stata inizializzata, che valore ha quando l’operazione inizia? (all’inizio non si sa, probabilmente 0, dopo avrà sempre il valore dell’ultima operazione)
- StopLoss non è un prezzo, ma una differenza tra prezzi, quindi esce in modo errato alla riga 22.