Poichè non è possibile inserire contemporaneamente un ordine stop e limit, ho cercato di aggirare il problema con una programmazione che opera su time frame di default di 1 secondo, per prendere quasi ogni variazione di prezzo, e con multiTimeFrame di 1 ora.
Semplifico:
timeframe(1 hours, updateonclose)
myOrdineStop = 0.0001
if close <= high[1] + ordStp * 2 then //condizione limit
ord = 1 //condizione rispettata
endif
IF NOT LongOnMarket then
IF ord = 1 then
BUY 1 CONTRACTS AT myOrdineStop STOP
ENDIF
Potrebbe funzionare?
Grazie
Per vedere se funziona devi provarlo.
Ad ogni modo, perché usi una condizione LIMIT e poi piazzi un ordine STOP?
Gli ordini LIMIT vanno usati quando il prezzo d’entrata è migliorativo rispetto a quello corrente, STOP quando è peggiorativo.
Se li piazzi in modo errato entra a mercato (esempio Long: se il prezzo attuale è 100 e vuoi entrare a 90, devi usare LIMIT, non STOP altrimenti entra A MERCATO, cioè subito).
Faccio un esempio, forse sbaglio ma la programmazione l’ho fatta così:
se il prezzo è a 10, io voglio entrare a mercato quando il prezzo raggiunge 11 (ordine stop), ma non deve essere superiore a 12 (ordine limit)
così concepito può andare bene la programmazione che ripropongo in quanto nell’esempio precedente ho lasciato una riga
timeframe(1 hours, updateonclose)
myOrdineStop = 0.0001
if close <= high[1] + ordStp * 2 then //condizione limit
ord = 1 //condizione rispettata
endif
timeframe(default) //1 secondo
IF NOT LongOnMarket then
IF ord = 1 then
BUY 1 CONTRACTS AT myOrdineStop STOP
ENDIF
Si, va bene (manca solo un ENDIF finale, ma questo ti verrà segnalato).