EURUSD volatility breakout strategy

EURUSD volatility breakout strategy

Hi everyone.

I came up with this relatively simple strategy that gives nice results on EUR/USD and DAX on a 1 hour and 30 min timeframes.

The idea behind is the following:

I define the quantity of averagerange that represent the average of the last 3 days high/low range on price.

  • I take a long position if the 1 period ATR crosses above the averagerange  with a corresponding bull candle (volatility break on the upside)
  • I take a short position if the 1 period ATR crosses above the averagerange with a corresponding bear candle (volatility break on the downside)

Walk forward results are attached





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?

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

  1. ALE • 06/06/2017 #

    Thanks Francesco, another good idea!

    • Francesco78 • 06/06/2017 #

      thank you Ale! Im starting to test it on other currency pairs and commodities and the results are quite promising. Ill open a thread once I have something concrete.

  2. ALE • 06/06/2017 #


  3. 897148 • 06/06/2017 #

     I have imported Francesco’s EUR/USD breakout system but unfortunately does not seem to work.
    I just copied and pasted into PRT but get  gains of $0.10 per winning trade and losses of $56.59 per losing trade ( 59.72% winning trades. This on 1hr chart over 20 months from 06 Oct 2015 to 13 June 2017. Overall loss of $1636.7

  4. Francesco78 • 06/06/2017 #

    I think it has to do with how EURUSD is quoted. if you see EURUSD = 11218 then it should work. If you see EURUSD = 112.18 then you need to account for this difference in the definition of the profits taking level
    So you need to change the code in the follwing way
    line 35 
    ///exit conditions
    set target pprofit pr*100

  5. 897148 • 06/06/2017 #

    Thanks Francesco. Tried *100 ( no change) and *10000 ( improvement but still woeful).

  6. 897148 • 06/06/2017 #

    Francesco apologies. I had spread set for a South African Index system and hadn’t changed it.
    Seems OK now . Regards

  7. Francesco78 • 06/06/2017 #


  8. PrinceMyshkin • 06/06/2017 #

    Hi Francesco, thanks for the interesting code.
    I am trying to learn to code and to improve my understanding of indicators. So, I have been trying to dissect other people’s codes. I’m still new so please forgive me if my comments are irrelevant!
    I was interested that you chose a 3 day (72hr) period for your ATR calc. Was there a theoretical reason for this?
    I have played around with the period and was interested by the results. Basically, efficiency improves (a bit) as the period increases (up to a point). Initially I was intrigued by this, but then after I thought about it I realised that I had probably just discovered that ATR doesn’t change much for EURUSD? Maybe I was effectively over optimising ATR. I suspect that the fact that your system works with a variety of ATR periods is a sign of robustness.
    p = 480 Gain 17.94%, Number of trades: 136, winning 58.82%, gain:loss 1.69, time in market 3.84%
    p= 600 G 20.15%, N o t: 137, winning 60.58%, g:l 1.82, t i m 3.88%
    p= 1200 G 22.95%, N o t: 130, winning 61.54%, g:l 1.99, t i m 3.66%
    p=2400 G 24.33%, N o t: 132, winning 59.85%, g:l 2.03, t i m 3.75%
    Also shorter p=14: G 24.95%, n o t: 248, winning 53.23%, g:l 1.67, t i m 6.51%
    Kind Regards

  9. Francesco78 • 06/06/2017 #

    hello Prince Myshkin. Thank you for the time you spent on my code. Im currently travelling, will reply to your question next week.

  10. PrinceMyshkin • 06/06/2017 #

    Enjoy your travels!

  11. Francesco78 • 06/06/2017 #

    Hi Prince Myshkin
    I was interested that you chose a 3 day (72hr) period for your ATR calc. Was there a theoretical reason for this?
    No, the 72hrs just represent a sort of average of the price range over the last 3 days. I did not optimize this variable as you can see from the code, it was just something I wanted to have a reference point.  The fact that the performance of the algo stay positive by changing the period is an encouraging fact, thanks for pointing that out.

  12. CKW • 06/06/2017 #

    Thanks Francesco for sharing.
    Equity curve in overall looks great and testing it on demo :). I observed some positions are in continuous losses e.g. Apr – Mid July 2017. I have tried optimized parameters but my case won’t improve the situation. Perhaps more filter may be required…

  13. Francesco78 • 06/06/2017 #

    Hi CKW thanks for your comment and for spending time on the steategies. The framework is very general and works on several assets. I think the best think is to employ many of this strategies to achieve diversification rather than trying to obtein the perfect equity curve on 1 single strategies. that being said any ideas will be mostly welcome! have a great day

  14. poonsl2828 • 06/06/2017 #

    Hi! Francesco

    I have test it on GBP/USD but it only have a trade on 9 Jun which i backtested it to current date of 2 Sep. How do i enable yr strategy to generate more trade.

  15. ullle73 • 290 days ago #

    why not use 1h chart? has 95% hitrate

  16. ullle73 • 290 days ago #

    i see most of positions are only 1 pip before exit?

Register or


avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
Matriciel Well done Vonasi ! You have a lot of ideas. Personally, I work with Moving Averages only. ...
Bard Very interesting approach Vonasi! I'm getting a 404 error when trying to download though?
Vonasi I just tested and I was able to download with no error.
luxrun Vonasi, is it possible to have a screenshot of an index chart (eg djia) and below the breako...
Vonasi I can't add any images here now that the library post has been listed. Perhaps you could sta...
Vonasi Thanks for the compliments Maxime Baudin.
JJ Tec Muy interesante ¡¡¡... gracias X el aporte.
HStrader Thank you for your nice indicator
Matriciel Decidedly, it really does not work copy / paste! :(
Jan Wind It will help if you open a new Discussion Topic on the forum, not sure how to do it exactly ...
josef1604 Keep giving error. Can you hang the code with the * .itf file? Thank you
Bard Hi Nicolas, thanks a lot for coding this interesting looking indicator. I read: https://...
Bard I've also just noticed that changing the "Bands Deviation" setting from 1.25 to eg 3 doesn't...
Vonasi Change line 76 to if opendayofweek opendayofweek[1] and opendayofweek 0 then if ...
Vonasi I just noticed that the above post makes no sense as the symbols have been removed. Here in ...
dario ti Thank you!
Razz Hello Vonasi super indicator! is it possible to extend the indicator by the time scales M10 ...
Razz Hello Vonasi I found out myself how I can change it. Thanks again for the indicator
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,...
9 months ago
juanj I have actually completely redesigned this indicator with loads of improvements, so will res...
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...
juanj DId some tests using MACD validations on higher timeframes using MTF functionality and unfor...
FREDNC Hi Francesco I tried with :
FREDNC adx[14]>adxmin and adx[14] > adxr[14] and adx[14]>adxmin and adx[14] DIminus[3](clo...
Maik2404 es sind leider nur long Positionen und keine Short zu erkennen.
Maik2404 Vytautas: es bleibt aber nur bei long Auslösungen
ullle73 this one is not a winner, have backtested it on almost all pairs, does not have an edge
Bard Thanks for this great addition. How would you "finish the syntax" if you were to use an ALMA...
Bard Problems with Safari latest s/ware and this site and links and adding code. Let me add the...
jissey Bonjour Bolsatrilera,j'essaie de vous contacter pour le cm rsi ;je le trouve interessant, m...
jissey J'essaie de vous contacter pour l'indicateur"cm rsi"....
eugenio buongiorno paolo , volevo farti i complimenti x il lavoro fatto , funziona molto bene sul 3 ...
Modes68 muy buena estrategia, gracias por compartirla thank yoy for your estrategy, I like me
xpiga Good morning! How do we adjust the code to the different timeframes? You said something ab...
Tradingrob Hi Nicolas, when i upload this indicator in my list and use it as indicator. I get a totally...
Nicolas Apply it on the price chart. The indicator plot just one single line. There are two in the...
jamesoc Hi Nicolas, do you happen to know if there is an indicator that can be applied to charts, to...