Quadrant DAX intraday Strategy

Quadrant DAX intraday Strategy

Hey there,

I like the ProRealCode community very much – so many ideas and solved problems!

Now, this is my first post of a strategy I developed long ago, when I still worked with MetaStock. Programming in Prorealtime is much more comfortable. Im not a master-programmer but I like to share my idea here:

The idea is  that after a bearish phase the market makes it often the other way round and we can cut a little piece out of this “swing back”. But the swing back has to reach a certain level. I know this is a kind of Fibo-Trading, but I divided the downtrend with help of the donchian channel into 4 sections. The first section is the bottom, the second and the third are in the middle and the fourth is the top.

When the market crosses from the first to second section we go long. Target could be the level from second to third section. Sometimes you can risk more… This is the variable “zl” in the code.

In addition to the first signal the standard macd has to show an upwards trend.

Also I added a very, very light progression in it. I know – things like martingale always lead to a catastrophe. But I think at certain winning rate it can “help” a little bit – its a limited progression. The progression can also be sharpened or smoothed with the “ff”-variable.

The starting ordersize “os” can be adapted to your account. An ordersize of 1 makes a drawdown of 293,- Euro, what is acceptable while gaining 3400,-. For me a draw down of 1/10 of the win is very acceptable. The maximum os is 7 in this case.

Increasing the ordersize to 3 makes a dd of 1022, while gaining 10600. Maximum os is 21.

Please feel free to change, prove and test the code….

Thanks for any responses….



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. Nicolas • 02/28/2017 #

    Hi Lotar, thanks a lot for your contribution and for your feedback about our website 🙂
    I’m filtering a lot what people are posting in the Library, that’s why you’ll find sometimes their posts directly in the forums instead of here. I must admit that this time I were wondering if this one should or not be part of it. The result of the strategy isn’t so good before 2016 ( https://www.prorealcode.com/wp-content/uploads/2017/02/quadrant-strategy-results.png )  But because the strategy is interesting and well coded and commented, I decide to make it features here instead for everyone’s benefit. I think you might find people to improve your ideas in the forums too, I’m looking forward for your next post 🙂 Thanks again.

    • Lotar • 02/28/2017 #

      Hello Nicolas,
      thanks for your backtest. Unfortunately IG (at least my account) offers me only 100.000 units for backtesting 🙁
      But – generally – I think that a strategy has to be adjusted regularly to the market. So: Does it make sense to backtest so far in the past? What I did is – and I got positive results – adjust variables every month. I backtested a timeframe of 5 months. I adjust the variables (in my case the “mgr” and the “zl” and the “ff”) depending on this backtest and then make a backtest for the next month.. and so forth. I think this is called “forward”-test !? I have to notice the results on paper. Besides – If this would be sometime an automatically feature of PRT – this would be unique I think! A window in PRT that asks: How long backtest? Which variables to take over in the forward-test (for exemple only best 3 results)? How long forward-test? And than just push a button and look at the results… maybe in one of the next updates?
      Now I cant do this kind of (manually) forward-test back to 2013 because of my limited 100.000 units….

    • Nicolas • 02/28/2017 #

      A new feature for variables optimisation is already coming to IG users in a few weeks: the walk forward module. You can have a quick view here in the blog: https://www.prorealcode.com/blog/learning/strategy-optimisation-walk-analysis/
      It will help users to their optimised variables in OOS (out of sample) periods, like forward-test, but in the past. This interesting tool will be valuable to avoid overfit.

  2. Joachim Nilsson • 02/28/2017 #

    Thanks for your code. A walk forward test would be much needed with a system like this. I´m a bit concerned with your “martingale” like money managment system. How does it perform without it?

  3. Benjamin • 02/28/2017 #

    Hi all, really love the community that is going on here, I am desperately trying to improve my coding so hopefully I will be contributing soon! 
    Just a question when I am backtesting my strategies, currently I have only been able to date back to 10,000 units, however many of the strategies I have seen on here go back much further. Is there a simple way I can solve this?

    • Nicolas • 02/28/2017 #

      You should have a look at the complete list of benefits you’ll get to be a PRT CFDs premium customer : https://trading.prorealtime.com/en/brokerage/cfd-forex-trading

  4. manel • 02/28/2017 #

    Hi Benjamin – If you look at the chart window on the top there is a dropdown box which starts at 25 units all the way up to x years. If You then select (x) units a box will appear to the immediate left and then you can input the number of units in that box. If you have the Premium version of PRT you can get 200,000 units of data. If you have the standard PRT Complete version then you will have access to 100,000 units of data. Hope that helps.

  5. jonjon • 02/28/2017 #

    Hi Lotar. Thanks for the code. I have gone through it line by line and I’m having trouble understanding this section:
    if hour=8 and minute>45 then // default setting of parameters outside tradingtime
    if strategyprofit>sp then // and if equity reaches maximum again.
    I’ve been thinking about it for a few days and I don’t think I can completely understand it. I also don’t really understand the difference in the code between os and osa. Please can you explain a little more for a beginner?
    Many thanks in advance.

  6. Lotar • 02/28/2017 #

    Hi Jonjon,
    no problem!
    Every morning between 8.45 and 8.59 the system checks if the strategyprofit hits the last high.
    When you had a losing trade the os (ordersize) is increased. The system trades as long with the new ordersize (or even more – up the the set maximum) as it reaches its former high again.
    You start with 1000 Euro. First order with 1 contract (os=1). You win. Now you have 1025 E (strategyprofit=25). Next order is a losing trade -10 E. Now equity is 1015 (strategyprofit=15). The variable “sp” is the memory of the highest strategyprofit (sp=25). After a losing trade ordersize is increased to 2. (os=2). Next trade is a winner – lets say +30. Now equity is 1045 (strategyproft=45). At 8.45 (out of trading time) the system noticed: strategyprofit is bigger than sp (45>25) –> A new high of the strategyprofit. No the ordersize is set to the beginning (osa). In this case osa=1 –> os=1.  “osa” = ordersizeanfang (german: ordersize at the beginning). Also sp is set to 45 –> sp=45.   The variable start is set to 0 “zero” – that means the system is allowed to trade again. After 1 trade the “start” is set to “1” to tell the system only to make 1 trade a day.
    Hope I could help.

  7. jonjon • 02/28/2017 #

    Thanks Lotar for your time explaining this. In your example above I still don’t understand why sp = 25 and not sp = 45 (after you had the winner of +30)? Is sp calculated once per day?

  8. François Gonin • 02/28/2017 #

    Hi Lotar, vey nice ! I will try it thank you 😉

  9. François Gonin • 02/28/2017 #

    When i backtest the strategy it looks working well…
    I try with The :
    Dax  5€ 10 contract Max
    capital 10 000€
    Dax 1€ 5 contract Max
    capital 1000 €
    The question I have is How works the stop loss and the take profit ?
    Because when I backtest with a capital of 1000€ and the Dax 25€ for exemple… It crash to – 52 000€… Is that min that we can lose more than what we have ?

  10. Lotar • 02/28/2017 #

    @ Jonjon: First the strategyprofit has to be higher than sp. After that sp is set to the new level… yes its checked once a day.
    @ François: I only tested this strategy with the Dax 1 Euro Mini. I would not run it with the “normal” Dax (1 Point = 25€).

  11. Plop61 • 02/28/2017 #

    Hello,Your strategy is amazing, thanks for sharing.Is it possible to make the same code for short positions? If so, could you tell me the code?Thank you in advance.

  12. Lotar • 02/28/2017 #

    Hi Plop61,
    thanks for your comment.
    To make the code for short positions is possible. But its difficult because you have flip the Quadrants. But I am working on that.
    Another thing I am workin on is to test/ transform the code with/to other time scales…

  13. JvdG • 02/28/2017 #

    Hi Lotar,
    your strategy raised my interest; I did some tests and made a few adjustments fit for my own situation;
    above all I did not change your main idea of using Donchian and the macd; I made some other changes and additions, to serve the following two purposes:

    raising the % of winning trades from the 50%- to the 80%-zone; then the strategy is less of a tossing and more of a real strategy;

    raising the profit/loss-ratio 

              reducing the drawdown
    I commented my adjustments inside the the strategy.
    1.  I adjusted the os; your strategy has positions like 2.66; since I use cfd’s at IG, my position should always be an integer; then I allowed os to be either 1 or 2;
    2. I added another indicator for the trend: the MA based on HULL;
    3. I limited the length of the trade to 29 bars, to prevent going overnight; moreover: the longer the trades, the bigger the chance of losing;
    Based on 100.000 units my strategy has 126 trades, yours 176; but I guess that 126 is still statistically significant. I used WFA to optimize. My system has less total gain, but with 85% winning trades and a p/l ratio of 2.51 in combination with a much smaller os there is a considerable reduction of loss. I have to admit that your system makes big gains, however I would not yet be prepared to pay such great losses for that.
    A final note on WFA: it’s not only useful against curvefitting, but also a method to converge a parametervalue. I already apply WFA manually for some years: I optimize on a certain period and then test the strategy on the adjacent out-of-sample period. Hoping that my parameters in the end converge to certain stable, profitable values. However, the basis remains that one knows how to optimize, and that one knows which parameter influences which result. I always optimize by analyzing the data in excel charts. 
    Well, I will check how this strategy works in April, then optimize and see how the new version works in May and so on; the goal being that the differences between two version eventually get smaller. 
    I think you did a great job. I hope you will consider to make a short strategy, it would be my pleasure to elaborate that one. It would also be nice to make an indicator that belongs specifically to this strategy, so that we can study why certain trades go wrong…
    All the best, Jerke vd Geest
    Here is the link to download my version of the strategy: https://www.prorealcode.com/wp-content/uploads/2017/04/Quadrant-2.0-DAX-5-min.itf

    • Nicolas • 02/28/2017 #

      You can send it to contact@prorealcode.com and I’ll attach it here. Thanks for your sharing!

  14. Francesco78 • 361 days ago #

    Hi Lotar, which variables would you choose to recalibrate it to the present market conditions?

  15. Degardin Arnaud • 337 days ago #

    unfortunatly in today’s market it’s not working at all…

Register or


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

+5 more likes

Related users ' posts
3 months ago
Bebbo Thank you for your contribution. I have tested your system on some instruments and I like i...
Nicolas Thank you Xusto. Thank you a lot for your contribution :) Since your code is a Pathfinder'...
Xusto Hello, Fully Agree, I will update it with your advice. Btw Can would you like share you co...
Petersson Kristian Hi when I do back test I get 0 results, what do I do wrong? Trade Well Chris
JohnScher Yes i did before, see library/strategys/repulse and dpo https://www.prorealcode.com/proreal...
JohnScher Don't know what you're doing wrong. Import ITF and observe time zone settings. This should...
osupero https://www.screencast.com/t/QmSXRbBR
osupero https://www.screencast.com/t/2fCW8fkGsOeZ....solo posiciones largas por ahora
osupero https://www.screencast.com/t/MIaSZ2PRg
JanWd Hey Doctrading, I tried your code, optimising the A and V and the RSI period, see below. ...
Glen Marquis This will work as there is plenty of room for the Target before the Stop, yet the Stop would...
magicT I did a copy and paste of this code and PRT 10.3 returns a synthax mistake: OneTradePerD...
vlongobardo67 Ciao Fulvio, ho scaricato ed importato il file. m,a se lo faccio girare sul miniDax non ...
FULVIO09 Attualmente non c'è sufficiente volatilità : la condizione "C0 = AverageTrueRange[1500](Clos...
vlongobardo67 Ma io intendevo in backtest ! Scusa non l’ho menzionato.
beeb Hallo Dominik, das mit dem deutsch schreiben kommt mir sehr gelegen. Komme auch aus Deutschl...
vlongobardo67 hi Beeb, I imported the file in my platform but is does open any order. What is wrong , wha...
Yannick TradingDayLong = dayofweek = 1 or dayofweek = 2 or dayofweek = 3 or dayofweek = 4 or dayof...
Marlon Hey JohnScher, your code works fine, but my results aren't as good as yours. Even if I use ...
DarioMazza Bha... this code dont work. gg
10 months ago
ALE P01 , it’s the first patner of the indicator, I hope to add others in future.
ALE We can discuss about the strategy here: https://www.prorealcode.com/topic/scalping-indicator/
Yannick Hello There is a mistake in trailing stop code, I think that this should fix the problem s...
Paul About the trailing-stop the way it's coded. That works for backtesting only, just look at th...
Jonny sorry paul, but system says that is not possible to put many stop order combined...what have...
11 months ago
TempusFugit Thanks Bin, nice code, I can use several ideas of the way you build it
DarioMazza Thanks Bin, great concentration, i understand the first idea, but may u indicate me the asse...
Bin Hi Mazza This robot is optimized for DAX30.
TempusFugit Masala, thanks for your contribution. I don´t like the offmarket spreads neither ;) I unders...
Uveus Tempus, me da un error al validar el codigo, sobre la variable N. Al crear el indicador me ...
TempusFugit Hi Uveus, I am guessing you inserted the code of the indicator into the system code, is ...
tecknozic Bonjour Inertia, cette sais-tu si cette stratégie fonctionne sur un compte IG à "risque limi...
Inertia Bonjour tecknozic.... Je ne sais pas... Désolé. Bonne chance ;)
teddy58 This system is the only one running on my PC, which i didn´t developed my myself. My forcast...
JM David, Thanks a lot and next week I begin the test of this strategy in real... You have ot...
rejo007 hello david, i'll try it could you tell me wich strategy do you use in real? thanks
David Somogyi Hello, I have a couple of DAX strategies of breakout and mean reversion. I'll try to post...
verdi55 Running a single Renko strategy with a fixed box size is usually not a good idea, because th...
Fabrizio_T Hi, have you tested on the period 30 julay - 30 September 2015?
grzemariusz Hi I use your strategy but i don't know how to implement position size to the code thanks f...
gackeen Scusa Pier, scusate tutti, sono nuovo. Ho caricato il file e mi viene restituito il messaggi...
JR1976 HI Nicolas , I tried to copy paste but not import directly and the code works well I hav...
mcosta This code doesn't work on 10.3 platform(IG), neither with copy/paste nor with itf import, an...
dkinse Hey, Yes it´s running in 30 m timeframe. I had it running and it made two trads in januar...
Wing There's a few threads on the forum about backtest and live trades being different at times. ...
ET I agree with verdi55. As it is now, the code will only test for a breakout on the upside (li...
Nicolas Thanks for sharing your automated trading strategy idea. Even if you accumulate loosing orde...
Maz Ok. Potential here to build onto this. Have opened a forum thread for further discussion: h...
1 year ago
CSR strategy DAX 1 D
CSR strategy DAX 1 D
Toto le Heros It looks very interresting. I have one question related to the following result in ProbackTe...
StefanStrand I tried running this on IG ProRealTime and get the following error message, why could this b...
Jesper I tried it on dax 1D and I did not get any trades. Shifted to 10H and it started working. Wo...
Francesco78 Hi Keemax, I dont have it on real at the moment, in any case the strategy is very long term ...
Francesco78 I did a little bit of work on that and now the results looks better and more stable. Please...
Francesco78 I did a little bit of work on that and now the results looks better and more stable. Please...