MT5 EA Backtests vs Live Results. What Am I Missing?

 

For anyone trading with IC Markets or Pepperstone, how are you getting your live results to line up with what you see in backtesting?

I’ve built several bots that look profitable when I backtest them on MT5 real tick data. I’ve spent weeks testing, tweaking the logic, and refining the code, and the backtests look solid. But when I run the same EAs on a live demo, the performance is nowhere near what the backtest shows.

I understand that market conditions change, but this has been consistent for weeks now, so I feel like something else is going on.

Is MT5 tick data actually reliable for brokers like IC Markets? How do you properly backtest EAs using real, accurate market data instead of MT5’s simulated ticks? And what do you do to narrow the gap between backtest and live results?

 
salemtrading5:

For anyone trading with IC Markets or Pepperstone, how are you getting your live results to line up with what you see in backtesting?

I’ve built several bots that look profitable when I backtest them on MT5 real tick data. I’ve spent weeks testing, tweaking the logic, and refining the code, and the backtests look solid. But when I run the same EAs on a live demo, the performance is nowhere near what the backtest shows.

I understand that market conditions change, but this has been consistent for weeks now, so I feel like something else is going on.

Is MT5 tick data actually reliable for brokers like IC Markets? How do you properly backtest EAs using real, accurate market data instead of MT5’s simulated ticks? And what do you do to narrow the gap between backtest and live results?

Forum on trading, automated trading systems and testing trading strategies

How to perform a backtesting, equivalent to the real trading.

Sergey Golubev, 2020.04.08 07:35

MT5 - Testing trading strategies on real ticks and the explanation is on this post.

----------------

Testing trading strategies on real ticks - the article

If you need the most accurate representation of history data in the strategy tester, use "Every tick based on real ticks" mode. In this mode, the tester downloads real ticks from a broker's trade server and uses them to display the price development. In case real ticks are absent for some time intervals, the tester simulates the price just like in the "Every tick" mode. Thus, if the broker has all history of the required symbols, you can perform testing of real historical data without artificial modeling. The drawback of the mode is a significant increase in test time as shown in the comparison table above.

----------------



 
salemtrading5:

For anyone trading with IC Markets or Pepperstone, how are you getting your live results to line up with what you see in backtesting?

I’ve built several bots that look profitable when I backtest them on MT5 real tick data. I’ve spent weeks testing, tweaking the logic, and refining the code, and the backtests look solid. But when I run the same EAs on a live demo, the performance is nowhere near what the backtest shows.

I understand that market conditions change, but this has been consistent for weeks now, so I feel like something else is going on.

Is MT5 tick data actually reliable for brokers like IC Markets? How do you properly backtest EAs using real, accurate market data instead of MT5’s simulated ticks? And what do you do to narrow the gap between backtest and live results?

It’s a common frustration. Even with "Every tick based on real ticks," backtests often fail to account for the "Silent Killers" of live trading. Here are three things you might be missing:

  • Execution Latency (Slippage): MT5 backtests execute trades almost instantly. In live trading with IC Markets or Pepperstone, there's a delay (milliseconds) between the signal and execution. For scalpers, even 1-2 pips of slippage can turn a winning strategy into a losing one.

  • Variable Spreads & Commissions: Are you factoring in the raw commission per lot in your tester settings? Also, spreads widen significantly during news events or low liquidity (rollover), which the backtester might smooth out.

  • Order Fill Logic: In backtesting, you always get filled at the price you see. In live markets, especially with larger lot sizes, you might face partial fills or price rejection.

Pro Tip: Try running your backtest with a "Custom Delay" (e.g., 50-100ms) in the MT5 Strategy Tester settings to see how much your strategy relies on perfect execution. If the profit vanishes with a small delay, the strategy isn't robust enough for live markets.

Good luck!

 
salemtrading5:

For anyone trading with IC Markets or Pepperstone, how are you getting your live results to line up with what you see in backtesting?

I’ve built several bots that look profitable when I backtest them on MT5 real tick data. I’ve spent weeks testing, tweaking the logic, and refining the code, and the backtests look solid. But when I run the same EAs on a live demo, the performance is nowhere near what the backtest shows.

I understand that market conditions change, but this has been consistent for weeks now, so I feel like something else is going on.

Is MT5 tick data actually reliable for brokers like IC Markets? How do you properly backtest EAs using real, accurate market data instead of MT5’s simulated ticks? And what do you do to narrow the gap between backtest and live results?

I had same problem as you. Finally I figured out the problem. I have the direction on how to solve it but not yet successful.  The problem on backtesting is that you find out the overfit setting, which will only work on live if the live is exactly same market condition as the market condition in your backtesting. You may get profit in live for a while and then lose back the gained profit.
 
salemtrading5:

For anyone trading with IC Markets or Pepperstone, how are you getting your live results to line up with what you see in backtesting?

I’ve built several bots that look profitable when I backtest them on MT5 real tick data. I’ve spent weeks testing, tweaking the logic, and refining the code, and the backtests look solid. But when I run the same EAs on a live demo, the performance is nowhere near what the backtest shows.

I understand that market conditions change, but this has been consistent for weeks now, so I feel like something else is going on.

Is MT5 tick data actually reliable for brokers like IC Markets? How do you properly backtest EAs using real, accurate market data instead of MT5’s simulated ticks? And what do you do to narrow the gap between backtest and live results?

Hello, greetings. I experienced the same thing between Backtest and real live trading.  1 thing I always remember is "Past performance does not guarantee future results". For me, backtesting is not a benchmark for getting the same results. The backtest period, even if it differs by only 1 day, can provide different results, especially if the backtest period is longer. For example, the 2024 period is very different from the current 2026. With the same input values, the results can be very different, for example we only backtest in 2026 then we backtest only in 2024. Another thing in my opinion that is different is our emotions when trading. When backtesting we only see the final results at TP or SL and there is no emotion there, but during live trading when hit by SL we immediately panic and feel that the EA is wrong then try to revise again and so on. For me personally, Backtest is just to test that EA's risk management is working as we designed it. I usually backtest using Every Tick Base on Real tick with a minimum period of 2 years. In my experience in backtesting, we can extend the backtest period with maximum results, but when live there is no OPEN TRADE for a long period of time, this is because we set it so tightly for the previous period even though the current market is much different. If I may suggest, when you have got good backtest results, let your EA run for at least 1 month and then evaluate the results. If possible, just use a Live account, don't DEMO, because in my opinion the DEMO ACCOUNT data is still not as real as if you used a Real Account because the Demo account may not be subject to slippage, execution only on the Broker server, etc. Happy trading.
 

Something worth checking that is separate from tick quality: how much edge each trade actually has relative to your costs.


Divide net profit by number of trades. If a backtest makes 800 USD over 400 trades, that is 2 USD per trade. Then compare that against your realistic round-trip cost on that symbol and volume - the spread at the moment you actually enter, plus commission, plus slippage. If per-trade profit is the same order of magnitude as the cost, the strategy has effectively no edge, and the gap you see live is simply that live pays the real cost while the tester paid an idealised one.


Two specific reasons the tester is optimistic on cost:


1. Spread. Unless you are on real ticks with recorded spread, the tester often applies the current or minimum spread rather than the variable spread you actually get, and it will not widen at news or session open the way your broker does.


2. Commission. On raw or ECN accounts it is frequently not modelled at all unless it is present in the symbol specification. Check whether your report shows a commission line. If it does not, your backtest ran commission-free.


I hit exactly this recently. A crossover EA showed +6.4% in-sample on 2023-2024 and +0.84% out-of-sample on 2025-2026. Positive both times, which looks acceptable, until you divide: 413 trades for 84 USD net, about 0.20 USD per trade. That is under the cost of entering. The live gap there would not be tick quality at all - the entire result sat inside the spread.


One more thing, and I think it matters more than the tick question. Spending weeks tweaking logic until the backtest looks solid is itself a fitting process, even with no optimizer involved. If the only data you ever check against is the period you tuned on, live will always disappoint. Tune on one period, then run once on a period you have never looked at, and treat that second number as the real one.

 
Mostafa Ghanbari #:

It’s a common frustration. Even with "Every tick based on real ticks," backtests often fail to account for the "Silent Killers" of live trading. Here are three things you might be missing:

  • Execution Latency (Slippage): MT5 backtests execute trades almost instantly. In live trading with IC Markets or Pepperstone, there's a delay (milliseconds) between the signal and execution. For scalpers, even 1-2 pips of slippage can turn a winning strategy into a losing one.

  • Variable Spreads & Commissions: Are you factoring in the raw commission per lot in your tester settings? Also, spreads widen significantly during news events or low liquidity (rollover), which the backtester might smooth out.

  • Order Fill Logic: In backtesting, you always get filled at the price you see. In live markets, especially with larger lot sizes, you might face partial fills or price rejection.

Pro Tip: Try running your backtest with a "Custom Delay" (e.g., 50-100ms) in the MT5 Strategy Tester settings to see how much your strategy relies on perfect execution. If the profit vanishes with a small delay, the strategy isn't robust enough for live markets.

Good luck!


The reason is indeed ghost charges you do not see in backtesting. Depends also on the symbol and the strategy (scalp or breakout will tend to eat more than an intraday swing trade for instance) and broker related slippages or bad fills are the main reason. There are tools under utilities that analyse this in depth.