Salve, vorrei sapere se fosse possibili utilizzare un trailing stop che faccia riferimento al prezzo in tempo reale del mercato e non ai valori per esempio di chiusura della candela.
Attualmente sto utilizzando questo ottimo codice:
IF NOT ONMARKET THEN
newSL=0
ENDIF
//manage long positions
IF LONGONMARKET THEN
//first move (breakeven)
IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THEN
newSL = tradeprice(1)+trailingstep*pipsize
ENDIF
//next moves
IF newSL>0 AND close-newSL>=trailingstep*pipsize THEN
newSL = newSL+trailingstep*pipsize
ENDIF
ENDIF
//manage short positions
IF SHORTONMARKET THEN
//first move (breakeven)
IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THEN
newSL = tradeprice(1)-trailingstep*pipsize
ENDIF
//next moves
IF newSL>0 AND newSL-close>=trailingstep*pipsize THEN
newSL = newSL-trailingstep*pipsize
ENDIF
ENDIF
//stop order to exit the positions
IF newSL>0 THEN
SELL AT newSL STOP
EXITSHORT AT newSL STOP
ENDIF
Grazie mille.
Le strategie sono sempre e soltanto eseguite quando una candela chiude.
Puoi ovviare a questo utilizzando il supporto MTF, Multi Time Frame, che ti consente di usare TF più piccoli,
Ad esempio, se utilizzi il TF Daily o 4H, puoi usare per il trailing stop un TF di 5 minuti o 1 minuto o 10 secondi per verificare il prezzo.
Se cerchi MTF o Multi Time Frame troverai molte indicazioni.
Avevo avuto proprio questa idea, ma ci deve essere un rapporto preciso tra timeframes, un multiplo preciso? Che mi dava un alert per verificare ad un secondo.
Grazie ancora.
Si, il TF principale, quello di default, che è sul grafico può essere quello che vuoi (anche se io preferisco non scendere sotto 10 secondi).
Gli altri TF usati devono essere ognuno MULTIPLO di quello a lui inferiore.
Se utilizzi 10 secondi come default puoi usare anche 1 ora, 2 ore e 4 ore, ma non puoi usare 1 ora, 3 ore e 4 ore perché 4 ore non è un multiplo di 3 ore (dovresti usare 6 ore invece di 4).
Okey perfetto, ma se opero a 10 secondi di default, posso quindi fare il check ad un secondo per il trailing stop?
Il TF di default è quello che detta il passo, se usi 10 secondi il controllo lo fa ogni 10 secondi. Se vuoi farlo ad 1 secondo devi usare 1 secondo (si può, è solo una mia idea di non usare un TF così piccolo).
La mia idea invece era quella di avere un timeframe maggiore di default, tipo 15 minuti e poi fargli fare il check del trailing stop ad un secondo, per essere più reattivo..altrimenti si aggiorna ogni 15 minuti, ma mi pare di capire che non è possibile, ovvero che il timeframe di default detta il passo minimo e che quindi gli altri time frame devono essere tutti maggiori e multipli, giusto?
Si, è così, il TF di default, quello che detta il passi di esecuzione, deve essere quello sul grafico e deve essere il più piccolo. Tutti gli altri multipli.