Trailing stop chiarimenti

Viewing 15 posts - 1 through 15 (of 15 total)
  • Author
    Posts
  • #138906 quote
    danistuta
    Participant
    Senior
    //trailing stop function
    trailingstart = start  //trailing will start @trailinstart points profit
    trailingstep  = step   //trailing step to move the "stoploss"
     
    //reset the stoploss value
    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

    Salve, utilizzo spesso questo codice per il trailing stop..ma vorrei avere alcuni chiarimenti per capire se ho capito bene il codice:

    Con “start” definisco il numero di pips dal quale parte il trailing stop.
    Con “step” invece il numero di pips di ritorno indietro del prezzo per far chiudere la posizione.

    Corretto?

    Esiste una implementazione di questo codice che permetta di impostare  un numero “x “di pips minimo di guadagno?

    Grazie a tutti.

    #138912 quote
    robertogozzi
    Moderator
    Master

    STEP è il passo, cioè ogni quanti pips lo stop loss viene aggiornato.

    All’inizio ti mette in pareggio.

    Il minimo di guadagno è lo step mano a mano che il profitto cresce.

    #138915 quote
    danistuta
    Participant
    Senior

    Per fare un esempio, posizione long:

    stoploss: SET STOP pLOSS 10

    start=8 step=2

    Dopo 8 pips di guadagno si attiva il trailing stop, e dopo 2pips che è salito cosa succede? Non mi è ben chiaro.

    #138916 quote
    robertogozzi
    Moderator
    Master

    Porta lo stop loss in guadagno di 2 punti, per cui se il prezzo rintraccia esci in profitto.

    Dopo altri due porta lo stop in profitto di 4.

    #138920 quote
    danistuta
    Participant
    Senior

    Quindi fino a 8pips di guadagno dal prezzo iniziale non è attivo e poi si attiva da lì, 8 sarebbe il punto di pareggio ovvero il nuovo stoploss definito da codice, giusto?

    • se aumenta di 2 pips aggiorna lo stoploss a 10 e così via
    • se invece il prezzo scende cosa accade, nel senso di quanto deve scendere per chiudere la posizione? Fa sempre riferimento ai 2 pips o invece si potrebbe definire un valore diverso?

    Grazie ancora:-)

    #138931 quote
    robertogozzi
    Moderator
    Master

    8 è quando si attiva la PRIMA volta per il pareggio, poi sale in profitto di 2 in 2.

    #138932 quote
    danistuta
    Participant
    Senior

    Sì, capito…e la chiusura della posizione se il prezzo scende come viene fatta? Sale di 2 da 8, raggiunge 10 e poi riscende subito..chiude immediatamente? Si potrebbe impostare uno step anche sul ritorno indietro del prezzo?

    #138936 quote
    robertogozzi
    Moderator
    Master

    È 2 il punto di uscita, può diventare 4, 6 ecc…

    #142845 quote
    bertrandpinoy
    Participant
    Veteran

    ciao mi permetto 2 domande su questo codice:
    1 / se l’operazione va verso una perdita qual è il livello dello SL?
    2 / Immaginiamo “tradingstart = 2”. se il trade raggiunge questo valore non può diventare negativo in seguito, giusto? … Almeno il profitto = 2
    Grazie!

    #142850 quote
    robertogozzi
    Moderator
    Master
    1. NewSL è il livello di uscita (se attivato).
    2. No, tranne quando si verifica uno slippage.

    Occorre tenere presente che, specialmente sui time frame bassi, può succedere che il prezzo dello SL sia troppo vicino al prezzo corrente. In quel caso viene eseguito in modo non corretto.

    bertrandpinoy thanked this post
    #142881 quote
    bertrandpinoy
    Participant
    Veteran

    ciao roberto
    1 / NewSL: quando viene attivato esattamente, puoi spiegarci la più grande perdita possibile?
    2 / ok

    #142888 quote
    robertogozzi
    Moderator
    Master

    La più grande perdita è data dal tuo stop loss.

    Se hai uno stop loss di 100 punti e l’operazione va dalla parte opposta prima che il trailin stop venga attivato perderai 100 punti.

    Una volta che NewSL è attivato (dopo TRAILINGSTART pips di guadagno alla chiusura della candela) l’operazione viene portata immediatamente in pareggio. Ogni TRAILINGSTEP pips NewSL verrà incrementato per avera un guadagno sempre maggiore nel caso in cui il prezzo tornasse indietro.

    bertrandpinoy thanked this post
    #142899 quote
    bertrandpinoy
    Participant
    Veteran

    Roberto está de acuerdo en que todo está claro para las ganancias. Por otro lado por las pérdidas que no entiendo. O tal vez debería agregar esto: set stop ploss. ¿Al final del código?
    Roberto concorda sul fatto che tutto è chiaro per i guadagni. D’altra parte per le perdite che non capisco. O forse dovrei aggiungere questo: set stop ploss. Alla fine del codice?

    //************************************************************************
    //trailing stop function
    trailingstart = 19 //trailing will start @trailinstart points profit
    trailingstep = 7 //trailing step to move the “stoploss”
    
    //reset the stoploss value
    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
    //************************************************************************
    #142905 quote
    robertogozzi
    Moderator
    Master

    Per favore

    • Pubblica solo nella lingua del forum in cui stai postando. Ad esempio solo l’inglese nei forum di lingua inglese e il francese solo nei forum di lingua francese.
    • usa sempre il pulsante “Insert PRT code” quando inserisci il codice nei tuoi post per facilitare la lettura degli altri.

    Certo, è sempre meglio aggiungere al  codice sia set stop ploss  che set Target pProfit, anche se non sono obbligatori. Questi sono ciò che ti permette di limitare le perdite e determinare i profitti.

    Il trailing stop è solo un modo per garantirsi da perdite quando il prezzo cambia direzione dopo essere stato in profitto per un certo numero di pips (39 nel tuo caso).

    Se cerchi su internet, troverai molte spiegazioni sul funzionamento del trailing stop.

    #142915 quote
    robertogozzi
    Moderator
    Master

    Scusa, volevo scrivere 19, non 39.

Viewing 15 posts - 1 through 15 (of 15 total)
  • You must be logged in to reply to this topic.

Trailing stop chiarimenti


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
danistuta @danistuta Participant
Summary

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

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