Modifica Stop Loss
Forums › ProRealTime forum Italiano › Supporto ProOrder › Modifica Stop Loss
- This topic has 3 replies, 2 voices, and was last updated 6 years ago by robertogozzi.
-
-
06/21/2018 at 6:43 PM #73957
Salve, supponiamo di avere un trade long, ad esempio: lond dax 13000, stop 12900, target 13300
Come faccio a spostare lo stop loss su di 40 punti (sopra lo stop loss iniziale) quando ad esempio il trade mi sta guadagnando 70 punti?
Quindi la gestione dovrebbe essere cosi’: quando la mia posizione arrivera in area 13070, lo stop loss si deve spostare in area 12940.
Spero di essere stato chiaro e grazie a chi mi aiutera’ 🙂
06/21/2018 at 7:34 PM #73959Puoi utilizzare il codice, pronto per l’uso, scritto da Nicolas, mettendo nel tuo esempio uno start di 70 ed uno step di 40 https://www.prorealcode.com/blog/trading/complete-trailing-stop-code-function/
06/21/2018 at 7:47 PM #73961Ciao Roberto, ho provato il codice di Nicolas. Ma se faccio uno start di 70 punti, e step da 40, mi inserisce lo stop 40 punti spra il prezzo di entrata trade e non 40 punti in piu’ rispetto lo stop loss statico di apertura posizione
06/22/2018 at 11:44 AM #74057Ho modificato il codice di Nicolas affinché faccia quello (o quasi) che vuoi tu. Inizia ad applicare lo start dallo SL originale, solo che lo step lo fa ad ogni barra successiva anche se ha fatto meno pips, basta che sia maggiore del nuovo SL.
Dal tuo esempio:
- long dax 13000, stop 12900, target 13300, con start 40 e step 20
- appena il prezzo arriva a 13041, quindi supera lo start, lo SL lo mette a 12940
- alla barra successiva, anche se il prezzo scende a 13030, oppure sale a 13045, siccome ci sono più di 20 pips di distanza, contibua a fare salire di 20 lo SL portandolo a 12960
Non è quello che volevi esattamente, perché dovrebbe farlo salire di altri 20 solo quando sale almeno a 13061, ecc…
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748//************************************************************************// trailing stop function (versione modificata #1)//trailingstart = 40 //20 trailing will start @trailinstart points profittrailingstep = 20 //5 trailing step to move the "stoploss"mainSL = 100 //100 initial SL////reset the stoploss valueIF NOT ONMARKET THENnewSL=0InitialSL=0ENDIF//manage long positionsIF LONGONMARKET THENIF InitialSL = 0 THENInitialSL = tradeprice(1) - (mainSL * pipsize)ENDIF//first move (breakeven)IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THEN//newSL = tradeprice(1)+trailingstep*pipsizenewSL = InitialSL+trailingstep*pipsizeENDIF//next movesIF newSL>0 AND close-newSL>=trailingstep*pipsize THENnewSL = newSL+trailingstep*pipsizeENDIFENDIF//manage short positionsIF SHORTONMARKET THENIF InitialSL = 0 THENInitialSL = tradeprice(1) + (mainSL * pipsize)ENDIF//first move (breakeven)IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THEN//newSL = tradeprice(1)-trailingstep*pipsizenewSL = InitialSL-trailingstep*pipsizeENDIF//next movesIF newSL>0 AND newSL-close>=trailingstep*pipsize THENnewSL = newSL-trailingstep*pipsizeENDIFENDIF//stop order to exit the positionsIF newSL>0 THENSELL AT newSL STOPEXITSHORT AT newSL STOPENDIF//************************************************************************quest’altra versione, invece, dovrebbe fare esattamente quello che chiedi tu, fai delle verifiche e vedi quale può andarti meglio:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253//************************************************************************// trailing stop function (versione modificata #2)//trailingstart = 30 //30 trailing will start @trailinstart points profittrailingstep = 20 //10 trailing step to move the "stoploss"mainSL = 100 //100 initial SL////reset the stoploss valueIF NOT ONMARKET THENnewSL=0InitialSL=0MyPrice=0ENDIF//manage long positionsIF LONGONMARKET THENIF InitialSL = 0 THENInitialSL = tradeprice(1) - (mainSL * pipsize)ENDIF//first move (breakeven)IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THEN//newSL = tradeprice(1)+trailingstep*pipsizenewSL = InitialSL+trailingstart*pipsizeMyPrice=closeENDIF//next movesIF newSL>0 AND close-newSL>=trailingstep*pipsize AND (close > (MyPrice + trailingstep * pipsize)) THENnewSL = newSL+trailingstep*pipsizeMyPrice=closeENDIFENDIF//manage short positionsIF SHORTONMARKET THENIF InitialSL = 0 THENInitialSL = tradeprice(1) + (mainSL * pipsize)ENDIF//first move (breakeven)IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize AND (close < (MyPrice - trailingstep * pipsize)) THEN//newSL = tradeprice(1)-trailingstep*pipsizenewSL = InitialSL-trailingstart*pipsizeMyPrice=closeENDIF//next movesIF newSL>0 AND newSL-close>=trailingstep*pipsize THENnewSL = newSL-trailingstep*pipsizeMyPrice=closeENDIFENDIF//stop order to exit the positionsIF newSL>0 THENSELL AT newSL STOPEXITSHORT AT newSL STOPENDIF//************************************************************************ -
AuthorPosts
Find exclusive trading pro-tools on