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….

Lotar

 

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. 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….
       
      Regards
      Lotar

    • 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?
     
    Cheers:)

    • 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.
    os=osa
    sp=strategyprofit
    endif
    start=0
    endif
     
    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.
    Example:
    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.
     
    Regards
    Lotar

  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…
    Regards
    Lotar

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

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

  15. Degardin Arnaud • 02/28/2017 #

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

avatar
Register or

Likes

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

+7 more likes

Related users ' posts
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...
Philipjonasson are u still active Wing?
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...
ALE
7 years ago
CSR strategy DAX 1 D
CSR strategy DAX 1 D
17
Strategies
Jesper I tried it on dax 1D and I did not get any trades. Shifted to 10H and it started working. Wo...
rgrgrgr I have the same problem
avatar
crazytrader Is this working?
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...
Khaled Hi Francesco , thank you for sharing your hard work. Any idea why all orders are executed at...
JanWd Thank you for the coding, it seems promising. FTSE gives for the short term (5 min) promis...
Jan Wind 21.04.2019: I retested the strategy for the DAX 5 minutes , it works fine for 10.000 bars, b...
bertrandpinoy hello Francesco, are you still working on this strategy?
avatar
bjoern With the same parameters? For me the results are negative
avatar
bjoern Oh ok, with the initial posted parameters it is positive
victormork yes! It's not like you want to put it on live but when I for example take the version I have...
otty82  all right. thanks
mmichael Hello, I noticed that the indicator shows the initial balance of today but also for all the ...
leyoy Bonjour, comment l'adapter sur 15 minutes au lieu de 1 heures ... j'ai changé 090000 par 081...
Derek Nice strategy. Have you tried adding a stop loss since there are a few sharp drawdowns? I ...
Piston_Broke Non so .... da qui la mia domanda iniziale :-)
Piston_Broke Hi Derek. I have tried many different ways to apply SL's to this and similar versions of th...
Nicolas Indeed, if you are not willing to loose, you will always win. Averaging down losers can carr...
David You're always safer going Long especially with averaging down on an index as the probability...
Oskar Bergvall  I noted Davids and Nicolas remarks. Could it be possible to make an indicator for contraria...
Nicolas it is based on seasonality of DAX.
Luciano Santiago Juárez Hello I am new here I am trying to understand this code IF monthlyMultiplierLong > 0 ...
Luciano Santiago Juárez Sorry the code copied bad the line I dont understand is: ELSIF monthlyMultiplierLong 0 THEN
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 ...
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
8 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 ...
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
8 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...

Top