Trend Chaser 3.0 with Money Management

Trend Chaser 3.0 with Money Management


I have been working on the Trend Chaser concept for some time but always had a problem with false signals, large draw-downs, and sub-optimal stops.  It had value in that it averages 50% wins on most instruments with most time-frames, so I felt it was worth persevering.

I am indebted to cfta’s idea for grid-step trading and Nicolas’ assistance and development of the code for a brilliant money-management system, as well a number of traders (and my close friend Free2Trade) for their encouragement and ideas.   I have been able to find a solution to these problems through the incorporate the money management code with the Trend Chaser code.

It is early days in the testing but so far the results have been spectacular.  I have attached a spreadsheet of the test results I have run on major indices, with the optimisation of some of the money management parameters: standard deviation (line 73), risk/reward (line 11) and risk percent (line 9).  Please note that the formula in the spreadsheet are:

  1.  ME (mathematical expectancy) = % of winning trades x average gain of winning trades / average loss of losing trades – (1 – % of winning trades).
  2.  IRR (internal rate of return or compounded return per annum) = 360 x (((end $ / start $) ^ (1 / (end date – start date)) – 1)).
  3.   This is a way to compare trading systems with different time frames, starting accounts, outcomes, etc.
  4.   I have rejected ME’s < 0.5, and % wins < 50%.
  5.   The max. DD (max. draw down) is expressed in $’s but the percentage is the dollar amount divided by 100.
  6.   I have noticed that the max draw-down figures given by PRT don’t seem to bear any relationship to the reality of the charts.  Does anyone know how this is calculated?

I find that the sweet spot for the code is in the shorter time frames such as 5 and 1 minute charts.  The last two tests of the DAX were spectacular as I ran them over only the opening hours for that market.   The negatives were the draw-downs of 11% and 17% – worth the risk, Elsborgtrading????

I have attached the code for examination and critique, please.  All comments and suggestions for improvement are most 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?

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

  1. Frank • 315 days ago #

    Syntax error: The function “MGC-Coppock” called from “Trend chaser supertrend” does not exist.

  2. MikeGC • 314 days ago #

    Sorry Frank, substitute COI = WEIGHTEDAVERAGE[14](ROC[11]+ROC[10]) for the MGC-Coppock line.

    Please post your other emailed questions to the forum.  Thus, if I can’t answer them, someone else might be able to.

  3. Frank • 314 days ago #

    Thanks Mike,

    When I was about to test it on live account, the following message occured and the model stopped:

    This trading system was stopped because the program used a negative or zero offset (ex: close[-10]) during the evaluation of the last candlestick. Please add protections to your code to prevent negative or zero offsets.

    • MikeGC • 314 days ago #

      Hi Frank,

      Same problem as last time.  There is some change made to the code that I can’t locate without the code. 

      “The best solution is to go back to the original code and make one change at a time.”
  4. cfta • 304 days ago #

    Hi Mike,

    Great stuff, I really like to the code and it seems like a terrific filter for the grid system so feel free to discuss in my thread if you like 🙂

  5. MikeGC • 302 days ago #

    Hi cfta, I have posted to your thread.  The combination of the two systems needs a lot more testing, but I am having trouble fully understanding the logic of the code to test the alternatives.  Thus the tests I have run purely optimise the the parameters.  There is a spreadsheet of the test results on your thread.

    Let me know your thoughts.

  6. Michael • 276 days ago #

    Hi MikeCG

    i’ve problem to start the  MGC Trend Chaser in 5min timeframe , because the backtest was really good . But the System gave me always an errormessage for an negative or Zero value for the last candle , i should put somewhere  ” close[-10]  . Do you know where i have to change the code ?



    BR Michael

    • MikeGC • 275 days ago #

      Hi Michael, please send me the code you are testing and I will track down the problem.

      Cheers, Mike

    • Michael • 275 days ago #

      Hi Mike,

      i use the mgc-trend-chaser-160914.itf exactly, starting thje backtest no problem . But i when start the code for
      the real trading on the platform  , exactly after 5 min the system is
      interupted. With Advice to add some or change the code with ……

  7. MaxT • 272 days ago #

    Hi Mike

    Thanks for the work – am relatively new to PRT but wanted to ask in reference to what Zilliq and Sylvess have said about the conditions and your comment that you think the =1 represents ‘true’ (I’ve no idea btw!) I’ve been playing around with the code and running some ProOrders in demo and am getting orders but not sure they’re being best placed so just wanted to ask if you could clarify the conditions/logic you are after please?

    I know you’ve said it a few times above but reading and re-reading some contradicts and I am not sure if you are after consecutively rising indicators or new highs/lows plus the COI is a Weighted Moving Average from what I understand so not sure how this could be less than zero (or I have totally misunderstood of course!) but it is not represented in the code (COI < 0) so was hoping to better understand then have a go at coding what you are after in a different way (as per Zilliq and Sylvess comments) if you could perhaps explain please..?

    As I say it is generating orders so perhaps the logic as you wanted it is already there and no need to re-code but would be up for having a go if any doubt! 🙂




    • MikeGC • 258 days ago #

      Hello @Michael,

      My apologies for the delay in responding to your query.  When ProOrder rejects code it shows a warning yellow triangle.  Hovering the mouse over the triangle will tell you the problem.  I need to test the actual code to see the problem and fix it.   I may be able to pick the issue with the details of the warning message, but the code would be better.

    • MikeGC • 258 days ago #

      Hello @Michael,

      My apologies for the delay in responding to your query.  When ProOrder rejects code it shows a warning yellow triangle.  Hovering the mouse over the triangle will tell you the problem.  I need to test the actual code to see the problem and fix it.   I may be able to pick the issue with the details of the warning message, but the code would be better.

      Hello @MaxT,

      The code “HIGHEST[5](c1)=1” is saying look back 5 bars and pick the highest bar that complies with condition c1.  Condition c1 is that the Coppock for that bar is higher than the Coppock for the previous bar.  If this is true (=1), and all the other conditions are true, then do the following…..

      I am looking for a confluence of the 3 indicators and 5 conditions within 5 bars as a signal to buy or sell.  If you want to test the efficacy of the code, remove the “HIGHEST” phrase and run the code reading “IF c1 AND c2 AND ……etc”.  

      There is no requirement in the code for COI<0.  COI must be less than COI(1) for a short position.  This means that it is sloping down from a high point.

      I hope this clarifies your concerns.  Let me know if I can be of further assistance.



  8. MaxT • 255 days ago #

    Hi Mike

    Many thanks starting to make a bit more sense now and also seen the same code used in other strategies on here/understand you are merging ideas etc.

    Also wanted to confirm- the 3 .itf’s posted here – the MGC is your supertrend v2.0 using the supertrend indicator for sl/tp and the Trend Chaser v3.0 is the same as the Trend Chaser v3.0 with MM just that you have made the sd parameter more convenient at the top of the code in the MM version?

    And the grid ordering only works when cumulate orders are set to true but the money management is what is calculating the sl/tp yeh?



  9. MaxT • 253 days ago #

    Hi Mike

    I see the HIGHEST[5] condition comes from cfta’s post ‘Grid orders with…’ but he states he doesn’t think he’s quite got it figured out (and I think he/Zilliq/sylvess are right… or rather ‘wrong’ 😉 cannot post there though for some reason)

    I created new code using only the MAC and this HIGHEST[5] and it does not enter positions according to last 5 bars continuously rising

    Also assuming it did work correctly then it makes sense checking the COI, MAC and STO this way but you are also ‘asking the same’ of conditions c3, c4, c13 and c14 which doesn’t make sense/these conditions are only that the STO is greater than or less than a figure and not continuously rising (unless you are trying to ‘ask’ that they have remained above/below these figures for the last 5 bars?)

    Probably not the most elegant way/bit long winded but the attached ‘works’ for continuously rising/falling over last 5 bars (but a trade can be entered then immediately exited the next bar if MAC continues to rise/fall for 6th bar whereas I think the idea would be to ‘reset the clock’ once a position had been entered…? Not sure how to achieve that though…!)

    /// Definition of code parameters
    DEFPARAM preloadbars = 3000
    DEFPARAM CumulateOrders = FALSE // Cumulating positions deactivated
    MAC = MACDline[12,26,9]
    // Conditions to enter long/exit short
    EL1 = (MAC > MAC[1])
    EL2 = (MAC[1] > MAC[2])
    EL3 = (MAC[2] > MAC[3])
    EL4 = (MAC[3] > MAC[4])
    EL5 = (MAC[4] > MAC[5])
    // Conditions to enter short/exit long
    ES1 = (MAC < MAC[1])
    ES2 = (MAC[1] < MAC[2])
    ES3 = (MAC[2] < MAC[3])
    ES4 = (MAC[3] < MAC[4])
    ES5 = (MAC[4] < MAC[5])
    //Enter long
    //Enter short
    //Exit long
    //Exit short




    • MikeGC • 253 days ago #

      Hi Max,

      Many thanks for your input.

      The 5 bar look-back only checks that the condition was fulfilled in the last 5 bars.  Your idea to check that it is continually rising/falling is good, but the entry point is when, during the last 5 bars, there is a change in the indicators.  I have found that it is the turning point that is more accurate.  How did your tests work out?

      And the answer to all your questions from 2 days ago is “yes”.

      Let me know how you go.

  10. MaxT • 253 days ago #

    Aha! I think that was when it was entering in my tests – on a change so I guess it is working as intended! *blush* 🙂

    Many thanks all very helpful figuring out how this is working – haven’t run any tests along the way I just posted but have had a few proorders running in demo mode with some good results using your original code so perhaps I will just stick to that! 🙂



  11. Alco • 224 days ago #

    Hi Mike,

    Thanks for your great code! It is working great on backtests, but I want to test it on demo and it doesn’t work.


  12. volpiemanuele • 172 days ago #


    what is the latest code for these strategy ? thanks

  13. MikeGC • 171 days ago #

    Hi @Alco, I have responded in your post re trading errors.

    Hi @volpiemanuele, the only new code is that which I have optimised.  Now a word of warning, most automatic trading systems are quite complex with lots of variables.  If you get a spectacular result in back-testing, it does not mean that you will get the same result in ProOrder.  You need to forward test in ProOrder in demo mode for some time to be sure the code will produce a satisfactory result when run live.  And even then there is no guarantee.

    Read @cfta posts for a good strategy for using ProOrder safely.  I don’t think it is a “set and forget” opportunity.  It really needs supervision unless someone is clever enough to create some self-optimising code.


  14. Francesco78 • 100 days ago #

     Thank you Mike, very interesting job, seems quite peculiar with respect to all the strategies I have seen on this forum so far, but maybe Its because I’m just a beginner.

    Results looks pretty good though.


  15. Francesco78 • 100 days ago #

    Correct me if Im wrong, the idea is to use the Trend Chaser in 1 minute  time frame. Turn it on and then take a profit as soon as the trade capture the short term trend, take a profit and re run it.

    Is that right?

  16. Francesco78 • 100 days ago #

    Correct me if Im wrong, the idea is to use the Trend Chaser in 1 minute  time frame. Turn it on and then take a profit as soon as the trade capture the short term trend, take a profit and re run it.

    Is that right? Because otherwise from what I see in the recent past in the 1minutes TF it doesnt switch positions

  17. morfix • 58 days ago #

    Does anyone have this updated code? or tested in demo?

  18. Petrus • 56 days ago #

    Hi Mike.

    Thanks for sharing the code.

    Whit which indexes do you recommend to use it and in which timeframe? Only 1 min or also in other TF?


  19. MikeGC • 55 days ago #

    Hi All, apologies for the late response to your queries. I have been away and have not been trading for some months. 

    I posted the code I have used manually with some success, in the hope that someone might develop it further to the point that it could be run successfully in ProOrder. This has not happened and my trials in PO were not exciting. 

    My manual operation of this system works about 50 % of the time and depends on manual money management to make a 3:1 reward to risk. 

    I can’t tell you how best to use a system because everyone has a different style of trading.  Take the ideas, play with them and develop your own style that works best for you. 

    On that note I would like to close this post and will not be following it in the future.

    Thank you for all contributions and your interest. May you develop a successful trading system. 

Register or


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

+4 more likes

Related users ' posts
gabri Franz, can this code work for you? count=1 i=0 j=i+1 tot=0 //calcolo 3 barre while co...
Francesco78 Hi, can you show at least one strategy that works well with this indicator? The idea is nic...
gabri Francesco, I just tried to code an idea from Maximus 78 (
manel Hi - have come across a difference here in the calculation of the indicator. It's meant to r...
Nicolas I don't know, the code of this indicator is one from another platform, not the Three Line Br...
manel Ok, many thanks. I've tried messing around with the code myself but am no closer to solving ...
gabri GraHaL, I cannot see any link attached. I mostly manual trade but for stocks with strong fi...
GraHal Yes sorry, I set up a link to a screen shot on my google drive and then I got locked into th...
gabri Here's the thread
David Balance thanks for sharing this excellent indicator.  Here are some thoughts.  please ad...
juanj Also change the ATR multiplier to 2 instead of 3. Slightly better drawdown.
GraHal I started he thread below as I get the results shown on image below. Please help on the Foru...
imokdesign Hi Everybody, when I look at the strategy I felt the need to implement a Moneymanagement-Sy...
supertiti amplitude 1.2.3  = ( 2-6-30 ) or (1-1-27) ?
LUCASSEN Hallo Supertiti Macd amplitude=1-1-27    and    prc halftrend triple in Heikin Ashi  grafie...
supertiti Thanks you so much Lucassen
verdi55 Have you ever made any Franc with trading ? I guess, not. Maybe I should change business and...
Nicolas Everything here is free, I do not sell anything and "tell people what they like to hear", I'...
verdi55 Is there such a thing as a free lunch ?
larouedegann blue = 50 green = 20 red = 10 than you
shephinc Is there an easy way get a value returned from the indicator that says if the blue channel i...
alf Hello, How can i project it on the chart? Now it is below amongst the other indicators.. ...
Nicolas Thanks for contributing to the "ichimoku section" of the prorealtime code library Don't he...
zilliq The reasons why I think it's time consuming and we loose time to try to do backests and Auto...
filiprb Hello Zilliq, You don't need a system to produce a walk forward test. You can easily create...
Philip Raphael It is incredible! Thanks for sharing, Doctrading!
Yannick Thanks for sharing. This strategy is flat for 11 years and winning afterwards. Don't you thi...
Doctrading Hello, As I usually say, strategies are exposed to be improved :) So yes, I think there mu...
Doctrading Hello, Someone asked me something (his results seemed to be different) on my email, but it ...
Glen Marquis Not your best..So what is your best strategy? :)
Samsam13 Cool, thanks for this ! As usual very reactive !
Doctrading Testing i with only LONG positions. It's still... unprofitable. And even worse.Sorry.
Samsam13 Hi Don't be sorry :-) I just wanted to have the real strategy and it's real outcome, now i do