Modifica trailing stop
Forums › ProRealTime forum Italiano › Supporto ProOrder › Modifica trailing stop
- This topic has 6 replies, 3 voices, and was last updated 1 month ago by robertogozzi.
-
-
10/09/2024 at 12:11 AM #238745
Ciao a tutti, vorrei modificare il trailing stop facendolo attivare al raggiungimento del prezzo stabilito senza aspettare la chiusura della candela come avviene adesso . E’ possibile?
Grazie.
/ Funzione di trailing stop
trailingstart = 50 // Il trailing stop comincia quando siamo a 50 punti di profitto
trailingstep = 10 // Ogni step del trailing stop è di 10 punti// Reset del valore dello stoploss
IF NOT ONMARKET THEN
newSL = 0
ENDIF// Gestione delle posizioni long
IF LONGONMARKET THEN
// Primo movimento (breakeven)
IF newSL = 0 AND close – tradeprice(1) >= trailingstart * pipsize THEN
newSL = tradeprice(1) + trailingstep * pipsize
ENDIF
// Movimenti successivi
IF newSL > 0 AND close – newSL >= trailingstep * pipsize THEN
newSL = newSL + trailingstep * pipsize
ENDIF
ENDIF// Gestione delle posizioni short
IF SHORTONMARKET THEN
// Primo movimento (breakeven)
IF newSL = 0 AND tradeprice(1) – close >= trailingstart * pipsize THEN
newSL = tradeprice(1) – trailingstep * pipsize
ENDIF
// Movimenti successivi
IF newSL > 0 AND newSL – close >= trailingstep * pipsize THEN
newSL = newSL – trailingstep * pipsize
ENDIF
ENDIF// Ordine di stop per uscire dalle posizioni
IF newSL > 0 THEN
SELL AT newSL STOP
EXITSHORT AT newSL STOP
ENDIF10/09/2024 at 9:33 AM #238753Se devui attivarlo ad un prezzo stabilito non serve il codice sopra, basta inserire degli ordini pendenti.
In ogni caso è più chiaro se fai un esempio.
10/09/2024 at 9:48 AM #238755Ciao. Per questo dovresti usare
set stop price newSL
. In questo modo uscirai sulla stessa candela che si verifica, senza attendere l'apertura del giorno successivo.1 user thanked author for this post.
10/09/2024 at 12:08 PM #238768Non avendo un immagine lo faccio a parole : quello postato sopra si attiva ( parlo di trailing stop ) solo al raggiungimento di tot punti in chiusura di una candela. Nell’ultimo trade à successo che il trade ha toccato e superato la soglia di attivazione in intraday ma poi il mercato ha cominciato a stornare e la chiusura delle candele successive è stata sotto il prezzo di attivazione finendo cosi poi per prendere uno stop. Io vorrei che il trailing stop si attivasse al raggiungimento del prezzo stabilito senza altre condizioni.
10/09/2024 at 6:20 PM #238788Le strategie vengono eseguite solo alla chiusura di ogni candela. Puoi aggiungere al tuo timeframe che usi normalmente, un altro timeframe più piccolo per limitare il divario tra il prezzo di chiusura e quello di riferiment per imopostare il trailing stop.
Quale timeframe usi?
1 user thanked author for this post.
10/09/2024 at 6:41 PM #23878910/10/2024 at 10:02 AM #238802Questo esempio puoi usarlo sul timeframe a 5 minuti, ma anche a 1 minuto o 1 secondo.
Il vantaggio è che il livello del trailing stop viene verificato e settato in modo più preciso, mentre per l’uscita in stop vera e propria questa avviene al prezzo esatto stabilito dal trailing stop.
Lo svantaggio è che se usi un timeframe a 1 minuto avrai meno storico per il backtest, 200K barre da 1 minuto sono poco più di 6 mesi, mentre se usi 1 secondo saranno circa 15 giorni di storico.
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253Timeframe(15 minute,UpdateOnClose)Sma5 = average[200,0](close)c1 = close CROSSES OVER Sma5c2 = close CROSSES UNDER Sma5NR7 = c1[1] AND c2 AND Not OnMarketIF c1 AND Not LongOnMarket THENBUY 1 CONTRACT AT MARKETELSIF c2 AND Not ShortOnMarket THENSELLSHORT 1 CONTRACT AT MARKETENDIFSET STOP pLOSS 50SET TARGET pPROFIT 100//Timeframe(default)// Funzione di trailing stoptrailingstart = 50 // Il trailing stop comincia quando siamo a 50 punti di profittotrailingstep = 10 // Ogni step del trailing stop è di 10 punti// Reset del valore dello stoplossIF NOT ONMARKET THENnewSL = 0ENDIF// Gestione delle posizioni longIF LONGONMARKET THEN// Primo movimento (breakeven)IF newSL = 0 AND close - tradeprice(1) >= trailingstart * pipsize THENnewSL = tradeprice(1) + trailingstep * pipsizeENDIF// Movimenti successiviIF newSL > 0 AND close - newSL >= trailingstep * pipsize THENnewSL = newSL + trailingstep * pipsizeENDIFENDIF// Gestione delle posizioni shortIF SHORTONMARKET THEN// Primo movimento (breakeven)IF newSL = 0 AND tradeprice(1) - close >= trailingstart * pipsize THENnewSL = tradeprice(1) - trailingstep * pipsizeENDIF// Movimenti successiviIF newSL > 0 AND newSL - close >= trailingstep * pipsize THENnewSL = newSL - trailingstep * pipsizeENDIFENDIF// Ordine di stop per uscire dalle posizioniIF newSL <> NewSL[1] THENSET STOP PRICE NewSLENDIFgraphonprice NewSL coloured("Red")graphonprice TradePrice1 user thanked author for this post.
-
AuthorPosts
Find exclusive trading pro-tools on