Following the trend

Following the trend

Trend Trading Model, following the trend By Mr Cleanow I recently finished reading following the trend by Andreas F Cleanow.

In the book, Mr Cleanow constructs a simple Trend following Module which he then thoroughly tests across a diverse investment Universe. He then compares the results achieved by this simple trend module to the results achieved by most successful hedge funds.

The equity curve achieved by this model is more or less the same as what the big CTA’s out there are achieving year on year with acceptable draw downs. I decided to code the model and put it to test my self, as i’m still learning the programming  language used here i thought this would be a great exercise to test what i’ve learnt so far. There’s code which i commented out which i was using in my back tests, the add on portion is not part of the model, but i figured the model is designed to catch trends, so if it does catch a trend it only makes sense to compound positions as the trend develops, it impacts on results drastically. But the main exercise here to code the main model and run the tests myself. Reading the book was an eye opener.

 

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. ladefense • 05/18/2016 #

    Doesn t work …no signals
    Marche pas chez moi ….
     

  2. Stef • 05/18/2016 #

    Backtesting from 1 July 1979 to today results in 2 trades. Looks like there is a problem somewhere.

  3. Mhingas • 05/18/2016 #

    Hi Stef,
    will take a look shortly, and advise. 
    Rgds,
     

    • Mhingas • 05/18/2016 #

      hi Stef,
      the first two lines of code need to change to the last two respectively, so we put on a buy stop order tomorrow if the close today is the highest close in the past 50 days than, the logic is reversed for a short position
      donchianUpperBand=Highest[50](high)
      donchianLowerBand=Lowest[50](low)
      donchianUpperBand=Highest[50](close[1])
      donchianLowerBand=Lowest[50](low[1])

  4. Nicolas • 05/18/2016 #

    For your information, I have changed the code in the post, accordingly to Mhingas comment.

  5. wedret1 • 05/18/2016 #

    Hi Mhingas
    What instruments do you trade with this system in South Africa?

  6. Mhingas • 05/18/2016 #

    Hi wedret1,
    I run the strategy across all markets. commodities (including non agricultural commodities) ,energies, financials. Equities, but because this latter class is highly correlated, i don’t run it on individual stocks but the main indices. If one asset class is in a range, funds ( trends ) are moving in other asset classes. the strategy just needs to catch 2-4 directional trends a year, pay for losses incurred when markets are range bound, leave enough on the table to be up on the year.
    Rgds,
    Mathonsi c 

  7. trendfollower86 • 05/18/2016 #

    Thanks for the code. How do you intent to implement the position sizing. From my experience entries and exits are less important that correct and optimum position sizing.

  8. Periho • 05/18/2016 #

    My contribution is more on the strategy side; the method of catching a lasting trend on upper Doncian can benefit of being supported by a break out of volume of more than 1,5 the average daily volume over the last 20 days. Trailing SL 5-7 x ATR and holding time 4.5 months. Check that the paper have high volume > 200000/day and is within the range of institutional investor (US is USD5+) (i will be careful with Forex doing this)

  9. MikeGC • 05/18/2016 #

    Thank you @Periho, I got a very nice result with some minor mods to your code.  I have optimised the EMA’s and the Donchian Bands to produce an ME of 1.75, and an IRR of 121%.  I had to preload 200 bars to get it to start.
    // Definition of code parameters

    DEFPARAM CumulateOrders = true // Cumulating positions activated
    DEFPARAM PreLoadBars = 200

    //**********************************************Conditions to enter long positions***********************************************//
    ema50 = ExponentialAverage[c](close)
    ema100 = ExponentialAverage[d](close)

    Uptrend = (ema50 > ema100)
    donchianUpperBand=Highest[a](high[1])
    donchianLowerBand=Lowest[b](low[1])

    BuyCriteriaMet = (close > donchianUpperBand)
    initialstopExitPoint = Supertrend[3,10]
    IF NOT LONGONMARKET AND Uptrend AND BuyCriteriaMet THEN
    BUY 1 SHARES AT high stop
    ENDIF

    //AddOn
    AddOnToLongPosition = close CROSSES UNDER SAR[0.02,0.02,0.2]
    IF LONGONMARKET AND COUNTOFLONGSHARES < 3 AND POSITIONPERF > 0.02 AND AddOnToLongPosition THEN
    BUY 1 SHARES AT MARKET
    ENDIF

    //Exit Long
    ExitLongPosition = close < initialstopExitPoint
    IF LONGONMARKET AND ExitLongPosition THEN
    SELL AT MARKET
    ENDIF
    //********************************************End Conditions to enter long positions***********************************************//

    //**************************************ShortSell Conditions to enter long positions***********************************************//
    Downtrend = (ema50 < ema100)
    SellCriteriaMet = (close < donchianLowerBand)
    IF NOT SHORTONMARKET AND Downtrend AND SellCriteriaMet THEN
    SELLSHORT 1 SHARES AT MARKET

    ENDIF

    //AddOn
    AddOnToShortPosition = close < Supertrend[3,10] AND close CROSSES OVER SAR[0.02,0.02,0.2]
    IF SHORTONMARKET AND COUNTOFSHORTSHARES < 3 AND POSITIONPERF > 0.02 AND AddOnToShortPosition THEN
    SELLSHORT 1 SHARES AT MARKET
    ENDIF2Nicolas, I am having trouble uploading the code and the image: HTTP Error.

    //Exit Long
    ExitShortPosition = close > initialstopExitPoint
    IF SHORTONMARKET AND ExitShortPosition THEN
    EXITSHORT AT MARKET
    ENDIF

     

    • Periho • 05/18/2016 #

      This is great, the code is interesting – kindly clarify:

      Line 18: BUY 1 SHARES AT high stop | Please explain the function of: «high stop»
      Buying 1 SHARES at market is hardly profitable in my back testing . Any suggestions regarding calculation of position sizing?  
      Same for calculated losses, for example sizing of positions based on 2-3% losses  of the total risk capital?

      I am working on this myself and I will share it when its ready, however thoughts and ideas will be appreciated

  10. MikeGC • 05/18/2016 #

    Hi @Periho, 
    Re “Buy at high stop”, refer to this post http://www.prorealcode.com/topic/difference-between-buy-at-stop-and-buy-at-limit/.  The reason that buying at market does not work is that it seems the code depends on buying at a price higher than the current market price.  (This command was in the original code – I did not add it.)
    Your will find some interesting code for money management at http://www.prorealcode.com/topic/grid-orders-with-one-combined-stop-loss-and-limit-can-it-be-done/.
    Hope your coding is a great success – keep me posted.

  11. elsys • 05/18/2016 #

    Do you have a working version of the strategy?

avatar
Register or

Likes

avatar avatar avatar avatar avatar avatar
Related users ' posts
Iber0 Asi quedaria con el spread de IG [IMG]http://i65.tinypic.com/2418ism.jpg[/IMG]
avatar
bjoern Seems to work nice on BUND - M15 with SL 70 and TP 120
hvluthy@sunrise.ch I tried to backtest this code but don't get any restults. Can any body help me?
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 ...
pascal3431 Salut Doc , Je ne vois pas ce qui fait office de stop dans ce code .. un retour dans le nua...
Doctrading Bonjour, Il s'agit juste d'une stratégie où on est toujours en position : soit à l'achat / ...
pascal3431 Bonjour, après quelques essais sur EUR/USD au M15 en rajoutant(car sinon on est en perte) u...
jonjon Hi Raul. Just a thought, is there a way to limit the maximum number or orders that can be ac...
Petrus Hi jonjon. If you want to exit at the 4th bar only if the trade is losing money, you have to...
emadimarco Hi, I would like to do a test by doing it by day, but I'm not able to change the start and e...
Doctrading Interesting concept, good work !  
verdi55 Thank you. This is mainly to show the concept, but I would not trade with this system as it ...
Kris75 Hi Verdi, I like very much the point and figure tool and would like to work with your tradi...
verdi55
8 years ago
Marcel Hi, I tested this strategy on Spot Gold with a brick size of 20 on the weekly timeframe with...
Nicolas Because the renko chart construction begin at the first price of the loaded history. So you ...
JOKAMAURICE I am learning to code. I try to understand these lines newbricksup = (round(((close - upbr...
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?
DonDollar Ni Nicolas, thanks for the comment. I started with a 3000$ Position and 1 Pip Spread. I fo...
DonDollar Stupid me, it is indeed 1 POINT Spread....  
HarryPro Hello Clemens, I tested your Friday XAU and found it broke down when going well into the pas...
ellejoe Hi Ale, can you please share your live results and updated version with us? Was this strateg...
ALE Hello ellejoe,since 1th november 2016,I can confirm probacktest results, I cant run it in li...
David Thompson I'm new to PRT, and yet I know I need to take away the 'human emotion' from my trading - so ...
DANY I did it on demo account; it's too dangerous for mea and I can not resist psychologically  ....
demoz How can a demo account be dangerous? Did you have it run live (on a demo account for exampl...
DANY Yes, I mean that I tried on a demo account for 2 months and it had work fine, like the BackT...
Dimi.A Awesome mate.
mora87 Hi David and Nicola, I'd like to share idea with you guys which is related to David's Idea. ...
Nicolas Please ask for custom coding in forums instead.
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
9 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 ...
ALE
9 years ago
ALE @Nicola Nicolas thanks for your kind attention, the same indicator used with different set c...
miguel33 In piena sintonia . 
Ernesto1 Grazie Ale per aver condiviso con noi il tuo indicatore  P.A.B. aspettiamo il tuo script s...
Matriciel
9 years ago
chaostrader82 Dear Matriciel , can you add in the following ? stoploss=30pips , take profit= 4pips <===...
chaostrader82 Theres some bugs still with this program , can somebody help to improve on the following? I...
Matriciel Hi Chaostrader82,You know, I'm starting in automatic strategy coding so I'm not going to be ...
Cosmic1
9 years ago
Cosmic1 Lets discuss here: https://www.prorealcode.com/topic/cac-breakout-ported-to-other-markets/
rejo007 hello, anybody use thi strategy for a long time? thanks
abacus23 Hi, I have been trading this strategy and it seems to work quite well recently. Is there a...
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
9 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...
Mansoor What does COI stand for?
MikeGC Hi Mansoor, COI is the abbreviation for the Coppock indicator.
nonetheless Anyone interested in this strategy please see forum topic: https://www.prorealcode.com/topic...

Top