DOW Breakout 15Min

DOW Breakout 15Min

Firstly, a big thank you to Nicolas for this great site and for originally introducing us to the CAC Breakout using the same code here.

I set about testing this strategy on other markets due to the fact you can backtest 8 years of data with 200,000 units on the 15Min time-frame. The other massive plus is no fake profits and only 9, 0 bars in 1700 trades! 🙂

The DOW is slightly different to the CAC and DAX breakout. It did not like the first 30 min range but prefers the first hour range BUT we exclude the first 15min candle as you can see from the modifications to the code.

In this version I am using a fixed position size but you can activate the re-invest system if you are happy with that. It makes for an interesting ride!

I stuck to the rules of not over optimising/curve fitting by using an IN/OUT sample as documented here. This ran from Jun 2009 – May 2014.

The results above are £1 Per Point, £1000 Start and 1.8 Spread.

I am live trading this with real money with minimum stakes to test.

All times in the code are UK so please adjust to your timezone.

I have some more of these ported to other markets but need to spend a little more time getting them right before posting in the library. Expect them soon.

I have not had enough time to test different time frames. Maybe I will try that next if time allows.

Good luck and enjoy your trading.

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. Yannick • 09/06/2016 #

    Hi Cosmic
    Thanks for sharing.
    I have think that you have put this line in comment
    Did you try different values or ratio of target profit e.g x 1 or x 2 max amplitude ?
    What were the results?
    //SET TARGET PPROFIT //70 //160
     

  2. Cosmic1 • 09/06/2016 #

    @GraHal Cheers, I think it will make a nice edition to an algo portfolio 🙂
    @Yannick I did add the set target profit line to see if it made a big difference. It does improve things slightly but I decided against it in the end in case of big breakout days being cut short. Feel free to uncomment and have a play. It may suit you?

  3. traderollie • 09/06/2016 #

     thanks for this, back tested it today looks good. 1 question, if i want to use £3 point which do i change?

  4. Cosmic1 • 09/06/2016 #

     PositionSize = 3

  5. traderollie • 09/06/2016 #

    Thank you, I thought it was, also whats the stop distance on the code? is it 9?
    Thank you

  6. ALEALE • 09/06/2016 #

    HELLO I CAN SUGGEST THE FOLLOWING CHANGES TO INCREASE PROFIT AND LOWER DRAWDOWNStartHour = 153500if time = 153000 then..UK TIMEZONETHANKS
     

  7. ALEALE • 09/06/2016 #

    ANDCONSIDERING TO WORK WITH A MAXIMUM OF 20 % DRAWDOWN THE RESULT IS BETTER HAS WITH A PROFIT TARGET 40

  8. Cosmic1 • 09/06/2016 #

    @traderollie The stop distance is initially the MaxAmplitude (160)  Say the first order is triggered long but then the market heads down, the short order would trigger and cancel the long. The stop distance then becomes the daily MaxAmplitude. So you see that it is very rare to take a 160 loss. It only happened twice in 1700 trades. If you check the closed positions list in PRT you will see what I mean. The average loss is 33 points with the above code.
    @ Aleale Setting a 40 point limit creates a lot more 0 and 1 bars which is not good for PRT as it does not look inside bars and it also decreases overall profit. Let your winners run! Changing those times makes less profit and creates a horrible equity curve…

  9. Cosmic1 • 09/06/2016 #

    It was disappointing that this strategy did not capture Friday’s big move down. It fell outside spec and so left it no chance to get on board. Messing with this code to accommodate these days does not seem like the right approach so I am working on a separate breakout code to take care of these days at the moment.

  10. traderollie • 09/06/2016 #

    Thanks cosmic, I find it really useful to understand how you’ve set this up. Shame it didn’t catch the drop on Friday but after back testing it preforms very well.

  11. Daniel da Costa • 09/06/2016 #

    Hi Cosmic! I inserted the code and ran back test but its not picking up any trades, am i missing something? I’m trading in South Africa.

  12. Cosmic1 • 09/06/2016 #

    Hi Daniel, I think you an hour ahead of us? If so, change all times.
    DEFPARAM FlatAfter = 213000
    LimitHour = 210000
    StartHour = 161500
    if time = 154500 then

     

    • JakeDB • 09/06/2016 #

      Hi Cosmic1,
      Thanks alot for this & sorry for being a pest, I am in Melbourne, Australia & thought i had my time conversions down pat, however i cannot get the code to produce positive results which makes me think i have my time conversion up the shit.  NY is 15 hours behind Melbourne/Sydney, I am extremely green with coding so am i entering my time here which converts to the Dow opening time.
      Sorry to be asking such a simple question.
      Regards,  
       

  13. Daniel da Costa • 09/06/2016 #

    Hi Cosmic1! Thanks for the reply, i tried changing the times but no luck. The US opens at 15h30 locally.

  14. Cosmic1 • 09/06/2016 #

    That’s a strange one Daniel. You may need to call IG/PRT unless @Nicolas has an idea?

  15. ALEALE • 09/06/2016 #

    Hello
    why did not you use this setting , you would have problems ?
    MaxAmplitude = 100MinAmplitude = 20OrderDistance = 4PourcentageMin = 20Thanks For your strategy
     

  16. ALEALE • 09/06/2016 #

    the strategy with this setting may have problems ?
     

  17. Cosmic1 • 09/06/2016 #

    Hi Aleale, I’m not quite sure what you are asking or mean but I will take a guess 🙂 The backtest optimisation was performed with an IN/OUT sample as described so running the backtest optimisation again with the whole data will give different results. I’m am running this live with the code above. If you think there is too much risk then of course feel free to adjust to suit your needs. I have confidence in the strategy with the variables above.  Would recommend £5000 in your account to run this live. Hope that helps.

  18. ALEALE • 09/06/2016 #

    I love Lower the drawdown in the strategies

  19. John G • 09/06/2016 #

     Hi cosmic1,
         I’ve really enjoyed getting to grips with your code.  Hows has it been with live trading.  Are your results similar to your backtest.  As there is so much to it if you have time and willing ! ,  could you run through the parameters of the code to us mere mortals……..  You ve made some fantastic coding and i just want to make sure I fully understand it.
         Thanks,
       John
     

  20. Cosmic1 • 09/06/2016 #

    Hi John. Thanks for the comments. The original work was done by Nicolas. This is just a port. I recommend reading these two posts as they explain everything very well.
    http://www.prorealcode.com/prorealtime-trading-strategies/breakout-proorder-french-cac40/
    http://www.prorealcode.com/blog/automated-breakout-trading-strategy-french-cac40/
    I have been running CAC, DAX and DOW for the last 3 weeks and am up around +100 points. So far so good. I will be leaving them on for the next few months to see how they go. They appear to perform the same live as the backtest, as was expected.

  21. mikino • 09/06/2016 #

    googletranslator : than inport for MT4 ? thank

  22. Vish • 09/06/2016 #

    Hi cosmic…. thanks a lot for great strategy. I backtestested this for few days now and went live last night. It doesn’t seem to pick any live trades this morning till 11 AM. I am not even sure if this strategy is working at the back end. I am on IG. How do I validate that it is scanning the market and looking for breakout ? Should I just wait and watch ? Hope it can pick trades up anytime before 1615 on daily basis. Response will be very much appreciated. Thanks…

  23. Vish • 09/06/2016 #

    Sorry My comments above are meant for DAX breakout strategy

  24. James • 09/06/2016 #

    hi Cosmic1,  I’m a newbie here, on IG so I can only backtest 10,000 units to May this year, which shows a 50% win/loss ratio and 82% overall gain in that period. Is that what you’d expect on this shorter timefame for backtest ?

  25. Cosmic1 • 09/06/2016 #

    Sorry wrong pic, DOW…

  26. GAMMA • 09/06/2016 #

    can we used it for other usa index

  27. Cosmic1 • 09/06/2016 #

    Sure, you will need to optimise these variables:
    MaxAmplitude = 160
    MinAmplitude = 20
    OrderDistance = 4
    PourcentageMin = 35
    And possibly the start times and the amount of candles to look at the range.
    Use an IN/OUT sample as suggested in the blog to avoid curve fitting as my description describes.

  28. GAMMA • 09/06/2016 #

    thank you, I have 2 breakout book in pdf   1.the logical trader by fisher mark b 2.range breakout by toby crabel

  29. GAMMA • 09/06/2016 #

    I AM NEWBE SO I  ASKED THIS QUESTION , CODING IS DONE C++?

  30. Cosmic1 • 09/06/2016 #

    From Wikipedia: 
    The ProRealTime software embeds a programming language named ProBuilder derived from the language BASIC. It allows the creation of customs indicators, strategies and market scans. It is also used in the ProBacktest, ProScreener and ProOrder modules of ProRealTime.

    • GAMMA • 09/06/2016 #

      thank you

    • GAMMA • 09/06/2016 #

      how I can change to C## I used ninja trader all the prog have to me in C##
      thank you in advance

  31. GAMMA • 09/06/2016 #

    thank you for detail I open the ac now and used it very soon

  32. GAMMA • 09/06/2016 #

    I try to run in prorealtime and it do not give any  profit and loss, I change the time in computer to uk time, may be I am missing some thing
    need you advise

  33. Cosmic1 • 09/06/2016 #

    You need to change the time in the code rather than your computer. What timezone are you in?

  34. GAMMA • 09/06/2016 #

    usa /new york

  35. Cosmic1 • 09/06/2016 #

    DEFPARAM FlatAfter = 153000
    LimitHour = 150000
    StartHour = 101500
    if time = 094500 then
    I think that is correct. Test and let me know.

    • GAMMA • 09/06/2016 #

      THANK YOU , I WILL FIX IT AND RUN THE TEST ,I WILL KEEP POSTED

  36. Yngve • 09/06/2016 #

    Hi
    can someone explan to me what these variables mean
     
    MaxAmplitude =
    MinAmplitude =
    OrderDistance =
    PourcentageMin =or direct me to a later conversatin on this site where it is explaned?In advance, thank you/Yngve

  37. Cosmic1 • 09/06/2016 #

    Hi Yngve,
    Amplitude relates to the range of the price action for the given times stipulated. 45mins in this case. You could relabel these to MinRange and MaxRange.
    Orderdistance is the amount of points before the breakout level that the order will be set.
    PourcentageMin (should be spelt PercentageMin) is the minimum % of the range that the price has to retrace to validate the breakout. Hope that helps?

  38. GAMMA • 09/06/2016 #

    I try as per your advise and change the time to usa time still no luck, may be I am doing some thing wrong? please advise ?

  39. Cosmic1 • 09/06/2016 #

    Post the code you are using, will try and figure it out. What broker?

  40. sammut • 09/06/2016 #

    Hey Cosmic, 
    Do you typically add a daylight savings adjustment in your code when running back tests over multiple years of data? I’m not sure if I’m the only one who does this however I hope I’m not missing out on a simpler way 🙂

  41. Cosmic1 • 09/06/2016 #

    Hey Sammut,
    I have never done this but I thought about it before but didn’t do anything about it! I just adjust manually at those times of the year that we mismatch with the US. It does of course affect the backtest slightly.
    How do you achieve it in your code? I would like to update the blackest to take account of this.
    @Nicolas, any insight in to this?

  42. sammut • 09/06/2016 #

    I have attached my version of your DOW breakout strategy. Main bits for DLS adjustments are as follows:
    IF ((Month = 3 and Day > 7) and (Month = 3 and Day < 15)) or ((Month = 11 and Day >= 1) and (Month = 11 and Day < 8)) THEN
    //Period over which Daylight savings takes place, no trading during this time
    TradingDay = 0
    DLS = 0
    elsif (Month = 3 and Day >= 15) or ((Month > 3) and (Month < 11)) THEN
    //DLS applies as New York is forward an hour during this period
    // New York time is (GMT - 4)
    DLS = -10000
    else
    // No DLS
    // New York time is (GMT - 5)
    DLS = 0
    endif

    LimitHour = 204500 + DLS
    I also use different variables in my code, probably as I do not have PRT professional yet and have limited data to test on 🙁
    Thanks for posting your code Cosmic, it has been the first algo I have traded live with!

  43. Cosmic1 • 09/06/2016 #

    Looks like a good bit of code. I will take a look later. I’d really like to get this algo back on and running but over the last 10 months or so it has been flat and choppy. Same story with the DAX. I stopped it a few months ago now and have looked since but can’t find a set of variables or equity curve that I’m happy with. What variables are you running?

  44. sammut • 09/06/2016 #

    Hey Cosmic, I am just in the process of re-evaluating my variables due to, as you say, some recent choppy rides. The parameters I optimise are below:

    MinAmplitude
    OrderDistance
    PourcentageMin
    StartHourStep
    RangeExtendStep

    I dont change MaxAmplitude as I want to fix my maximum risk at this stage. I optimise additional variables StartHourStep and RangeExtendStep.I am just realising that I am not able to attach my code in this post for some reason. If you send over your email I can forward my code (.itf files) for you to check out and discuss

  45. Cosmic1 • 09/06/2016 #

    Lets discuss here: https://www.prorealcode.com/topic/cac-breakout-ported-to-other-markets/

  46. rejo007 • 09/06/2016 #

    hello,
    anybody use thi strategy for a long time?
    thanks

  47. abacus23 • 09/06/2016 #

    Hi, I have been trading this strategy and it seems to work quite well recently.

    Is there anyway to insert a piece of code, to only trade, accordingly to yesterday price action. I.e: if yesterday was up, only longs and if yesterday was down, only shorts?

    I did insert a piece of code, but it can’t backtest it, because there is only ever one 2100 line.

    Sorry, the ADD code did not work.

    defparam drawonlastbaronly=true

    if time=210000 then
    value=close
    endif

    drawhline(value)

    return

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar

+4 more likes

Related users ' posts
jacquesgermain sì da aggiungere
Maik2404 auf welchen Wert muss ich die Kompresionsperiode stellen?
jacquesgermain — Période de compression : ce paramètre détermine la période de rétrospection utilisée pour ...
philippe59139 Bravo super travail
Roland57800 Bonjour Noobywan, si je comprends bien l'utilisation de ce code que je trouve particulièr...
Noobywan Bonjour, quand la question a été posée dans le forum à celui qui avait fait la requête en am...
Fabian This Code draws only a retangle if the condition has been confirmed and NOT before (in that ...
Manu L. Bonjour Nicolas, j'ai créé un screener avec l'aide à la prog en TF weekly mais je voudrai...
wtangsiri C'est exactement le même signal que donne le croisement et le décroisement de deux EMA (7 et...
PHAN100 bonjour, j'ai un bug sur le programme recopié prorealtime me dit qu'il y a un problème à ...
PHAN100 bonjour, bravo à l'auteur pour cet indicateur visuel sur le graphique, il nous reste à va...
yeoreum Thank you very much for the screener, it reminds me on Minervini VCP. How to change th...
reecet any codes like this but in minutes and hours rather than days?
PHAN100 bonjour, je viens de tester ce screener, je constate une anomalie...il ne renvoie pas l'e...
Oxxoz Re bonjour Vivien, Il me smeble que 3 mois, c'est 60 séances. Cordialement,
Vinks_o_7 thanks ...and It can be used on a monthly and weekly basis by changing just the duration in ...
nicko Many Thanks Viv. It looks good
Nokis Bonjour Vivien, Comment je peux faire pour adapter ton code afin: De cibler les sociétés q...
sam00075 I tried it today and it gave great results. So a big Thanks !
Bard Hi @Vonasi, this is an excellent tool! I noticed you times by 180 and was wondering why? W...
Bard I have no idea what is wrong with the posting on this website. I have problems editing posts...
Bard And now my first post displays okay? It literally had copies of my orig post all added toget...
carpentier Joffrey Bonjour à tous, Avant tout merci pour ce travail, cependant je suis bloqué quand je l'insta...
carpentier Joffrey Re, C'est ok, j'ai trouvé mon erreur... Cependant sur quel base peut on calculer son CALC...
Aragorna Hi Nicolas, How is it possible to use it in a higher timeframe plotted on a lower timeframe?...
Vinks_o_7 Thanks again Vonasi !
Bard Thank you, this is a great tool @Vonasi, especially for those that used to like shorting Ind...
Aragorna Hi Vonasi, is there a reason why it does not work anymore in new version ePRT Platform? tha...
sycomore Ça ne fonctionne sur aucune valeur, je dois être trop con...
Nicolas il faut appliquer l'indicateur sur le prix.
AntoGH Je crains de ne pas comprendre... Cela indique la probabilité de la prochaine bougie ou donn...
Vonasi Yes that was the issue. I have posted an updated ITF file here: https://www.prorealcode.com/...
crolakstrading @vonasi Thank you for fixing the issue! This is a great indicator.
gregoire good evening vonasi , I had made the request to create this indicator a few years ago and I ...
tobytarczy Hi Vonasi, Sounds lovely, I race yachts around europe myself. Most regattas cancelled unfor...
mlouys Hello Vonasi thank for your work ! A question how can we do it for minutes ( or 15 min or x ...
Vonasi I think that would be possible but probably in a whole new indicator as detecting when a new...
sir_i Bonjour à tous, Je suis nouveau sur le forum et sur la plateforme, pourriez-vous me dire com...
Nicolas Il faut simplement l'appliquer sur le prix.
sir_i Merci pour la réponse, je ne suis pas familier avec l'application de cette procédure simple,...
Vonasi There is another version of this indicator that can plot the same lines but onto an indicato...
Martin35 Hello Vonasi, do you think it is possible with PRT to code with the same principle as on thi...

Top