Konstantin Boykachev

CEO Proforexea LLC

Honest Coder

Professional Trader


No products in the cart.

Konstantin Boykachev

CEO Proforexea LLC

Honest Coder

Professional Trader

Blog Post

What is forward testing and why is it needed


Forward testing

How to determine if a trading advisor is working or not? You can run it on a demo account. But if the robot is designed for intraday trading, it can open 1-2 trades per day. And for a high-quality sample, you need statistics for at least 300-500 transactions. There is only one way out – to use a tester, which will launch the advisor on the history of quotes.

For example, in the last year or 5 years. But now the market situation in comparison with 5 years earlier could radically change. If an advisor shows performance in the past period, it is not a fact that it will be as effective now. To assess the capabilities of the advisor on a real account, there is forward testing.

Forward testing of advisors

Forward testing is a test of the EA’s performance at the last time interval to check whether the results will change in comparison with testing on the main site. In other words, a forward is a check as close as possible to real conditions.

Forward testing can be done in two ways:

  • Run the EA on the last section. A section of length, for example, 3 years is divided into two sections: the last 3 months and the rest of the period. On the main site, the robot is tested and optimized for a specific criterion (profitability, minimum drawdown, etc.). After optimization, the advisor is launched in the last segment.
  • Run an advisor on a cent account. It is applied after full backtesting.

Forward testing is possible only in MT5, this option is not provided in MT4. The minimum test period (section) is 3 months.

In MT5, open the tester (View / Strategy Tester), select the “Single” item. In the Forward drop-down list, set the value to 1/3.

The value “1/3” means that at 8 months the tester will run the Expert Advisor and optimize it according to the specified criterion. For the last 4 months, the EA will work without optimization according to the latest best version of the settings obtained after 8 months of optimization. In other words, after 8 months, the tester gets the best version of the robot by going through the combinations of the EA settings. And it runs on the forward site as a ready-made working advisor.

After the forward test, open the Backtest tab and compare the equity curve for 8 months and the last 4 months. If they are visually the same and both are ascending, the advisor is working. If there are discrepancies, the EA is not optimized.


This EA cannot be run on a real account. Firstly, in the backtest tab, the quality of the story is only 89% (requires 90% and higher). Secondly, on the forward section, the advisor almost completely drained the deposit.

Forward Testing Tips:

  • In the last section, use the input parameters that will be on a real account: leverage, 5-digit quotes (almost all brokers now have them), etc.
  • Watch the equity exactly on the last segment. If the deposit curve grew in the main tested area, this does not mean anything yet. If in the last segment it began to move to a horizontal position, then there is a risk that on a real account, instead of an upward equity, you will get a sideways movement at best. Read more about equity analysis here.
  • Use an ECN account for testing if its demo version is available. On an ECN account, quotes are sent directly to the terminal, bypassing the broker. This increases the speed of order execution.
  • Get to know the functionality of the MyFxBook monitoring site. Here you can find ready-made EA forward tests and real account backtests. Why test what others have already done?

Conclusion… Forward testing does not provide a 100% guarantee of repeating the results on a real account. Nevertheless, the statistics obtained on it are a little closer to the real situation than the backtest after the usual testing on MT4. Do you think otherwise? Then share your opinion in the comments!


Write a comment