The problem is that almost all people selling you “forex robots that work” did not set out to design a robot that would work in the future.
How to Build Robustness into Forex Robots!
No, all they were interested in was getting quick sales. So, they manipulate the inner workings of the robot to make it look like a winner, at least on current data. But there are so many ways to cheat on this, it’s no wonder many people give up on the idea of ever finding reliable forex robots.
Remember the story about the forex robot vendors who actually go to brokers and say “let me know how often you want my robot to trade and I’ll tweak it to meet your requirements”? This is so the broker gets maximum commissions from a robot that trades constantly. Note there is absolutely no consideration given to the poor sucker who buys the robot thinking it is a winner.
Then we spoke about the dangers of curve fitting strategies to work in with past data. This is an easy mistake to make. People who build robots aren’t necessarily being dishonest in doing this, they simply aren’t aware of the psychological trap they have fallen into. They get a robot that maybe shows 20% profit per annum, and go back and tweak the parameters until it gets up to say 30% to 40% per annum. They have deluded themselves.
In order to build forex robots that work into the future, you first have to to test your theory on historic data. You then have to run your robot – with the exact same parameters you used in your backtesting – on future data. In other words, you have to trade the robot live into the future until it has proved itself.
Now, wouldn’t it be nice if you didn’t have to wait until all this live testing completed in order to know if the robot is a winner or a loser? Well, one way to simulate this ‘forward testing’ is to divide your past data into two sections. You run your robot on the first section until your parameters are optimised. Then with the optimised parameters, you run the robot on the second section to see how it performs. Essentially, you are treating the second data section as future data.
This works reasonably well, as long as you then progress to live testing over a good period of time to ensure you have indeed found one of those forex robots that work, as opposed to just another dud.
Even so, the insight we get from splitting our past data into two sections can’t completely ensure the robot will work well in the future. Changing conditions will certainly have an effect on results. The thing is, some robot strategies will have an inbuilt “robustness” that makes them more adaptable to the changing conditions. They will survive the ups and downs, whereas others will break and fail.
How to Tell If Forex Robots Will Work in the Future…
So how do we get a feel for how a robot will work into the future, without having to be patient enough to wait while it trades for say, 6 to 12 months in a live environment? This is where the concept of Robustness Testing comes in.
If you look up any definition of robustness testing, you will find something like “a system or component that can function correctly in the presence of invalid inputs or stressful environmental conditions.”Robustness tests how robots will likely work in the future, without waiting until live testing completes.Click To Tweet
Translated to the world of forex robots, this means that we take our robot and deliberately stress it by subjecting its inbuilt parameters to wide and wild variations, and then retest the changed robot over historic data. This usually gives a wide stretch of results, as in the following graphic:
The results above show a reasonable performance for a robot under robustness testing. The thick blue line shows how the robot performed with the default parameters. The other lines show the tracks taken by the robot with the variable parameters. What we are doing is trying to shake up our robot and see how resilient it is under changed conditions.
However, it’s a sad fact that the vast majority of robots we take through initial testing phases, eliminating things like curve fitting and other errors, fail robustness testing. The following is a perfect example of one such robot, (click to enlarge):
You will see in the top half, by the thick blue line of the original strategy path, that it performed reasonably well over time, with a pretty good equity curve. But the bottom half of the graphic shows the variant paths taken by this exact same strategy when variable parameters were substituted for the originals. Again, the thick blue line at the top shows the original strategy, but the mess of descending lines below it shows what we could more realistically expect under live conditions in the future.
You will be pleased to hear that every robot in the AuthenticFX Forex Robots Club has passed robustness testing. I have subjected the robots to every sensible variation and combination of parameters to ensure they had the best chance of working into the future.
Of course, there is just one last thing to do with a robot that has passed all these tests, and that is to subject it to live and ongoing testing. Once more, the robots in our club have survived this ordeal, so that we can reasonably claim them to be members of that unique band: Forex Robots That Really Work!
Take Care & Trade Well,