Heikin ashi

Viewing 15 posts - 1 through 15 (of 21 total)
  • Author
    Posts
  • #117473 quote
    criscolci
    Participant
    Average

    Qualcuno può aiutarmi a scrivere un codice ( o mandarmi il link di un post passato) semplice di entrata e uscita in base alle colonne heikin ashi? Entro quando virano e si confermano positive, esco quando virano e si confermano negative.

    #117475 quote
    robertogozzi
    Moderator
    Master

    Intanto occorre definire le candele HA.

    Questo è il codice da mettere all’inizio di una strategia, indicatore o screener che sia:

    // HA - definizione Heikin-Ashi
    //
    once xOpen = open
    xClose = (open+close+high+low)/4
    if barindex > 0 then
       xOpen = (xOpen+xClose[1])/2
    endif
    //xLow = min(low,min(xClose,xOpen))
    //xHigh = max(high,max(xClose,xOpen))

    Dopodiché va creata la strategia, eccola:

    Defparam CumulateOrders = false
    // HA - definizione Heikin-Ashi
    //
    once xOpen = open
    xClose = (open+close+high+low)/4
    if barindex > 0 then
       xOpen = (xOpen+xClose[1])/2
    endif
    //xLow = min(low,min(xClose,xOpen))
    //xHigh = max(high,max(xClose,xOpen))
    Rialzo    = xClose > xOpen
    Ribasso = xClose < xOpen
    If Rialzo and Rialzo[1] and Ribasso[2] and not OnMarket then
       Buy 1 contract at Market
    Endif
    If Ribasso and Ribasso[1] and Rialzo[2] and not OnMarket then
       Sellshort 1 contract at Market
    Endif
    Set Target pProfit 60
    Set Stop   pLoss   30

    attende che ci sia un cambio di colore, confermato da un’ulteriore successiva candela.

    Non l’ho provata.

    #117480 quote
    criscolci
    Participant
    Average

    Roberto, grazie! Sempre il 🔝!
    Stasera la inserisco e ti so dire

    #123987 quote
    P@oLo
    Participant
    Junior

    Ciao Roberto,

    a proposito del codice sopra ma per entrare long solo quando il minimo della candela verde corrisponde esattamente all’apertura e viceversa short solo quando il massimo è uguale all’apertura?

    grazie per l’aiuto!

    #124009 quote
    robertogozzi
    Moderator
    Master

    Eccolo:

    Defparam CumulateOrders = false
    // HA - definizione Heikin-Ashi
    //
    once xOpen = open
    xClose = (open+close+high+low)/4
    if barindex > 0 then
       xOpen = (xOpen+xClose[1])/2
    endif
    xLow  = min(low,min(xClose,xOpen))
    xHigh = max(high,max(xClose,xOpen))
    LongCond = xClose > xOpen AND xLow  = xOpen
    Ribasso  = xClose < xOpen AND xHigh = xOpen
    If LongCond  and not OnMarket then
       Buy 1 contract at Market
    Endif
    If ShortCond and not OnMarket then
       Sellshort 1 contract at Market
    Endif
    Set Target pProfit 60
    Set Stop   pLoss   30
    #124056 quote
    P@oLo
    Participant
    Junior

    Grazie Roberto!

    Sono un pò in difficoltà per implementare la strategia con queste varianti:

     

    TIME H1

    Media Mobile semplice 3 spostata di 3 su chiusura.

    Ingresso long: Candela verde con tutto il corpo sopra la media con apertura = minimo

    USCITA LONG:

    1. quando su candela verde si verifica ombra sotto maggiore del corpo OPPURE
    2. massimo più basso del precedente OPPURE
    3. candela doji OPPURE
    4. chiusura sotto la ema OPPURE
    5. cambio colore

    Ingresso short: Candela rossa con tutto il corpo sotto la media con apertura = massimo

    USCITA SHORT:

    1. quando su candela rossa si verifica ombra sopra maggiore del corpo OPPURE
    2. minimo più alto del precedente OPPURE
    3. candela doji OPPURE
    4. chiusura sopra la ema OPPURE
    5. cambio colore

     

    Possibile inserimento di trailing stop che si muove sotto il minimo (long) o sopra il massimo (short) alla fine di ogni candela

     

    GRAZIE INFINITE!

    #124128 quote
    robertogozzi
    Moderator
    Master

    Cosa intendi per spostata di 3?

    #124142 quote
    P@oLo
    Participant
    Junior

    Sui parametri della ema, Nm Periodi 3 / Spostamento in Periodo 3

    Vedi foto.

    #124144 quote
    robertogozzi
    Moderator
    Master

    Inoltre, la media va calcolata sulla chiusura delle normali candele giapponesi o su quella delle candele HA ?

    #124145 quote
    P@oLo
    Participant
    Junior

    HA

    ma si potrebbe provare entrambe le versioni

    #124148 quote
    robertogozzi
    Moderator
    Master

    Manca la foto.

    #124150 quote
    P@oLo
    Participant
    Junior

    Ho provato più volte, la allego ma non va…

    Comunque se entri nei parametri di configurazione della EMA trovi:

     

    Metodo = Simple

    Nm Periodi = 3

    Spostamento in Periodo = 3

    #124152 quote
    robertogozzi
    Moderator
    Master

    Ecco:

    Defparam CumulateOrders = false
    // HA - definizione Heikin-Ashi
    //
    once xOpen = open
    xClose     = (open+close+high+low)/4
    if barindex > 0 then
    xOpen   = (xOpen+xClose[1])/2
    endif
    xLow       = min(low,min(xClose,xOpen))
    xHigh      = max(high,max(xClose,xOpen))
    xRange     = xHigh - xLow
    //
    Rialzo     = xClose > xopen
    Ribasso    = xClose < xOpen
    Piatta     = Rialzo  AND xLow  = xOpen
    Ribasso    = Ribasso AND xHigh = xOpen
    Corpo      = abs(xOpen - xClose)
    OmbraSU    = xHigh - max(xOpen,xClose)
    OmbraGIU   = min(xOpen,Xclose) - xLow
    Doji       = Corpo <= xRange * 0.10         //Doji = corpo <= 10% del range
    //
    Shift      = 0                              //da 0 a N  (non negativo)
    Sma3       = Average[3,0](xClose[Shift])    //calcolo sulle candele HA
    //Sma3     = Average[3,0](close[Shift])     //calcolo sulla normali candele giapponesi
    // entrata LONG
    LongCond   = Rialzo  AND Piatta AND xOpen > Sma3
    If LongCond  and not OnMarket then
    Buy 1 contract at Market
    Endif
    // uscita  LONG
    L1         = Rialzo  AND OmbraGIU > Corpo
    L2         = xHigh < xHigh[1]
    L3         = Doji
    L4         = xClose < Sma3
    L5         = Ribasso AND Rialzo[1]
    ExitL      = L1 or L2 or L3 or L4 or L5
    IF ExitL AND LongOnMarket  THEN
    SELL AT MARKET
    ENDIF
    //entrata SHORT
    ShortCond  = Ribasso  AND Piatta AND xOpen < Sma3
    If ShortCond and not OnMarket then
    Sellshort 1 contract at Market
    Endif
    // uscita  SHORT
    S1         = Ribasso AND OmbraSU  > Corpo
    S2         = xLow  > xLow[1]
    S3         = Doji
    S4         = xClose > Sma3
    S5         = Rialzo AND Ribasso[1]
    ExitS      = S1 or S2 or S3 or S4 or S5
    IF ExitS AND ShortOnMarket  THEN
    EXITSHORT AT MARKET
    ENDIF
    //
    Set Target pProfit 100
    Set Stop   pLoss   50
    //************************************************************************
    //trailing stop function
    trailingstart = 10   //trailing will start @trailinstart points profit
    trailingstep  = 5    //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
    //************************************************************************
    #124153 quote
    robertogozzi
    Moderator
    Master

    Le righe 23 e 24 calcolano la SMA3 su HA o candele giapponesi normali, basta che togli le barre di commento da una riga e le metti sull’altra per cambiare.

    Lo shift (riga 22), NON può essere negativo (solo PRT può farlo).

    Alla riga 20 stabilisci te la percentuale del corpo per essere considerata DOJI.

    Il trailing stop è quello di Nicolas.

    #124155 quote
    P@oLo
    Participant
    Junior

    GRANDE ROBERTO! GRAZIE

    Provo e ti so dire.

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

Heikin ashi


ProOrder: Trading Automatico & Backtesting

New Reply
Author
author-avatar
criscolci @criscolci Participant
Summary

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

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