Stop loss in funzione di un guadango
Forums › ProRealTime forum Italiano › Supporto ProOrder › Stop loss in funzione di un guadango
- This topic has 24 replies, 4 voices, and was last updated 4 years ago by robertogozzi.
-
-
11/05/2020 at 7:56 PM #149584
Oppure conviene usare direttamente il trailing di Nicholas…..il risultato dovrebbe essere lo stesso con la differenza che lo stop si muove gradualmente invece che a scaglioni
1234567891011121314151617trailingstart = 174 //trailing will start @trailinstart points profittrailingstep = 12 //trailing step to move the "stoploss"If Not OnMarket ThenNewSL = 0ENDIF//manage long positionsIF LONGONMARKET THEN//first move (breakeven)IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THENnewSL = tradeprice(1)+trailingstep*pipsizeENDIF//next moves (trailing stop)IF newSL>0 AND close-newSL>=trailingstep*pipsize THENnewSL = newSL+trailingstep*pipsizeENDIFENDIF11/05/2020 at 8:16 PM #149585manca un ENDIF alla fine del tuo codice.
In alternativa puoi usare il codice di Nicolas. Può funzionare come vuoi te, il primo parametro lo imposti a 174 ed il secondo, lo step, a 126, solo che non puoi dirgli +12 o +50. Quando arriva a 174 ti porta l’operazione in pareggio (però puoi modificare il codice per aggiungerci te un certo numero di pips), la volta successiva lo porta a +126.
11/05/2020 at 8:49 PM #149590Con il codice di Nicholas, se ho capito bene, in caso di guadagno di 174 punti mi porta lo stop a BE+12, poi ogni chiusura di candela verifica l’eventuale gain.
Quindi se a chiusura di una candela ho un gain di 180 punti mi porta lo stop a BE+18. E’ corretto?
11/05/2020 at 9:16 PM #149594No, fa come to ho scritto sopra, a 174 lo porta in pari e poi lo aggiorna di 126 in 126, quindi farà:
- 0 (pareggio)
- +126
- +252
- .
- .
però puoi modificarlo come vuoi, la prima volta puoi aggiungerci 12, se vuoi.
Certo che se lo modifichi completamente è inutile che lo usi, puoi usare l’altro.
11/05/2020 at 9:40 PM #149596Scusa ma…..se
1newSL = tradeprice(1)+trailingstep*pipsizenewSL = tradeprice+12 e non tradeprice….
non capisco il 126 da dove salta fuori…..
11/05/2020 at 10:23 PM #149598Non volevi 300 come step successivo?
174 di partenza, per arrivare a 300 ci manca uno step di 126.
11/06/2020 at 10:51 AM #149640In effetti non sono stato molto chiaro nell’esposizione…..
La mia idea principale è quella di proteggere il gain ed inizialmente ho pensato ad uno spostamento dello STOP al raggiungimento di un determinato guadagno, quindi nel mio caso al raggiungimento di 174 punti di guadagno lo STOP va a Tradeprice+12 (e fin qua nessun problema).
Successivamente, in caso di aumento del gain, vorrei un contestuale aumento dello STOP e qui si aprono i 2 scenari:
- a scaglioni come avevo pensato io, quindi al raggiungimento di 174 va a BE+12, poi al raggiungimento di 300 va a BE+50 e così via
- con verifica alla chiusura di ogni barra, cioè al raggiungimento di +174 va a BE+12 e poi, se la chiusura della barra successiva è maggiore ad esempio +190 lo STOP si sposta a BE+28 (12+16) e così via per ogni barra….
11/06/2020 at 11:03 AM #149643Ok, ho capito. Ssono due alternative tra cui puoi scegliere.
In realtà ogni codice è modificabile, per cui ognuno può crearsi un diverso sistema di trailing stop (come di qualunque altra cosa). Se cerchi le parole trailing stop usciranno molti risultati, alcuni con piccole differenze tra l’uno e l’altro, altri con molte differenze, altri completamente diversi.
In molti casi la base di partenza è stato il codice di Nicolas che ha spinto molti a variarlo, adattarlo alle proprie esigenze e magari migliorarlo.
11/07/2020 at 9:04 PM #149803Il codice “dovrebbe essere questo”…..può funzionare?
Deve:
- al raggiungimento dei 174 punti spostare a BE+12
- verifica ogni chiusura e se la candela [0] chiude > della candela [1] lo stop viene spostato a BE+12+(differenza fra Close e Close[1])
1234567891011121314151617181920trailingstart = 174 //trailing will start @trailinstart points profittrailingstep = 12 //trailing step to move the "stoploss"If Not OnMarket ThenNewSL = 0ENDIF//manage long positionsIF LONGONMARKET THEN//first move (breakeven)IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THENnewSL = tradeprice(1)+trailingstep*pipsizeENDIF//next moves (trailing stop)IF newSL>0 AND close>close[1] THENnewSL = max(newSL,newSL+(Close-Close[1]))ENDIFIf NewSL > 0 ThenSELL at NewSL StopEndifENDIF11/07/2020 at 9:36 PM #149805 -
AuthorPosts
Find exclusive trading pro-tools on