Kama & Sma Trading System DAX mtf

Kama & Sma Trading System DAX mtf

Coded for micro DAX €1 (simply multiply by 25 to run on standard DAX €25 or by 5 to run on mini DAX €5), 1-hour TF.

I used the Multiple Time Frame support to allow Breakeven/Trailing Stop to run on 1-minute bars (default TF).

Strategy from https://www.forexstrategiesresources.com/trend-following-forex-strategies/111-kama-strategy/.

Compared to the original version at the above link, I only optimized the SMA (called MVA in the above site) and set it to 22, instead of 7.

I also added SL & TP plus my own Breakeven/Trailing Stop code snippet.

Lines 10-11 allow to enable/disable Long/Short trading (both enabled by default).

Lines 21-25, along with lines 54-61 and lines 67 and 74, ban further trading before a whole 1-hour bar has elapsed, in case a trade exits within a few 1-minute bars. In such case the 1-hour signal is still set and valid, but it would most likely lead to a losing trade since the momentum is likely to have faded.

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. CN • 08/21/2019 #

    You mean coded for the 1-min TF?

  2. robertogozzi • 08/21/2019 #

    It’s a Multiple Time Frame strategy.
    It must be launched from a 1-minute chart, but signals are generated on the 1-hour TF.

    • Philstrading • 08/21/2019 #

      Ok I just noticed your lower down comment about opening u pnew topic… sorry about that…. I’ll maybe traul the code a little and backtest, but backtestingon 4hr gives good results.. Think Ineed tounderstand its principles though to manage properly so a coding traul may be my best option…. Cheers for the code in principle anyway.. Currently its trailing stop for positive stoploss so that seems to be working.. Thumbs up there, Hi Robert. problem with open time – I copied this code try and MTF running from the 4hr doensnt pose an issue, whereas normally one woul dneed to go to the LTF as you’ve said elsewhere. I’ve backtested this off the 4hr with good results so thought to try live, though a bit dubious about running unwritten code as I’ve started doing my own, I have put it up live to review on live testing. The issue this morning was that it opened a trade at 0400hrs.??!!?!?! Looking at the code there’s no reference to not timeforbidden (not timeForbiddenEntry AND ) that I can see in the enter trade code… So this code seems to backtest on the 4hr OK, and it launches from the 4hr wihtuot error messages and appears to treigger trades and closes them off . So question is since the trade opened at 0400hrs this morning London time do I have to contact PRT support tickets? or is it a coding error.. I’ve added the code but cant see it displayed ….

    • robertogozzi • 08/21/2019 #

      Sorry for replaying so late, I really missed your post.
      There is a discussion thread here https://www.prorealcode.com/topic/kama-sma-trading-system-dax-discussion-thread/
      Lines 17-18 deal with trading hours.

  3. CN • 08/21/2019 #

    Sure Roberto, but didn’t get any trades on the 1H TF, so trading TF should be 1-min 🙂

  4. robertogozzi • 08/21/2019 #

    Yes.
    You need to search MTF to read what it is all about and understand how it works.
    You will only see trades on your 1-minute chart.

  5. Jesper • 08/21/2019 #

    What should be multiplied in order to compensate för other contracts size?

  6. robertogozzi • 08/21/2019 #

    Line 9, nLots is the number of contracts, you can change it as best suits you.

    • Jesper • 08/21/2019 #

      Ah, that’s what I thought as there were no ties in to the actual logics. Thanks!

  7. Edurecio • 08/21/2019 #

    I do not understand.
    Even if you change “time forbidden,” the system still produces the same results, with entries within that range.

    TimeForbidden = OpenTime 190000

  8. Jungblom • 08/21/2019 #

    I have ran this now for today and now @15:00 i got a “Alert triggerd for a sell Qty-1” and @ 15:05 I got a new alert on Buy (exit) qty +1 but no trades where triggerd why is that? Running with max position size of 2 contracts. when i backtest it a trade should have been done at these timestamps.

  9. robertogozzi • 08/21/2019 #

    If you want to discuss about inner workings or detail, please open a new topic on the ProOrder Support Forum and always attach detailed pics (instrument,TF,date and time should be visible), along with details posted.
    Thank you.

  10. winnie37 • 08/21/2019 #

    it could be tested on larger historic?

  11. robertogozzi • 08/21/2019 #

    If someone has access to 200K data history might post results (it would be better to start a topic on the ProOrder support forum). Upcoming v11 will support up to 1M bars of data history.

    • Gregg • 08/21/2019 #

      Hi Roberto, thanks for this new strategy but I don’t understand why I can’t backtest it with 200K units… it stops after 6 trades.

    • robertogozzi • 08/21/2019 #

      There must be an issue with candlestick data from March 7th through March 12th. which causes backtest to stop at 15:04 om March 7th.
      If you make your backtest start from 00:00 March 13th, then it works fine.
      I will report this to PRT/IG.

  12. avatar
    Anonymous • 08/21/2019 #

    Hi, I found the same problem with the time forbidden code but I have messed about with it using some code that I use for day trading and money management along with altering the stop size based on the trades taken in the last 100k bars.

    • robertogozzi • 08/21/2019 #

      There must be an issue with candlestick data from March 7th through March 12th. which causes backtest to stop at 15:04 om March 7th.
      If you make your backtest start from 00:00 March 13th, then it works fine.
      I will report this to PRT/IG.

  13. avatar
    Anonymous • 08/21/2019 #

    https://www.prorealcode.com/topic/kama-sma-trading-system-dax-discussion-thread/

  14. Jan Wind • 08/21/2019 #

    Sorry if I missed the latest discussions recently, but is MTF now usable and reliable in PRT production environment ?

  15. robertogozzi • 08/21/2019 #

    MTF was officially made available to all customers 2-3 months ago after almost a year being beta tested.

  16. Zebra • 08/21/2019 #

    OpenTime < 090000 AND OpenTime > 190000 should probably be OpenTime < 090000 OR OpenTime > 190000

  17. alfcont • 08/21/2019 #

    Is this trading system generating profit on micro DAX future?

  18. frenqle • 08/21/2019 #

    can i put a completely different strategy under this strategy in the same code? or do i have to put 2 strategies separate in prorealtime?

    • robertogozzi • 08/21/2019 #

      You can read this topic (https://www.prorealcode.com/topic/multiple-strategies-within-one-trading-system/#post-41278) and keep posting there, if you need to.

  19. Gaby • 08/21/2019 #

    Thanks Roberto to post this Kama SMA strategy.

  20. pat95162 • 08/21/2019 #

    Bonjour
    J’ai beau essayer de le faire fonctionner sur du 1H, 15 min 5 min ou 1 min, rien ne fonctionne.
    Quelle est la procédure à suivre pour avoir vos résultats ?

    • robertogozzi • 08/21/2019 #

      Cela fonctionne bien, peut-être que vous avez fait un mauvais copier-coller, je ne sais pas.
      Ouvrez un thread dans le support ProOrder et publiez le code.

  21. RemiNhAPQM • 08/21/2019 #

    Bonjour,
    merci pour le super partage, la stratégie offre des très beaux résultats.
    Je ne suis pas expert dans le code de ProOrder et du coup je n’arrive pas à comprendre les principes de base du stop suiveur que vous avez codé, pouvez-vous mes les expliquer rapidement ?
    Un grand merci par avance,
    Cordialement.

  22. frenqle • 08/21/2019 #

    Hi there, I have been using this code for months now.. I adjusted some code and it worked fine.. recently it started having trouble it started giving me the following error:

    The trading system was stopped because the historical data loaded was insufficient to calculate at least one indicator during the evaluation of the last candlestick. You can avoid this in the future by changing the number of preloaded bars with the instruction DEFPARAM (ex: DEFPARAM Preloadbars = 10000).

    So I tried to search for errors.
    Now I entered the original code which is posted here on prorealcode to see if it still works. I run it on the DAX 10 minutes, but this code also gives the same error.
    Does anyone know why this code isn’t working anymore? Are there software updates or something?

    Hope to hear from you!

  23. frenqle • 08/21/2019 #

    Every 10 minutes it gives this error..

  24. robertogozzi • 08/21/2019 #

    There’s no apparent reason, as far as I know.
    You can increase line 6 up to 10000.
    You can try shutting down your system, then restarting it. Maybe this will do.

  25. frenqle • 08/21/2019 #

    I tried it all several times..:(.. I can’t get it to work anymore for 2 weeks now

  26. robertogozzi • 08/21/2019 #

    I also was returned the same error message.
    I opend a ticket with PRT assistance. I will let you know any answer as soon as I get it.

    • frenqle • 08/21/2019 #

      Lets hope they give some answers. I opened a ticket too but I got no response.

  27. frenqle • 08/21/2019 #

    No news??

  28. robertogozzi • 08/21/2019 #

    It’s too early, usually it takes a couple of weeks or more.
    I’ll post any news as I get it.

    • robertogozzi • 08/21/2019 #

      ProRealTime reported no issues with the PreLoaded bars.
      I tested it on DAX, 1-minute TF, and it opened trades regularly now.
      There must have been a temporary issue while IG was working with some updates.

  29. frenqle • 08/21/2019 #

    Great thanks a lot! Will run it on 10 minutes again!

  30. frenqle • 08/21/2019 #

    But it has not opened positions since 13 of april.. thats what the backtest says…

  31. robertogozzi • 08/21/2019 #

    On 1-minute TF it works, on a 10-minute TF it may be due to lack of signals.

    • frenqle • 08/21/2019 #

      I have it on 1 minute but still 13 april is the latest its doing

    • robertogozzi • 08/21/2019 #

      The error you reported has been fixed, now the strategy enter trades regularly in AutoTrading.
      I have experienced that sometimes the backtest doesn’t open trades AFTER April 14th, 2021. I tried to close backtest, then switch to 50K units, then 200K, then back to 50K, on both 1-minute and 10-minute TF’s and sometimes it worked, sometimes it didn’t.
      I reported this issue to ProrealTime. Please so do you.

    • YvesRobert • 218 days ago #

      Hi Roberto, you seem to be good in code programming. I have a question f you know how to do it. I work with renko bars. Is it possible to know when a renko bar is definitely finished and has been displayed on the graphic ? for example in TF 1mn. I ask this question because in 1 mn for example you can have 20 renko bars up or down and they all could be invalidate because the price (the 1mn candle) goes down again. How to do that ? You seem to give an answer frome line 54 to 61 but it is for time candles. Thank you for your help.

  32. frenqle • 08/21/2019 #

    Done!! thanks Roberto, it is running again!

  33. robertogozzi • 218 days ago #

    @YvesRobert
    Please create anew topic in the forum https://www.prorealcode.com/forum/prorealtime-english-forum/prorealtime-support/

  34. YvesRobert • 218 days ago #

    @robertogozzi. It’s done. Thank you

  35. YvesRobert • 216 days ago #

    Hello Roberto, some questions about your strategy.
    1 – Do the 2 lines SET TARGET pPROFIT TP and SET STOP pLOSS SL disappear and reappear again every minute or remain even if not onmarket ?
    2 – What is the value of pipsize ? For example what it is for DAX and CAC40 ?
    Thank you

    • robertogozzi • 216 days ago #

      1. The 2 lines SET TARGET pPROFIT TP and SET STOP pLOSS SL are always executed, each bar. But even if they were executed only once, they would be kept in memory until changed.

      2. PipSize is a system value used not to have to deal with the value of pips among different instruments and markets. Usually it’s 1/10000th of the price for FOREX (but not when JPY is involved), so that, for instance, in Eur/Usr 1 pip means o.ooo1 in price. With DAX and CAC40, as with most indices, its value is 1, as they have a pip-to-price ratio of 1:1. In any case, to know its value, just create this one-line indicator:
      RETURN PipSize AS “Value of a PIP”.

avatar
Register or

Likes

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

+30 more likes

Related users ' posts
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
ALE
6 years ago
settival CIAO ALE CREDO DI AVER SETTATO PER BENINO LO SCALPING INDICATOR MA NON VISUALIZZO I SEGNALI ...
graff.laetitia Hello, I'm sorry to bother you, I'm new to trading, I managed to download the indicator but ...
Alby118 i can get it to work? dax 1 min. upload indicator on the4 chart. thank you
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...
BC
7 years 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 ...
teddy58 This system is the only one running on my PC, which i didn´t developed my myself. My forcast...
xpiga Hi! Is this system still working good? Anyone has it in the live account? It looks great. T...
Paul_Going Dutch Proformence will be beter with other starting hours and closing hours @Inertia
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...
Roberto Blázquez Hi David, I just saw your strategy and it's good!!! I'm going to try it from today in real a...
stratobast Good afternoon everyone. Thanks Doctrading for your work. I have an issue while using this ...
stratobast My bad guys. I understood what was the problem. The indicator uses highs and lows for the Re...
samwarduk Has anyone tried this on Bitcoin GBP1? The results look amazing but every time mine trie...
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...
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...
Lotar
7 years ago
Nicolas You can send it to contact@prorealcode.com and I'll attach it here. Thanks for your sharing!
Francesco78 Hi Lotar, which variables would you choose to recalibrate it to the present market condition...
Degardin Arnaud unfortunatly in today's market it's not working at all...
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

Top