Heikin ashi
Forums › ProRealTime forum Italiano › Supporto ProOrder › Heikin ashi
- This topic has 20 replies, 3 voices, and was last updated 4 years ago by robertogozzi.
-
-
01/21/2020 at 11:33 PM #117473
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.
01/22/2020 at 12:04 AM #117475Intanto occorre definire le candele HA.
Questo è il codice da mettere all’inizio di una strategia, indicatore o screener che sia:
definizione candele Heikin-Ashi123456789// HA - definizione Heikin-Ashi//once xOpen = openxClose = (open+close+high+low)/4if barindex > 0 thenxOpen = (xOpen+xClose[1])/2endif//xLow = min(low,min(xClose,xOpen))//xHigh = max(high,max(xClose,xOpen))Dopodiché va creata la strategia, eccola:
1234567891011121314151617181920Defparam CumulateOrders = false// HA - definizione Heikin-Ashi//once xOpen = openxClose = (open+close+high+low)/4if barindex > 0 thenxOpen = (xOpen+xClose[1])/2endif//xLow = min(low,min(xClose,xOpen))//xHigh = max(high,max(xClose,xOpen))Rialzo = xClose > xOpenRibasso = xClose < xOpenIf Rialzo and Rialzo[1] and Ribasso[2] and not OnMarket thenBuy 1 contract at MarketEndifIf Ribasso and Ribasso[1] and Rialzo[2] and not OnMarket thenSellshort 1 contract at MarketEndifSet Target pProfit 60Set Stop pLoss 30attende che ci sia un cambio di colore, confermato da un’ulteriore successiva candela.
Non l’ho provata.
01/22/2020 at 7:04 AM #11748003/30/2020 at 4:58 PM #12398703/30/2020 at 11:02 PM #124009Eccolo:
1234567891011121314151617181920Defparam CumulateOrders = false// HA - definizione Heikin-Ashi//once xOpen = openxClose = (open+close+high+low)/4if barindex > 0 thenxOpen = (xOpen+xClose[1])/2endifxLow = min(low,min(xClose,xOpen))xHigh = max(high,max(xClose,xOpen))LongCond = xClose > xOpen AND xLow = xOpenRibasso = xClose < xOpen AND xHigh = xOpenIf LongCond and not OnMarket thenBuy 1 contract at MarketEndifIf ShortCond and not OnMarket thenSellshort 1 contract at MarketEndifSet Target pProfit 60Set Stop pLoss 3003/31/2020 at 11:29 AM #124056Grazie 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:
- quando su candela verde si verifica ombra sotto maggiore del corpo OPPURE
- massimo più basso del precedente OPPURE
- candela doji OPPURE
- chiusura sotto la ema OPPURE
- cambio colore
Ingresso short: Candela rossa con tutto il corpo sotto la media con apertura = massimo
USCITA SHORT:
- quando su candela rossa si verifica ombra sopra maggiore del corpo OPPURE
- minimo più alto del precedente OPPURE
- candela doji OPPURE
- chiusura sopra la ema OPPURE
- 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!
03/31/2020 at 5:58 PM #124128Cosa intendi per spostata di 3?
03/31/2020 at 6:16 PM #12414203/31/2020 at 6:18 PM #124144Inoltre, la media va calcolata sulla chiusura delle normali candele giapponesi o su quella delle candele HA ?
03/31/2020 at 6:21 PM #12414503/31/2020 at 6:27 PM #124148Manca la foto.
03/31/2020 at 6:35 PM #12415003/31/2020 at 6:45 PM #124152Ecco:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697Defparam CumulateOrders = false// HA - definizione Heikin-Ashi//once xOpen = openxClose = (open+close+high+low)/4if barindex > 0 thenxOpen = (xOpen+xClose[1])/2endifxLow = min(low,min(xClose,xOpen))xHigh = max(high,max(xClose,xOpen))xRange = xHigh - xLow//Rialzo = xClose > xopenRibasso = xClose < xOpenPiatta = Rialzo AND xLow = xOpenRibasso = Ribasso AND xHigh = xOpenCorpo = abs(xOpen - xClose)OmbraSU = xHigh - max(xOpen,xClose)OmbraGIU = min(xOpen,Xclose) - xLowDoji = 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 LONGLongCond = Rialzo AND Piatta AND xOpen > Sma3If LongCond and not OnMarket thenBuy 1 contract at MarketEndif// uscita LONGL1 = Rialzo AND OmbraGIU > CorpoL2 = xHigh < xHigh[1]L3 = DojiL4 = xClose < Sma3L5 = Ribasso AND Rialzo[1]ExitL = L1 or L2 or L3 or L4 or L5IF ExitL AND LongOnMarket THENSELL AT MARKETENDIF//entrata SHORTShortCond = Ribasso AND Piatta AND xOpen < Sma3If ShortCond and not OnMarket thenSellshort 1 contract at MarketEndif// uscita SHORTS1 = Ribasso AND OmbraSU > CorpoS2 = xLow > xLow[1]S3 = DojiS4 = xClose > Sma3S5 = Rialzo AND Ribasso[1]ExitS = S1 or S2 or S3 or S4 or S5IF ExitS AND ShortOnMarket THENEXITSHORT AT MARKETENDIF//Set Target pProfit 100Set Stop pLoss 50//************************************************************************//trailing stop functiontrailingstart = 10 //trailing will start @trailinstart points profittrailingstep = 5 //trailing step to move the "stoploss"//reset the stoploss valueIF NOT ONMARKET THENnewSL=0ENDIF//manage long positionsIF LONGONMARKET THEN//first move (breakeven)IF newSL=0 AND close-tradeprice(1)>=trailingstart*pipsize THENnewSL = tradeprice(1)+trailingstep*pipsizeENDIF//next movesIF newSL>0 AND close-newSL>=trailingstep*pipsize THENnewSL = newSL+trailingstep*pipsizeENDIFENDIF//manage short positionsIF SHORTONMARKET THEN//first move (breakeven)IF newSL=0 AND tradeprice(1)-close>=trailingstart*pipsize THENnewSL = tradeprice(1)-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//************************************************************************03/31/2020 at 6:48 PM #124153Le 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.
03/31/2020 at 6:53 PM #124155 -
AuthorPosts