EA recommendation 7: What I think about the differences between backtesting and forward testing, and why I think we lose in live trading
Good morning everyone. This is Renmi.
This is the seventh article. I just wrote about evaluation criteria for EA selection in the previous part (VI), so this time, as a continuation, I would like to delve a little deeper into “how far can you trust the numbers from backtesting.”
Here is the previous article.
https://www.gogojungle.co.jp/finance/navi/articles/117629
Now, this is a common worry in the EA world.
“I won in backtests, but when I ran it in real trading, it performed terribly.”
Why does this phenomenon occur? This time, I’d like to dig into that.
What is backtesting?
First, let’s organize it.
Backtesting isthe simulation of how much an EA could have earned using historical price data.
If you use the MT4/MT5 Strategy Tester, you can get results like “If this EA had run from 2010 to 2025, this would have been the performance” in just a few minutes.
It is an indispensable task during development, and when selling an EA, it is almost always published as “backtest results.”
What is forward testing?
Forward testing isthe recording of performance by running the EA in actual market conditions.
It is common to run the EA in real-time market conditions. Unlike backtesting, since it operates in real market environments, you can obtain results that are closer to reality.
Why does “it wins in backtests but loses in real trading” happen?
This is the main topic. I will list the major causes.
① Spread variation
In backtesting, spreads (the difference between bid and ask) are often set to a fixed value. But in real markets, spreads can widen sharply at economic news releases or during low-liquidity hours.
Scalping-type EAs are especially sensitive to spreads, and backtesting can significantly diverge from real trading.
② Slippage
The difference between the price at which an order is placed and the price at which it is actually filled.
Backtests commonly assume orders fill at the specified price, but in real markets orders may fill at a different price.
③ Requotes
Prices can move at the moment an order is placed, causing the order to be rejected.
This effect gradually impacts scalping EAs and those that frequently use limit orders.
④ Overfitting
As discussed in a previous article (IV), an EA that is overly adapted to past data does not work in future markets.
The better the backtest results, the more caution you should exercise. See details here.
https://www.gogojungle.co.jp/finance/navi/articles/83010
⑤ Data quality issues
If the price data used for backtesting is of low quality, the results will not be accurate.
MT4’s default historical data can be imprecise, and without using “99% quality” data, scalping-type EAs may not be able to perform accurate verifications.
How to correctly use backtesting and forward testing
So, how should you use them?
Backtesting: a tool for development and screening
Used as the initial filter to confirm whether the EA logic can function long-term. An EA that fails here will not work in real trading.
Forward testing: final confirmation before going live
Operate the EA that passed backtesting in real-time markets for at least 3–6 months to confirm. Only then can you judge whether it is a usable EA.
Going straight to a live account without forward testing is like skipping forward testing. Even if it’s a small amount, cultivate the habit of starting with a demo account.
GTX Real Trade Results https://real-trade.tech/accounts/52392
GTX Sales Page https://www.gogojungle.co.jp/systemtrade/fx/34527
Conclusion
Backtesting is a simulation on past data. It deviates from reality
Spread variation, slippage, and requotes cannot be reproduced in backtesting
Always verify real-time results with forward testing in real markets
Proceed in the order: backtest → forward test → real account, with caution
“Do not rely too heavily on backtest numbers” is the best defense against being misled when selecting EAs.
Well then, see you next time!
Renmi’s EA List
https://www.gogojungle.co.jp/users/189446/products