Your backtest probably isn't lying about your entry logic. It's lying about the price you'd actually pay to use it. The default MT4/MT5 Strategy Tester run assumes a spread that never widens, a fill that never slips, and — on many configurations — a commission of exactly zero. Feed it a strategy with a genuinely thin edge and it will hand you a smooth equity curve that has already spent money the live account never had. The documented pattern is consistent: a 55% backtest win rate that settles to roughly 51% live once real costs land, and the gap widens sharply around every scheduled high-impact release. With the ECB meeting July 23 and the FOMC on July 28–29, the next fortnight is a natural stress test for exactly the cost assumptions most retail EAs never modeled.
Three Silent Leaks, One Inflated Curve
Execution cost is not a single line item — it is three separate leaks, each modeled badly by default. Understanding them individually is the difference between a backtest you can trust and a marketing screenshot.
- Spread: The tester typically applies a fixed or current-spread assumption. Real spreads breathe with liquidity and blow out on news — the one moment your fixed number is most wrong.
- Slippage: Out of the box, the Strategy Tester fills you at your requested price with zero adverse slippage. Live, your fill is a moving target that drifts against you precisely when volatility spikes.
- Commission: On ECN/raw accounts the tightest spreads come bundled with a per-lot commission that many backtests simply omit — turning the account with the best raw pricing into the one whose backtest is most optimistic.
Individually these look like rounding errors. Stacked on a short-target system with high trade frequency, they are frequently larger than the edge itself. The rest of this piece quantifies each leak and shows how to force the tester to price them.
Spread: The Number That Betrays You on News
In normal peak-liquidity conditions, raw/ECN EUR/USD spreads run 0.09–0.2 pips (Fusion Markets RAW around 0.09 pips; IC Markets Raw roughly 0.1–0.2 pips, per compareforexbrokers.com and fxscouts.com). That number is real — for about 22 hours a day. In the 60 seconds around a Non-Farm Payrolls print, the same EUR/USD spread that sits at 0.0–0.2 pips can widen to 25+ pips; other broker samples cite blowouts from roughly 1 pip to 10+ pips, or 0.3 pips to 5–20 pips within milliseconds. A fixed-spread backtest doesn't just under-count that event — it doesn't know the event exists.
This is the trap of optimizing in a calm window. EUR/USD is currently in a Common Low Volatility regime, trading near 1.1416 in a 50–70 pip daily range (down from 70–90 pips in June, per Trade That Swing), with VIX at 16.50 and DXY at 100.91 as of July 14. An EA optimized against this backdrop inherits a cost assumption that quietly understates the next regime shift. Before trusting any report, pull up a live EUR/USD chart around the next high-impact release and compare the visible spread and wick behavior to what your tester assumed. Traders can monitor these levels in real time using TradingView, which provides live spread and volatility behavior you can sanity-check against the flat number baked into a Strategy Tester run.
Key Risk for EA Developers: A fixed-spread backtest is not conservative — it is optimistic by construction. Any strategy whose trade timing correlates with scheduled news (breakout, momentum, straddle logic) is systematically most active during the exact windows where the fixed assumption is most wrong. Model variable spread, or accept that your worst fills are invisible.
Slippage: The Cost That Never Appears in the Report
Spread you can at least see. Slippage is the leak that leaves no trace in a default backtest, because the tester fills you at your price. Live, the fill drifts. Median slippage in the ±5 second window around an NFP release runs about 3.8 pips on majors, decaying to roughly 0.6 pips thirty seconds later. That is not a tail event — it is the median. And when EUR/USD can travel 50–100 pips within 60 seconds on a strong surprise, a strategy that enters into that move is paying a fill cost that dwarfs its spread and commission combined.
The disciplined default, echoed across the MQL5 community, is to bias the test against yourself: set slippage slightly worse than what you typically see, so the backtest is skeptical of the strategy rather than flattering it. A strategy that survives a pessimistic slippage assumption is a candidate. One that only prints on zero-slippage fills is reporting an artifact.
MT5 exposes a lever most EA vendors leave untouched: the Strategy Tester Delay setting, which defaults to Zero latency. Setting it to a realistic 50–100ms simulates the round-trip execution lag between signal and fill — the interval during which a fast market moves your entry away from you. For any logic sensitive to entry precision, leaving Delay at zero is equivalent to assuming an infinitely fast broker.
Commission: The Only Cost You Can Actually Pin Down
Of the three leaks, commission is the one with no excuse — it is a known, fixed, published number, and omitting it is pure carelessness. ECN commissions typically run $2.25–$3.50 per side — Fusion Markets at $2.25/side (among the lowest tested in 2026), IC Markets Raw at $3.50/side ($7 round turn per standard lot), FP Markets around $3.50 round turn. That is a hard drag of roughly $4.50–$7 per round-turn lot before spread and slippage even enter the picture.
The perverse consequence: the raw/ECN account that shows the tightest spread — and therefore the most attractive backtest if you model spread alone — is precisely the one carrying the commission a naive test ignores. Model the 0.09-pip spread and skip the $7 round turn, and you have built a backtest of an account that does not exist. On a short-target system, that omitted commission can be a larger share of the target than the spread it was supposed to replace.
// All-in round-turn cost, ECN EUR/USD, standard lot
spread_cost = 0.15 pips // ~$1.50 at $10/pip
commission = $7.00 // round turn, published
slippage_est = 0.6 pips // conservative, calm-market median
// -----------------------------------------------
// all_in ≈ $1.50 + $7.00 + $6.00 = ~$14.50 / RT lot
// A backtest modeling only spread sees ~$1.50 — a 10x understatement.
When the Cost Is Bigger Than the Edge
The reason this matters is not that costs shave a good strategy's returns — it is that costs can invert the sign of a marginal one. The clearest illustration comes from a documented MNQ futures systematic-execution study: the strategy's gross edge was only 0.07 to 1.50 points per trade, and a 2-point round-trip transaction cost fully eliminated it. The entire edge was smaller than the cost of trading it. No amount of parameter tuning fixes that; the strategy was never profitable, the backtest just hadn't charged it yet.
Equity markets show the same pathology. One published example ran a system to +23.26% cumulative return on MSFT, then applied transaction costs and slightly different — but equally defensible — assumptions, and watched it flip to -22.04%. A sign reversal of that magnitude from cost assumptions alone is the fingerprint of an overfit, cost-blind backtest. And the drag compounds: a strategy with a 3.9% no-cost annual return eroded to an annualized 6.2% loss — 62% cumulative over a decade — once low-single-digit-bps costs were applied with daily rebalancing (QuantPedia/BSIC-style analysis). The higher your trade frequency, the more every basis point of unmodeled cost is multiplied.
Key Risk for EA Developers: If your strategy's per-trade edge is within an order of magnitude of your all-in cost, the backtest's sign is meaningless until costs are modeled correctly. Treat any thin-edge, high-frequency system as guilty until proven cost-positive — the MNQ and MSFT cases are what "passed the backtest, failed live" looks like on the way down.
"Most Accurate" Is Still Only As Good As the Data
MT5's Every tick based on real ticks mode is the right default — it downloads the broker's actual tick history for the test window instead of synthesizing ticks from OHLC bars. But it carries a quiet caveat: where real ticks are missing, the tester silently falls back to synthetic Every tick generation. That means even the "most accurate" mode is only as accurate as your broker's tick-history coverage for the period you are testing — and gaps tend to cluster around exactly the volatile, illiquid moments where fills are hardest.
The practical implication is to verify coverage, not assume it. A real-tick backtest over a window your broker only partially covers is a hybrid: real where convenient, synthetic where it matters most. Pair this with the fill-modeling mechanics covered in the companion piece on OHLC interpolation — the cost model in this article and the fill model in that one are two halves of the same question, what price would I actually have gotten?
The Settings to Fix Before You Trust a Single Report
None of this requires new tooling — it requires refusing to trust a default. Before any MT5 Strategy Tester report earns your confidence, set these five things and re-run:
- Tick mode: Every tick based on real ticks — then confirm your broker actually has tick coverage for the window, or accept that gaps are synthetic.
- Spread: Variable, not fixed. If the tester or your data can't supply variable spread, at minimum re-run at 2x your typical spread as a floor stress test.
- Slippage: Modeled conservatively — slightly worse than your observed average, so the test is biased against the strategy.
- Delay: 50–100ms, not the default Zero latency, to price in execution lag.
- Commission: Your account's actual published round-turn figure ($4.50–$7 on typical ECN), never zero.
Then time the re-validation to real event risk. The ECB Governing Council meets July 23, with markets pricing roughly an 88% probability of a hold at 2.25%; the FOMC follows on July 28–29. With the Fed–ECB rate differential at roughly 125–150 bps in the dollar's favor and driving EUR/USD positioning, both meetings are natural spread-and-slippage stress windows. A strategy that keeps its edge across a realistically-costed backtest and survives contact with those releases is a candidate for live capital. One that only prints on the tester's defaults was never the strategy you thought you were testing — it was the cost model you forgot to write.
Ready to build and test your own strategies?
FX Strategy Analyzer's EA Analyzer Pro helps you stress-test MT4/MT5 strategies across historical regimes — built by traders, for traders.
Open EA Analyzer Pro →Track live market conditions alongside your EA performance. TradingView gives you professional-grade charts and real-time data — new subscribers receive $15 toward their first plan.
Open TradingView Charts →