This post is in response to a request from @CavaliereVerde who asked if I could publish some information about my trading system (underlying the WFJ DARWIN). I don’t expect anyone to necessarily comment on the post, but hopefully it might be of some use to other fellow Darwinexers in addition to @CavaliereVerde
The system underlying WFJ is 100% algo based, and just runs day-in day-out like a trooper. I check it 4 or 5 times a day to make sure that it is behaving and that no errors are raised. I’ve run this now for about 4 years and so problems are very infrequent these days. The only issues I tend to have now are when my VPS goes down for any reason (also rare).
The system is based on 3 levels of processing as follows:
• Level 1 – Filters
• Level 2 – Signal
• Level 3 – Trigger
Level 1 – Filters - I use two filters: i) A Trend Filter (based on a proprietary indicator I’ve developed) and ii) A Volatility Filter. The trend filter classifies the current market into UP TREND, DOWN TREND, or RANGING/SIDEWAYS. The Volatility filter classifies the current market into HIGH, MEDIUM or LOW volatility. WFJ only ever trades in a trending market (in the direction of the prevailing trend), and in HIGH or MEDIUM volatility. If the filters are not suitable I don’t even bother processing level 2 (the signal) or level 3 (the trigger).
Level 2 – Signal – I simply look for a substantial pullback on the H1 timeframe from the current trend, using a oscillator indicator. If a signal is not actively saying ‘trade’, I don’t bother looking for a trigger.
Level 3 – Trigger - I look for the start of a movement back in the direction of the trend using the M1 timeframe.
To close the position I look for a signal based exit, where I look for an extension in my favour (based on a percentage of the preceding pullback) for my profit taking exit and also have an emergency stop loss in place for losing positions. I also exit if any of the filters (mentioned earlier) turn against the position.
I don’t use tick data – I use bar close data, and algo processing is triggered by a bar closing (completing). I find this to be more than adequate when trading off the H1 chart, and it makes back testing SO much quicker.
I have recently (in the last 18 months) changed my opinion of how to back test and optimize parameters of the system. This has been one of my biggest revelations as a trader. I used to optimize with a single in-sample (optimization) stage and a single out-of-sample (validation) stage. However, I went through a really rough patch between January 2016 and October 2016 as can be seen from my chart.
I eventually put this down to an inability for my optimization and back testing process to cater to changing market conditions. My system seemed to get completely out of sync with market conditions at that time. This forced me to look at my entire development and testing methodology. After much research and development (as I suffered the pain of seeing my system continue to fail), I eventually found what I needed to change, which was to adopt the use of ‘Multi-Stage Walk Forward Optimization’ (sometimes called Walk Forward Analysis).
I decided to document a case study about this in July last year after I started to see my system turn around and become profitable again, following the changes I’d implemented. The system continues to remain profitable to this day, and so generally I am very happy with the changes I made to my optimization process. If you want to read more you can do so in the case study here.
Does that give you the kind of info you were after @CavaliereVerde ?