3 Tips How Avoid Over-optimization When Trading Automated Trading Systems

6 min read

Dear Traders,

One of the biggest problems of Eas is the over-optimization of parameters… Why? 

Because it causes the backtest curve to look nice, but the results in reality are not good.

This article explains three of the methods that traders can use to solve the over optimization problem with EAs and automated trading systems.

P.S. make sure to join our two live trading webinars on Monday 5 October about LOA.EA from Nenad Kerkez & Carlos Cordero and on Tuesday 6 October about RUSH.EA from Mislav Nikolic.

First of all, testing an EA is easier when using less parameters. Of course, the most important part is that the system rules offer a decent expected profitability in the long run. But if you can make the system simpler while keeping the results more or less equal, then always choose the simpler approach.

If the simpler approach is less substantially less profitable, then of course the more complex system rules should be prioritized and used.

Using less parameters makes it easier to test an EA. The LOA EA is an example of simple EA that works well with more than 10+ years of back-testing. The LOA.EA trades the breakout during the first hours of the London Open with simple logic for the break.

The Rush EA and Ultima EA from Mislav Nikolic use more rules and indicators. They are an example of an automated trading system that reaches high profitability targets with more complexity. 

Tip 2: Lengthy Testing & Split your Back-Testing in Two Parts

Over optimizing can offer traders a good backtest curve. One of the methods to check if the parameters are not over optimized is by using only a part of the history (60 to 70%) to obtain them.

Let’s review how our programmer Carlos Cordero checked for the over optimization with the LOA.EA. With this EA, we have a history of one decade (2010 to 2020):

  • We assume that today is January 1, 2016, so we take from 2010 to 2016 to obtain the best set of parameters.
  • Then we check how that set would behave in the future, that is, from 2016 to 2020.

 And then we draw conclusions:

  • If the curve of point 2 is not good, it means that the parameters will not work well in a real account, looking to the future. That is, they are over-optimized.
  • If the curve at point 2 is good and resembles the one obtained when we take a set with 100% of the historical, it means that we are more likely that in the future the Ea will behave in the same way.

With LOA.EA, the set of parameters obtained until 2016 is identical to that obtained until 2020, so if we had opened a real account in 2016 we would have obtained exactly the same results that the backtest shows until today.

Mislav mentioned the following with his EAs: “my systems are built in a logical way relying on price swings, Fibonacci, and moving averages. Actually, I never got any better long term results with any optimization.”

With this EA’s he tested an impressive number of candles well:

  • GBP/USD 1h: 8 years → 50668 candles
  • EUR/USD 15min: 3 years, 3 months → 83368 candles
  • EUR/USD 5min: 21 months → 133056 candles

Tip 3: Test More Pairs & 99.9% Accuracy with Variable Spread

Testing the trading system on other currency crosses and/or financial instruments is also a very important step. This helps reveal to see how sustainable the system really is. All EAs we trade with work well on multiple pairs. 

That said, it is OK if the performance of one pair outshines the performance on other pairs. The key point is to make sure that the other pairs do not show disastrous results. 

Last but not least, a key factor is also back-testing the system with 99.9% tick data and variable spread.

Apart from this method, others are applied to avoid over-optimization, but we leave this for another day :))

Sign-Up for Two Live Automated Trading Webinars

Curious to know more?

Make sure to join our two live trading webinars:

Thank you and good trading,
Carlos Cordero
Mislav Nikolic
Chris Svorcik
& ECS team

Leave a Reply


This site uses Akismet to reduce spam. Learn how your comment data is processed.

Notify of