Stop loss in funzione di un guadango

Viewing 10 posts - 16 through 25 (of 25 total)
  • Author
    Posts
  • #149584 quote
    supermyguel
    Participant
    Average

    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

    trailingstart = 174 //trailing will start @trailinstart points profit
    trailingstep = 12 //trailing step to move the "stoploss"
    
    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 (trailing stop)
    IF newSL>0 AND close-newSL>=trailingstep*pipsize THEN
    newSL = newSL+trailingstep*pipsize
    ENDIF
    ENDIF
    #149585 quote
    robertogozzi
    Moderator
    Master

    manca 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.

    #149590 quote
    supermyguel
    Participant
    Average

    Con 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?

    #149594 quote
    robertogozzi
    Moderator
    Master

    No, 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.

    #149596 quote
    supermyguel
    Participant
    Average

    Scusa ma…..se

    newSL = tradeprice(1)+trailingstep*pipsize

    newSL = tradeprice+12 e non tradeprice….

    non capisco il 126 da dove salta fuori…..

    #149598 quote
    robertogozzi
    Moderator
    Master

    Non volevi 300 come step successivo?

    174 di partenza, per arrivare a 300 ci manca uno step di 126.

    #149640 quote
    supermyguel
    Participant
    Average

    In 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:

    1. 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
    2. 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….
    #149643 quote
    robertogozzi
    Moderator
    Master

    Ok, 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.

    #149803 quote
    supermyguel
    Participant
    Average

    Il 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])
    trailingstart = 174 //trailing will start @trailinstart points profit
    trailingstep = 12 //trailing step to move the "stoploss"
    
    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 (trailing stop)
    IF newSL>0 AND close>close[1] THEN
    newSL = max(newSL,newSL+(Close-Close[1]))
    ENDIF
    If NewSL > 0 Then
    SELL at NewSL Stop
    Endif
    ENDIF
    
    #149805 quote
    robertogozzi
    Moderator
    Master

    Si, mi sembra corretto.

    supermyguel thanked this post
Viewing 10 posts - 16 through 25 (of 25 total)
  • You must be logged in to reply to this topic.

Stop loss in funzione di un guadango


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Daniele @daniele Participant
Summary

This topic contains 24 replies,
has 4 voices, and was last updated by robertogozzi
5 years, 3 months ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 09/29/2020
Status: Active
Attachments: No files
Logo Logo
Loading...