Heikin Ashi during trend

Heikin Ashi during trend

Hello,

This is one of my first strategies. It is a simple strategy with Heikin Ashi as a trigger during trends. It buys according to Heikin Ashi but only during uptrend set by EMA 25, 50 and 270. It sells acoording to HEikin ashi but only during trends (same EMA).

My question is of course if anyone have any improvement tips, but also my concenr for curve fitting and lack of robustness. I have tried to not make to many adjustments and I did my settings on about 28 months IS and then added another 7 months as OOS. The strategy works on DAX H1 and I didnt find any other markjet that worked well. I had the spread set to 2 for this backtest.

Please let me know your thoughts.

(please download the attached file to get all necessary codes).

Share this

Risk disclosure:

No information on this site is investment advice or a solicitation to buy or sell any financial instrument. Past performance is not indicative of future results. Trading may expose you to risk of loss greater than your deposits and is only suitable for experienced investors who have sufficient financial means to bear such risk.

ProRealTime ITF files and other attachments : How to import ITF files into ProRealTime platform?

PRC is also on YouTube, subscribe to our channel for exclusive content and tutorials

  1. jebus89 • 12/14/2018 #

    Guessing photo is 100k bars? Because 200K bars was not good. Also u got alot of loosing trades in a row, thats a big red flag for my part.

  2. PastaPesto • 12/14/2018 #

    jebus89, thank you for your feedback. You are correct, the backtest is made on 100K. The bad result for 200K and the fact that I couldnt find other markets for this is not promising. You also mentioned the loss in a row. I guess yoy see this together with the other facts from the backtest? Loss in arow alone shouldnt be a fact to reject a strategy. It depends on the relation between SL and TP as well as the end result, or what do you think?

  3. jebus89 • 12/14/2018 #

    The more loss in a row you have, the more big winners u need in the future. With a belo 50% winrate, ur gonna need some big winners to save u from loosing 15 trades in a row.. That means ur backtest might be very dependant on a few big winners to make up for all the loss. Increasing the risk of datamining and curvefitting. Also alot of trades lost in a row is going to be very hard to actually trade. Imagine going 9 trades loosing in a row on the same strategy its going to feel like bleeding out, and its gonna leave u praying for a winner to come. what if it dosnt come for another 12 months.. Many loss in a row, frequently haves me thinking ur entry isnt so good.

    It dosnt mean 100% sure the strategy is bad, it just at least for me is a few red flags that i would definitly think twice about b4 running live at least.
    Also when you find it hard to make it good in other markets, that again is indeed a red flag regarding the average trade u take.. If u get a decent backtest in other markets that means u havnt curvefitted your algo to “cherrypick” the very best trades from the other optimized market. It means u just might ahve something that pulls profit out of the chart, regardless what chart. Thats kind of the clue behind robustness. You dont want a backtest that has cherrypicked alot of good trades from the data. U want a backtest that has even profits, a good sharpe, low volatility in the equity curve, but obviously not a traight line, u want some bumps here and there because u cant always be right.

  4. PastaPesto • 12/14/2018 #

    Thank you for the feedback jebus. I totally agree on every point.

  5. Paul • 12/14/2018 #

    Thanks for posting. I took my SDO strategy, removed the main criteria and inserted your code to match. Results look good for 10 min bar but not on all 200k bars. From jan 2016 it’s good. (before that about even)
    Tested with 1 position, stoploss 1% and spread 1. From 1 jan. 2016 winratio at 73% with average gain 23 euro on 153 trades. 3 losses in a row and 15 wins. Total profit about €3500
    So maybe the basis is alright but it just needs a few extra filters to succeed.

  6. PastaPesto • 12/14/2018 #

    Thanks Paul for taking your time looking in to this. Could you please insert your code? I will let you know if I find something.

  7. Paul • 12/14/2018 #

    It has only 1 trade a day and the profit target is not used.
    Because it trades a complete day, I included an option not to enter new positions during lunchbreak, because of a higher risk. Perhaps it’s curve-fitting, but it does make sense to me. (11.30-13.30)

    //————————————————————————-
    // Main Code : Heikin Ashi trend
    //————————————————————————-

    // Common Rules
    Defparam Cumulateorders = False
    Defparam Preloadbars = 1000

    // On/off
    Extratradecriteria = 1 // I.e. Long; Only Enters When The Current Bar High Is Lower Then The Lowest Daily High From Today, Yesterday And Day Before.
    Mfetrailing = 1 // Mfe Trailing Stop
    Wtrailing = 1 // Williams 3 Bar Trailing Stop
    Breakevenstop = 1 // Breakevenstop, Move Stoploss When Position Is In Profit.
    Excludefirsttwoweeks = 1 // Exclude The First 2 Weeks Of Every Year (Weeknumber 1 And 2)
    lunchtrading = 0 // [0] no new positions during lunchtime and trades can be closed

    // Settings
    Positionsize = 1
    SL = 1.00 // % Stoploss
    PT = 140 // % Profit Target
    MFETS = 0.50 // % Mfe Trailing Stop
    BES = 0.35 // % Break Even Stop
    BESMP = 0.05 // % Break Even Stop Minimum Profit
    WTSMP = 0.50 // % Williams Trailing Stop Minimum Profit If Mfe Trailing Stop Is Not Used
    ETD = 0 // Exclude a Trade Day; Sunday = 0

    // Day & Time
    Once Entertime = 090000
    Once Lasttime = 170000
    Once Closetime = 240000 // Greater Then 23.59 Means It Continues Position Overnight
    Once Closetimefr=173000
    if lunchtrading then
    once breakstart = 240000
    once breakend = 240000
    else
    once breakstart = 113000
    once breakend = 133000
    endif

    If Excludefirsttwoweeks=1 Then
    If Year=2015 And Month=1 And (Day>=1 And Day=1 And Day=1 And Day=1 And Day=1 And Day= Entertime
    Tt2 = Time = breakstart and time <= breakend
    Tradetime = Tt1 And Tt2 and Notrading = 0 And Dayofweek ETD and not breaktime

    // Reset At Start
    If Intradaybarindex = 0 Then
    Longtradecounter = 0
    Shorttradecounter = 0
    Tradecounter = 0
    Mclong = 0
    Mcshort = 0
    Endif

    // [pc] Position Criteria
    Pclong = Countoflongshares < 1 And Longtradecounter < 1 And Tradecounter TRADEINDEX
    Pcshort = Countofshortshares < 1 And Shorttradecounter < 1 And Tradecounter TRADEINDEX

    // [mc] main criteria
    if tradetime then
    C3 = ExponentialAverage[32](close)//BLACK
    C4 = ExponentialAverage[48](close)//RED
    C5 = ExponentialAverage[192](close)//RED
    indicator1 = CALL “Heiken Ashi”
    c1 = (indicator1 = -1)
    c2 = (indicator1 = 1)

    IF c2 AND C4 > C5 AND C3 > C4 THEN
    mclong=1
    mcshort=0
    else
    mclong=0
    endif

    If c1 AND C4 < C5 AND C3 < C4 THEN
    mcshort=1
    mclong=0
    else
    mcshort=0
    ENDIF
    endif

    // [ec] Extra Criteria
    If Extratradecriteria Then
    Min1 = Min(Dhigh(0),dhigh(1))
    Min2 = Min(Dhigh(1),dhigh(2))

    Max1 = Max(Dlow(0),dlow(1))
    Max2 = Max(Dlow(1),dlow(2))

    Eclong = High Max(Max1,max2)
    else
    Eclong=1
    Ecshort=1
    Endif

    // Long & Short Entry
    If not onmarket and Tradetime Then
    If Pclong and Mclong And Eclong Then
    Buy Positionsize Contract At Market
    Longtradecounter=longtradecounter + 1
    Tradecounter=tradecounter+1
    Endif
    If Pcshort and Mcshort And Ecshort Then
    Sellshort Positionsize Contract At Market
    Shorttradecounter=shorttradecounter + 1
    Tradecounter=tradecounter+1
    Endif
    Endif

    // Break Even Stop
    If Breakevenstop Then
    If Not Onmarket Then
    Newsl=0
    Endif
    If Longonmarket And close-tradeprice(1)>=((Tradeprice/100)*BES)*pipsize Then
    Newsl = Tradeprice(1)+((Tradeprice/100)*BESMP)*pipsize
    Endif
    If Shortonmarket And Tradeprice(1)-close>=((Tradeprice/100)*BES)*pipsize Then
    Newsl = Tradeprice(1)-((Tradeprice/100)*BESMP)*pipsize
    Endif
    If Newsl>0 Then
    Sell At Newsl Stop
    Exitshort At Newsl Stop
    Endif
    Endif

    // Exit Mfe Trailing Stop
    If Mfetrailing Then
    Trailingstop = (Tradeprice/100)*MFETS
    If Not Onmarket Then
    Maxprice = 0
    Minprice = Close
    Priceexit = 0
    Endif
    If Longonmarket Then
    Maxprice = Max(Maxprice,close)
    If Maxprice-tradeprice(1)>=trailingstop*pipsize Then
    Priceexit = Maxprice-trailingstop*pipsize
    Endif
    Endif
    If Shortonmarket Then
    Minprice = Min(Minprice,close)
    If Tradeprice(1)-minprice>=trailingstop*pipsize Then
    Priceexit = Minprice+trailingstop*pipsize
    Endif
    Endif
    If Onmarket And Wtrailing=0 And Priceexit>0 Then
    Sell At Market
    Exitshort At Market
    Endif
    Endif

    // Exit Williams Trailing Stop
    If Wtrailing Then
    Count=1
    I=0
    J=i+1
    Tot=0
    While Count=low[i]) And (High[j]alto[1] Then
    Ref=basso
    Endif
    If CloseWTSMP Then
    If Low[1]>ref And High<ref Then
    Sell At Market
    Endif
    If High[1]ref Then
    Exitshort At Market
    Endif
    Endif

    If Onmarket And Mfetrailing=1 And Priceexit>0 Then
    If Highref Then
    Exitshort At Market
    Endif
    Endif
    Endif

    // Exit At Closetime
    If Onmarket Then
    If Time >= Closetime Then
    Sell At Market
    Exitshort At Market
    Endif
    Endif

    // Exit At Closetime Friday
    If Onmarket Then
    If (Currentdayofweek=5 And Time>=closetimefr) Then
    Sell At Market
    Exitshort At Market
    Endif
    Endif

    // Build-in Exit
    Set Stop %loss SL
    Set Target %profit PT

    //graph 0 Coloured(300,0,0) As “Zeroline”
    //graph (Positionperf*100)coloured(0,0,0,255) As “Positionperformance”

  8. Paul • 12/14/2018 #

    that copy&paste doesn’t look good. If you want the correct code posted, please open a topic with your strategy and I will post it there.

  9. PastaPesto • 12/14/2018 #

    Many thanks Paul! I will look at it tomorrow (Im using my phone now).

  10. PastaPesto • 12/14/2018 #

    Paul, Im sorry but where do I open a topic?

  11. Paul • 12/14/2018 #

    in ProOrder support, at the bottom

  12. Maik2404 • 12/14/2018 #

    wie kann ich den Code bekommen Paul?

  13. jens_kittner • 12/14/2018 #

    Works with US Crude at 1h as well!

  14. Jean-Claude REGIS • 12/14/2018 #

    Je préconise de regarder les graphiques H1 et M15 pour visualiser la tendance de fond et d’entrer sur le marcher au minimum sur un graph M5 ne pas oublier que c’est déjà au moins 5 mn de retard par rapport au départ de la vague qui aurait déjà pu changer de sens ce qui n’empêcherait pas une sortie positive au regard de la tendance de fond j’aime bien rentrer lorsque le prix croise une MMT (triangularAverage[9] en Heikin-Ashi (Tout ce qui est automatique n’est pas forcément et loin s’en faut le reflet d’une stratégie appliquée en manuel ) Le marché bouge de façon très aléatoire rien ni personne ni aucun indicateur ne peut prédire de façon fiable la couleur de la ou des prochaines bougies ! Le meilleur indicateur c’est vous, votre regard sur un graphique vous pouvez faire du trading très court court ou long terme sans aucun autre indicateur qu’un graphique et une seule MM Les stratégies les plus simples sont très souvent les plus profitables (ou encore trader uniquement sur le carnet d’ordre) Les débutants et même d’autres sont souvent noyés dans un nombre trop important d’indicateur et de stratégies jusqu’à ce qu’ils comprenne que le plus simple appliqué avec rigueur et le plus profitable (Comme plus de 90% des trader j’ai griller des économies avant de comprendre cela) maintenant je sais plus comment faire pour perdre (rire)

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
Wing Yes, investigate as much as you want. For more insight, you can view the linet1, linet2 etc....
CKW Hi Wing, Thanks for your sharing. I am still trying to breakdown & understand your code...
Wing Hello CKW. No, the parameter, 7 in this case, is used when calling the RSI indicator to ide...
Nacho Buenos días Raul, tengo puesto este sistema desde hace unos días en una cuenta demo en la ve...
Dominik Hola Raul ... it looks wonderful :-) Why does it not work if I use less than 100,000 € capi...
Bobbi Hola y gracias por compartir! Descubrí que en 5 minutos teníamos algo muy bueno! Pero no ...
Nicolas Je vais faire l'indicateur et expliquer comment en même temps dans un sujet de forum. Plus s...
gregus merci nicolas toute ma gratitude est pour toi sa sera bien pratique car je pense ne pas etre...
Nicolas Ok merci donc d'ouvrir un sujet spécifique pour cette demande donc :) 
algotrader This indicator looks coolBut on attempt to use it for a strategy dev'I get an error.."The in...
dajvop @algotrader if you at the bottom of the code add: RETURN Buffer1 as "up", Buffer2 as "down",...
Bateson Si cela peut servir, l'indicateur Sadukey a été créé en utilisant un générateur de filtre ap...
danhei Hi I am tryong to figure out how trist strategy works. I am new to pro real time. Can some...
Plop61 Hello,Thank you for sharing this beautiful strategy.Is it possible to indicate the code for ...
NoName Thank you very much for this fascinating trading system. It is still proving to be extremely...
ALE
8 years ago
pollon Ciao Ale,  anche a me da questo errore  "QQE_QUDAX1HBUY"  "QQE_QUDAX1HSELL"  "UNIV_QUDAX...
reb Hi Ale do you trade these QU strategies?  Are the results same as backtests Thnaks in adv...
avatar
crazytrader Hi anyone that has run this lately?
larouedegann best with this hour IF TIME =081000 THEN plushaut=highest[2](high) plusbas = lowest[2](lo...
CanAny1Trade Hi! I'm trying to put together a similar indicator but struggling. I want to mark the NY Pit...
ALE Hi Pat This code was nothing more than an experiment
pat95162 Hi Ale Do you have same results as me ? The strategy works very well in 2017 and now in 2-...
Nicolas Built on the history means that it suits the history. Always develop ideas in In-Sample peri...
ALE
9 years ago
ALE no, only with TF 15m
enzo_52 Grazie tante, Thanks so much 
JanWd Hallo Ale, First of all, thank you for this strategy. Could you explain what the BLUSTER ...
Nicolas
9 years ago
ALMA MACD
ALMA MACD
7
Indicators
Arnaud HALVICK Great indicator, thank you!
JMat45 Hi Nicolas, just reviewing this indicator and noticed that you have double assigned the vari...
Nicolas That would not make any difference because the code is read from top to bottom.
Elsborgtrading No that is wrong :) 1st runs always- then only run 2nd if 1st is on market with positions(ar...
Elsborgtrading It can only be fully automated if IG change minimum SLto 7 at night on DAX multi timefra...
Elsborgtrading A small example. the strategy would have opened 3 position on Dec 4th 2016 and keept it for ...
Cosmic1
9 years ago
Cosmic1 @JadeDB What times are you putting in?
sincitytrader I tried this one out recently,  and wasn't profitable for me.
Cosmic1 Yes, not great lately. I stopped this live at the end of last year. Will wait to see when th...
Philip Raphael Hey! Thank so much for sharing this wonderful indicator! I have always tried to code a simil...
CKW Hi Philip, What do you mean "Years" are not defined ? candle? If to code yearly candle size...
dakaodo Years not defined was probably b/c Phillip copied and pasted the code into PRT instead of im...
MikeGC I don't know if you have used the variables a and b to optimise the parameters for the Super...
gianpiero75 I have not optimized, I multiplied the parameters for 6 (5,8), to use them on the 4  hoursTF...
bertrandpinoy bonjour Mike j utilise TrendChaser V2.0 et quand il prend position cela ne programme pas le ...
zilliq The reasons why I think it's time consuming and we loose time to try to do backests and Auto...
filiprb Hello Zilliq, You don't need a system to produce a walk forward test. You can easily create...
Philip Raphael It is incredible! Thanks for sharing, Doctrading!
Reiner
9 years ago
Nicolas You should join and read the forum thread about this strategy. There are plenty of different...
Reiner Hi djtaktik and welcome, I have answered your question in the related Pathfinder forum beca...
danver34 is this version the definitive one or from the original one have there been modifications to...
Reiner
9 years ago
Nicolas Overfit on past history obviously. But it doesn't mean that it would still underperformed in...
Francesco78 Thank you for the clarifications Nicolas, I am more aware of the meaning of the backtesting ...
CanAny1Trade Hi all, could a simple indicator be made to mark the traditional Pit based ORB? I'm tryi...
eisi If i switch between different Markets, the Backgroundcolour will appear where it should not...
datageek How can I get alerts on colour change?
NAMBO40 Hello, I would like to add a 25 period SMA moving average. It's possible?
Fabio Anthony Terrenzio this strategy works only in a well defined trend
brosly Good afternoon I am trying to get the complete code of lex strategy made by adolfo since I s...
dreif123 hi Adolfo, is Alex Auto Trading Botindex working on DAX as well ? if so , can you post the...
Doctrading I forgot to write at the beginning :  a = 50 b = 50 These are intermediate levels Sorry
DerPat Thank you. This one could be an aid in my current research on stochastics.
Pelayo it is possible that in line 12 we should put seuilinf=-b, thaks for all

Top