Freeze the Costs Too: Why a Forward Test Can Fool You

Freeze the Costs Too: Why a Forward Test Can Fool You

8 October 2026, 20:50
Ebrahim Yousry A Ahmad
0
16
In my last post, From Backtest to Validation, I described the sequence I use to check whether a strategy is real: develop the rules, freeze them, test out of sample, try other markets, then forward test.

A conversation on X this week added something I should have spelled out: freezing the rules is not enough. You also have to freeze your assumptions about costs and execution. Otherwise two tests that look comparable are not testing the same system.

What "execution assumptions" means

Every backtest quietly answers these questions for you:

- Spread: a fixed number, or the real recorded spread, which widens around news and at the daily rollover?
- Commission: per lot, per side, or forgotten?
- Swap: charged on trades held overnight?
- Slippage: do stops and market orders fill at the exact price, or worse?
- Delay: does the order reach the server instantly?

None of these appear as a separate line on the equity curve. They are baked into it.

The first way a test lies: it is too kind

Early on, almost every indicator I tested looked good in a backtest and failed live. One of the reasons was simple: I underestimated costs.

Here is how much a small cost matters. Take a trade with a 10-pip stop and a 20-pip target. With no costs, you break even if you win one trade in three (33.3%). Add a 1-pip spread and you are really risking 11 pips to make 19. Break-even moves to 11 ÷ 30 = 36.7%.

That is more than three extra percentage points of win rate just to stand still, and the tighter the stop, the bigger the shift. A strategy that wins 35% of its trades makes money in the first test and loses money in the second, with exactly the same rules.

The second way a test lies: the comparison is not fair

This is the point from the X conversation. Say you backtest with one set of costs, then forward test on a different account type or broker, or you switch the tester from a fixed spread to real ticks. The forward result comes out better, and it is tempting to read that as confirmation.

But you changed two things at once. The strategy is seeing new data, and it is being charged different costs. A better forward result might just mean a kinder cost model, not a better system. It works the other way too: a sound strategy can look broken because the live account is more expensive than the backtest assumed.

Demo accounts deserve a special mention. They often fill more smoothly than a real-money account, with little or no slippage, so a forward test on demo tends to be on the kind side.

Same rules, same costs, or the comparison tells you nothing.

What to freeze before the first test

1. The rules (as in the last post).
2. Symbol, timeframe and data source.
3. The spread model. In MT5, "Every tick based on real ticks" uses the broker's recorded spreads.
4. Commission and swap, matching the account type you would actually trade.
5. Execution. The MT5 Strategy Tester has a delay setting; "Zero latency, ideal execution" is the most optimistic choice.
6. Position sizing and starting balance.

Every later test (out of sample, other markets, forward) uses the same list. If something on the list has to change, a new broker for example, treat it as a new test, not a continuation of the old one.

For EUR FORGE, the published tests use IC Markets real-tick data with the tester set to zero latency, ideal execution. That is the optimistic end of the scale, which is exactly why the forward test on a live account matters more than any backtest.

One extra step: make the costs worse on purpose

Once a strategy passes, it is worth running it again with costs deliberately made worse: a wider spread, a higher commission, an execution delay. If a little extra cost wipes out the edge, the edge was too thin to survive live trading anyway. If the results bend but hold, that tells you more than any single equity curve.

Your turn

Which cost surprised you most when you went from backtest to live: spread, commission, swap or slippage? Tell me in the comments.

If you want to see how a rule-based EA behaves in your own tester, with your own broker's costs: EUR FORGE has a free demo on the MQL5 Market. Run it in the MT5 Strategy Tester on a PC:

Trading involves risk. Historical Strategy Tester results are not a guarantee of future performance. Results can vary by broker, spreads, commissions, swaps, execution, leverage, liquidity and price data.