DI TEMA Trendfollowing strategy on DAX 5 min

DI TEMA Trendfollowing strategy on DAX 5 min

Please find below a simple strategy based on a combination of the DI and TEMA indicators.

It performs quite well on the DAX 5 minutes (7:00-22:00 trading), for 100.000 bars, spread 5 pips.

Conditions to OPEN positions (see settings in the code)

1 TEMA trend turn into positive (for long) or turns into negative (for short)

2 the DI increases, but starts from below zero (Long) or decreases, but starts from above zero (short)

The only CLOSE conditions are  a Trailing stop loss, whereby the Trailing stop is reduced after 12 trading bars.

I tried it on several indices in different timeframes, I only got good results for the DAX, 5 minutes bar.

Disadvantage of this strategy is the long TTM, Time in the Market, of at least 65 %, obviously also overnight.

As a spread I have taken into account 5 pips, which should include 3 pips for interest to be paid (estimation 4% x exposure 12.000 Euro for 1 contract x 65% in the market / 120 trades per year)

This strategy requires a bit different settings for 2019 alone (for better results) compared to the settings set in the code for the whole period of 100.000 bars. I am (obviously!) looking for automated setting adjustments during different structures of market movements, any suggestions are more then welcome.

Any suggestions for improvement welcome !

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. fatcat • 05/10/2019 #

    Thanks Jan. But unfortunately I cannot confirm your backtesting results! Much worse!

  2. Jan Wind • 05/10/2019 #

    Hallo Fatcat,

    1. Most important: Did you set the trading hours to 7:00 to 22:00 CET, not including the nightly hours ? (Dutch/German time, UK time one hour earlier)
    Go to Options –> Platform Options –> Time Zones and Trading Hours –> (Adjust) trading hours

    2. The results shown are based on a IS 66% / OOS 34%, you can simulate this with varying the TEMA variable (28/30). The results IS/OOS are better than non IS/OOS testing, with the same variable settings, which is weird (I would expect the same results for running the code for 100.000 bars with or without running an IS/OOS, if the only optimised variable TEMA appears to be 28 in both runs)
    Maybe someone can explain or have experienced the same thing ?

    3. The results from half March till May 2019 are not that good, which negatively influence the performance

    Hope it helps you further
    KR Jan

  3. fatcat • 05/10/2019 #

    Sorry, but not working with trading hours 07:00 – 22:00 CET either. Are you sure it is exactly the code matching the results? Can anybody confirm the trading results? Thx!

    • Jan Wind • 05/10/2019 #

      sorry to hear. Today I did run the code for 100.000 bars (from 17 dec 2017 till 31 may 2019) with no IS/OOS , just run the code and the results are OK

      1 Euro contract on the DAX, with a spread of 5 (!) points to cover the spread plus interest costs for positions overnight
      Period 13 dec 2017 till 31 may 2019
      Exposure +/- 12.000 Euro (1 Euro Dax contract)
      Total Gain 3.566 Euro
      Winning 63%
      Gain/Loss 1,46
      TTM 64%
      Transactions 167

      The last 5 months are showing negative results, however the last trades are winning again.

      Not sure why it does not work with you

      Again I want to mention that Walk Forward (IS/OOS) result with exactly the same setting give much better result, which is WEIRD (4.302 Euro instead of 3.566 Euro)
      I only vary the TEMA value with a variable tt, which can have the value 28 and 29, and run an IS/OOS with 66% IS 34% OOS (just 1 Walk Forward), with appears an optimal setting of TEMA of 28
      KR Jan

  4. nfulcher • 05/10/2019 #

    Please could someone explain how the following code is calculated:-

    iDI = TEMA[3](DI[DI2](close)) //default TEMA 14

  5. oakenstream • 05/10/2019 #

    Jan, I find sometimes that the priceexit variable is never set. It seems to happen when the price immediately goes the wrong way, in my cases always in a short. I cant figure it out, any ideas?

    if tradeprice(1)-MINPRICE >= Factor * trailingstop*pointsize then //if the MFE is higher than the trailingstop then
    priceexit = MINPRICE + Factor * trailingstop*pointsize //set the exit price at the MFE + trailing stop price level

    ..I tried to use the add code button but it failed for some reason.

  6. Matt66612 • 05/10/2019 #

    I do not understand the first time I launch the backtest I got the same result as you.
    but after impossible to find the same result on the other backtest

Register or


avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar avatar
Related users ' posts
Faisalx Hola Ivan. Thanks for your great job. I would appreciate if you have look at my request http...
roccafragius Thank you for all these useful information!! Very great job Ivan! THank you so much
geroniman Merci Ivan, super travail. On peut toujours compter sur toi pour apporter des innovations su...
Stenozar Ciao mi restituisce errore line 1; forse è perchè utilizzo la versione 11 ? in questo caso d...
Stenozar Ciao IVAN , mi da errore per la riga 49 "print tema low"; puoi suggerirmi la modifica da met...
Iván Avete provato a scaricare il file .itf?
Doddge Hola Iván, ¿sería posible crear un screener que indique cuándo las velas coloreadas del indi...
RTR Ivan thank you for the pro-screener. I a trying to understand how to write the signals from ...
Iván Hi, Lines 62 and 63. These lines define buy and sell conditions.
MaoRai54 Thanks, now it's OK. in your first code at line 15-16 it's missing.
Madrosat Hello Ivan Did you try a strategy with this indicator
Iván Hi. No I didn't. This is a code translation requested by an user a few days ago.
mfejza also, for long trailing stop d2=low d1=lowest[3](d2)+1/3*AverageTrueRange[20](close) d3...
JohnScher Postscript: It's running in the live right now. One position after the other is opened. ...
ullle73 nice!! how's it been since your last post on going live? :)
thomas2004ch Hi, Is this strategy suitable for daily SPY? Regards
AndPar Buongiorno Nicolas, vorrei provare questo indicatore, ma quando lo inserisco in PRT mi vengo...
Nicolas Basta aggiungerlo al prezzo https://www.prorealcode.com/blog/video-tutorials/how-to-add-an-i...
Aragorna hello Nicolas, this indicator works with the last Beta version of PRT? Ive seen tha many in...
Darren Nash I found this works well on the DOW
thomas2004ch Hi John, Is your strategy suitable for daily SPY? Regards
gatowman Hi, ich bin leider Anfänger, habe den Code zwar importiert, aber scheinbar läuft er nicht au...
KAMJKAZE thanks, really interesting!
2c95 thanks, why do U prefer average than lowest ? to close under average does'nt mean another...
Stenozar Hi Sever, how can I visualize the coloured areas?
Sever Hi Stenozar, You need to add the color zones yourself , just go to Add Color Zone To set ...
CederTrader Hi Denis, does this indicator add to the chart as panel, or on the candles. Thanks
Nicolas Add it on the price chart as described in this video: https://www.prorealcode.com/blog/video...
Denis Hello Nicolas and Ceder Trader, Sorry, I only just saw your replies. The indicator is alre...
Xenotrax A première vue, sa à l'air d'être un indicateur très puissant sur de petites temporalités, j...
merri Bonjour Nicolas, Comment transformer cet indicateur en bot sur PRT ?
Nicolas Cela a déjà été fait, voir ce sujet: https://www.prorealcode.com/topic/strategia-con-lindica...
Nicolas change the last line with: return v coloured(r,g,b) style(line,2), v+band coloured(168,168,1...
Paolo.B Thanks ... works as i wanted.
Kanamax Bonjour Nicolas, comme Paolo.B je souhaiterais utiliser cette indicateur au sein d'un code. ...
Boris Hi IVMcm, thanks for your amazing work. I have tested all of your indicators and use some of...
IV Mcm With pleasure and thanks!
ashiash how to use this indicator can i use tradingview platform
zilliq Thanks @Nicolas. I tried to use it as Trend in a proorder system, but don't know why, it doe...
Suzu Yuk He is right. MT and mavgMT are not defined and causing errors.....
Maxime Baudin Super travail !
Yanic c'est top j'adore
Maxime Baudin Merci l'ami, passe une bonne semaine
IV Mcm Merci de même ;)