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
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...
Nicolas Line 10: Volume of current candlestick must be at least 1.5 higher than the previous one and...
bibifricotin Bonjour Nicolas je viens d'essayer ce screener mais j'obtiens des résultats curieux .Aujourd...
Nicolas Décalage si compte gratuit fin de journée ?
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...
Doctrading Hello, As I said, I didn't use spread for the screenshot as I don't trade Gold and I don't ...
smurfy Hi, I had been losing on gold and after I manually go through the 5min chart using IG and w...
eiffel Hi Smurfy, hope you are still there... I would like to help you to write and test the code.
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...
GraHal Ooops got that excited I sent that last one twice! ha (and can't delete it, sorry) I got it...
Eric n = 3  dont forget to allow 3 contract in proorder
UkCoopDownUnder Tried EURUSD GMT and GMT -1, as far back as I can go, Nov 2018 on 15mn Tf, 22% loss
hvluthy@sunrise.ch I'm very interested to try out your strategy, but as a bloody newbie I need some help regard...
Scalp Hola Adolfo, tengo una variante de tu estrategia, pero no se programar, me puedes ayudar al ...
ALZ Hi, I tested this strategy and that doesn't work.. strategy is losing.. Does anyone curr...
Doctrading Hello, Someone asked me something (his results seemed to be different) on my email, but it ...
Glen Marquis Not your best..So what is your best strategy? :)
Adolfo Onrubia Ups! Sorry. Variable "S" is to set an specific Spread if needed. Could be "0", or the distan...
GraHal Hi Adolfo, big thank you for your code, but I am a bit confused. Spread is the difference b...
Meta Signals Pro Hi, For me there is a mistake here L32 maxriesgo = round(equity*riesgo) => round(equ...
Dave Hi, I'm new to coding and have been trying to modify the code a little to backtest an idea I...
Nicolas Better use the forums for coding assistance please. You'll get more results there for sure.
Dave Apologies - only just learning the site layout. Maybe you could delete the post?
Nicolas You can try this code for buy and hold curve line: capital = 10000 mylot = 2 i1 = capi...
soukenson Bonjour Nicolas, Je ne comprends pas où ajouter le code que tu as a donné dans le code initi...
Nicolas Tu veux parler du code pour comparer avec le "buy and hold" ? Si oui, tu as tout ce qu'il fa...
Nicolas FR/Bonjour Steftonio, non pas de frais overnight calculé sur la durée du backtest, c'est une...
avatar
Anonymous Any reason why in 2016 this system is doing very bad respect the previous years?
Nicolas "very bad" is relative to the account equity. I do not forward test this strategy since I po...
EAxelsson Hi, shouldn´t it be or instead of and? if FiftyTwoWeekHigh = FiftyTwoWeekHigh[1] OR FiftyTwo...
qigley Line 4 has a redundant term "Close>EMA2." is not necessary as EMA2 will always be less t...
Mike.44 Thanks It a good job !
Wisko But the BUY-trigger is below the High of the first two 15min-candels?
Nicolas That's right, because what we want is to enter the market quickly and not wait for the next ...
Wisko Then I don't understand the backtest data. Yesterday (28.9.) range was from ~ 4410,5 - 4450,...

Top