How much do trading costs actually matter?
Costs matter enormously, and disproportionately for short-horizon strategies, because the cost is roughly fixed per trade while the target is not.
The clearest way to see it is as a fraction of your stop distance. A strategy risking 10 pips and paying 1.5 pips round-trip is handing over 15% of its risk on every trade before the market does anything. A strategy risking 100 pips pays 1.5%. Same cost, same broker, completely different businesses.
This is why scalping strategies are so much harder than they look in a zero-cost backtest, and why the same logic tested on H4 can survive while its M5 version does not. The edge did not disappear between timeframes — the cost ate it.
It also explains a common and frustrating experience: a strategy that backtests beautifully and bleeds live. Nothing about the logic was wrong. The arithmetic was just done without the largest term.
What spread and slippage assumptions should you use?
Use assumptions at or above what your broker actually charges, deliberately, because being too conservative understates a real edge while being too generous invents one that does not survive contact.
Spreads are not constant, and the variation is not random. They widen around scheduled news, at session boundaries, at the daily rollover, and during illiquid holiday periods. A single average spread applied uniformly will flatter any strategy that trades disproportionately at those moments — which many session-based, breakout and news-reaction strategies do by design rather than by accident.
Slippage is a separate cost from spread and behaves differently. It is worst for stop orders in fast conditions, which is precisely when a strategy is most likely to be exiting under pressure. Modelling it as zero means assuming your worst exits happen at your requested price, which is the opposite of what actually occurs.
Commission and swap deserve a mention even though they are smaller. Commission is straightforward per-lot arithmetic. Swap matters only if positions are held overnight, but for a swing strategy held for days it accumulates into a real number, and it can be positive or negative depending on direction.
Why is my live trading worse than my backtest?
Live trading underperforms a backtest for four reasons, and cost modelling is usually the largest single contributor even when it is not the only one.
Costs set below reality, applied to every trade, compounding with frequency.
Slippage omitted, which biases exactly the trades that hurt most.
Parameters fitted on the same data used to report the result, so live trading is the first genuine out-of-sample test.
Execution differences — delayed fills, requotes, partial fills, the difference between the price you saw and the price you got.
A useful diagnostic: compare your live average cost per trade against what the backtest assumed. If the gap explains most of the performance difference, the strategy logic may be fine and the modelling was the problem. If it does not, the problem is the strategy, and no cost adjustment will rescue it.
Should you use one cost model everywhere?
Yes — whatever assumptions you choose, apply them identically across every test you intend to compare, or the comparison measures your settings rather than your strategies.
A common and subtle failure is running exploratory tests at one cost level and final validation at another. The exploratory results then guided which strategies you kept, using arithmetic you later changed. The selection was made under the wrong model, and the direction of the error is reliably flattering.
The same applies across instruments. If you use a single spread assumption for both EUR/USD and an exotic pair, the exotic is being tested under conditions that do not exist, and any conclusion that it performs comparably is an artefact of the assumption.
Fixing this is not difficult, which is what makes it worth doing: define your cost model once, per instrument, and make every test read from it.