Backtest Pin bar ribassista

Viewing 15 posts - 1 through 15 (of 16 total)
  • Author
    Posts
  • #56468 quote
    Tradesun
    Participant
    Senior

    Salve, vorrei chiedere aiuto per provare a fare un backtest della candela pin bar ribassista con i seguenti condizioni

    Vorrei inserire un ordine pendente all’inizio della candela successiva dopo il formarsi della candela pin bar ribassista

    1. viene inserito un ordine pendente in corrispondenza del livello di prezzo della Pin bar ribassista, con un pendente sell stop
    2. in sostanza, si attende che il prezzo superi il minimo della candela pin bar ribassista + 1 pip
    3. lo stop-loss viene posto in corrispondenza del massimo della candela pin bar ribassista + 1 pip
    4. il take-profit viene posto alla distanza tra stop-loss e sell stop della stessa
    1. quando viene raggiunto il 50% della distanza dal take-profit e lo stop-loss lo stop loss viene spostato in parità, ovvero sul prezzo di attivazione della posizione
    1. il pendente viene lasciato per 1 candela, dopodiché se non si è ancora attivato alla fine della candela successiva viene cancel

     

    Qui sotto è riportatata una bozza del codice ma mancano delle condizioni e non sono riuscito a completarlo.

    pip=1 //Inserire il valore del pip

    Pin bar ribassista

    c1=High=Highest[5](High)

    c2=Close < Close[1]

    RHB=c1 and c2

    if PBR then

    ingressoshort = low – (1*pip)

    stopshort = high + (1*pip)

    targetshort = ingressoshort – (stopshort-ingressoshort)

    endif

    sellshort at ingressoshort stop

    endif

    endif

    exitshort at stopshort stop

    exitshort at targetshort limit

    #56474 quote
    robertogozzi
    Moderator
    Master

    Per scrivere il codice , utilizza il pulsante <> “insert PRT code”.

    Inoltre ho spostato questo topic nel supporto ProOrder, in quanto si tratta di una strategia.

    Roberto

    #56637 quote
    Tradesun
    Participant
    Senior

    Ciao Roberto, dove lo trovo il pulsante <> “insert PRT code”.

    Grazie.

    #56639 quote
    robertogozzi
    Moderator
    Master

    E’ proprio qui sopra, contrassegnasto dai due simboli <> (vedi screenshot allegato).

    #56651 quote
    Tradesun
    Participant
    Senior
    pip=1 //Inserire il valore del pip
    
    Pin bar ribassista
    c1=High=Highest[5](High)
    c2=Close < Close[1]
    RHB=c1 and c2
    if PBR then
    ingressoshort = low – (1*pip)
    stopshort = high + (1*pip)
    targetshort = ingressoshort – (stopshort-ingressoshort)
    endif
    sellshort at ingressoshort stop
    endif
    endif
    exitshort at stopshort stop
    exitshort at targetshort limit
    #56655 quote
    robertogozzi
    Moderator
    Master

    Non comprendo bene cosa fa il tuo codice, per favore dammi come vuoi che sia definita una pin bar ribassista (quanto deve essere grande il corpo e quanto le due ombre), in tal modo posso provare a scrivere qualcosa.

    Inoltre ti faccio presente che:

    1. il tuo punto 6 non è detto che venga raggiunto in modo preciso (oppure mai), perché le strategie vengono eseguite solo alla CHIUSURA di una candela (almeno fino alla prossima versione, speriamo) , per cui in que momento il prezzo potrebbe essere al 49,9% e lo SL resta invariato, anche se nel corso della formazione della candela il 50% è stato superato
    2. gli ordini pendenti durano SEMPRE solo una candela, ed ogni volta vanno reimmessi se le condizioni persistono.
    #56719 quote
    Tradesun
    Participant
    Senior

    La Pin bar ribassista deve essere:

    • con un piccolo real body e deve essere situato vicino ai minimi della candela
    • ha una lunga upper shadow che deve avere una lunghezza almeno doppia rispetto a quella del real body che segnala il raggiungimento di un massimo importante da parte dei prezzi
    • ha una lower shadow molto piccola.

    Per quanto riguarda il punto 6 lo modifico mettendo lo stop un pip sopra il massimo della candela successiva, ogni volta che se ne forma una nuova, fino al raggiungimento del target o la chiusura per stop.

    #56729 quote
    robertogozzi
    Moderator
    Master

    La Pin bar ribassista deve essere:

    • con un piccolo real body e deve essere situato vicino ai minimi della candela
    • ha una lunga upper shadow che deve avere una lunghezza almeno doppia rispetto a quella del real body che segnala il raggiungimento di un massimo importante da parte dei prezzi
    • ha una lower shadow molto piccola.

    Per quanto riguarda il punto 6 lo modifico mettendo lo stop un pip sopra il massimo della candela successiva, ogni volta che se ne forma una nuova, fino al raggiungimento del target o la chiusura per stop.

    Purtroppo i programmi per i computer, contrariamente all’occhio umano, non riescono ad interpretare il concetto di “piccolo” o “vicino”, per cui serve che si indichino esattamente i parametri entro cui tali definizioni sono valide, per cui:

    1. entro quali limiti (in percentuale sulla lunghezza totale della candela, o range, ad esempio tra il 2% ed il 10%) deve essere il real body?
    2. il limite “vicino” ai minimi della candela non m’interessa, tanto dovrai dirmi quanto deve essere grande l’ombra inferiore
    3. per la lunghezza dell’ombra superiore va bene così, ho capito che deve essere almeno il doppio del real body
    4. entro quali limiti deve essere l’ombra inferiore (ad esempio tra 0, cioè assente, e 3%)?

    Una volta avuta risposta ai quesiti 1 e 4 scriverò qualcosa. Tieni presente che, comunque, i valori che io scriverò potrai modificarli a tuo piacimento ogni volta che vorrai, per cui non è necessario che qui tui faccia dei calcoli precisissimi, a me servono come indicazione sommaria.

    #56776 quote
    Tradesun
    Participant
    Senior

    1- Il realbody deve essere tra il 0,01% e lo 0,50%

    2- L’ombra inferiore deve essere nei limiti tra 0 (assente) e lo  0,30%

    Spero che questi limiti possano andare bene.

    Grazie 🙂

    #56849 quote
    robertogozzi
    Moderator
    Master

    Questo codice (per ora è uno screener, poi lo modificheremo in una strategia) ti fa vedere le candele PinBar ribassiste.

    Tu avevi indicato:

    1. Il realbody deve essere tra il 0,01% e lo 0,50%
    2. L’ombra inferiore deve essere nei limiti tra 0 (assente) e lo 0,30%

    immagino intendessi quei valori SENZA il simbolo di percentuale , altrimenti otterresti dati pressoché inesistenti. Inoltre un Real Body che arriva al 50% può essere definito una PinBar? A me sembra piuttosto alto. Ad ogni modo i valori puoi cambiarli a tuo piacimento.

    Corpo          = abs(open - close)                                                                                          //grandezza del corpo
    //OmbraSuperiore = high - max(open,close)                                                                                     //grandezza ombra superiore
    OmbraInferiore = min(open,close) - low                                                                                      //grandezza ombra inferiore
    //TotaleOmbre    = OmbraSuperiore + OmbraInferiore
    Ampiezza       = range                                                                                                      //ampiezza della candela (high - low)
    
    PinBar         =            (Corpo >= (Ampiezza * 0.01)) AND (Corpo <= (Ampiezza * 0.50))
    PinBar         = PinBar AND (OmbraInferiore >= 0) AND (OmbraInferiore <= (Ampiezza * 0.30))
    PinBar         = PinBar AND (close < open)
    
    SCREENER [PinBar] (PinBar AS "PinBar")

    Adesso che il codice per identificare una PinBar ribassista è pronto, cosa vuoi che faccia la tua strategia?

    Tradesun thanked this post
    #56875 quote
    Tradesun
    Participant
    Senior

    Ok, il  realbody lo cambiamo deve essere tra il 0,01% e lo 0,40% , aggiungo in allegato come ho misurato io il real body.

    va bene cosi, possiamo andare avanti con la strategia.

    Grazie

    #56877 quote
    Tradesun
    Participant
    Senior

    Pin bar ribassista

    #56883 quote
    robertogozzi
    Moderator
    Master

    Ormai la farò l’annuo nuovo.

    Buon 2018!

    #56925 quote
    Tradesun
    Participant
    Senior

    Grazie, Buon 2018 anche a te!
    By Fabri! 🙂

    #57175 quote
    robertogozzi
    Moderator
    Master

    Ho scritto questa strategia (provata su DAX 10 minuti)  ed inizia correttamente un’operazione Short, però non aggiorna lo Stop Loss e viene chiusa solo quando raggiunge la data indicata come fine del backtest.

    Avrebbe dovuto aggiornare lo Stop Loss già alla candela successiva all’entrata, ma non l’ha fatto e non capisco perché. Spero Nicolas possa eserci d’aiuto .

    DEFPARAM CumulateOrders = false
    
    ONCE nLots              = 1
    
    // aggiornare lo Stop Loss al massimo di ogni candela successiva, se questa è inferiore
    IF ShortOnMarket THEN
       IF high < high[1] AND high < Sl THEN
          Sl = high
          SET STOP LOSS Sl
       ENDIF
    ENDIF
    
    // verificare se + una Pin BAR ribassista
    Corpo          = abs(open - close)                                                           //grandezza del corpo
    OmbraInferiore = min(open,close) - low                                                       //grandezza ombra inferiore
    Ampiezza       = range                                                                       //ampiezza della candela (high - low)
    PinBar         =            (Corpo >= (Ampiezza * 0.01)) AND (Corpo <= (Ampiezza * 0.40))    //0.01  e   0.40
    PinBar         = PinBar AND (OmbraInferiore >= 0) AND (OmbraInferiore <= (Ampiezza * 0.30))  //0     e   0.30
    PinBar         = PinBar AND (close < open)
    
    // entrare SHORT
    IF PinBar AND Not OnMarket THEN
       SellPrice = low  - (1 * pipsize)                                                          //Prezzo di entrata
       Sl        = high + (1 * pipsize)                                                          //Stop Loss
       Tp        = SellPrice - (Sl - SellPrice)                                                  //Target Profit
       SELLSHORT nLots CONTRACT AT SellPrice STOP                                                //Ordine Pendente  (valido per una sola candela)
       SET STOP LOSS     Sl
    SET TARGET PROFIT Tp
    ENDIF
    //GRAPH SellPrice
    //GRAPH Sl
    //GRAPH Tp
    //GRAPH high
Viewing 15 posts - 1 through 15 (of 16 total)
  • You must be logged in to reply to this topic.

Backtest Pin bar ribassista


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
Tradesun @tradesun Participant
Summary

This topic contains 15 replies,
has 2 voices, and was last updated by Tradesun
8 years, 1 month ago.

Topic Details
Forum: ProOrder: Trading Automatico & Backtesting
Language: Italian
Started: 12/24/2017
Status: Active
Attachments: 7 files
Logo Logo
Loading...