FXRISK Manual

Slippage & Spread Reality: What Backtests Miss

Backtests assume clean fills. Real markets fill you worst when urgency is highest. Learn to think in regimes, not averages.

Most strategies die in the gap between the chart and the fill. Backtests assume you can trade the printed price. Real markets charge you for urgency, and they charge more when you’re least prepared.

This pillar is the execution reality layer under the entire manual. If you treat spreads and slippage as “just costs,” you will underestimate risk exactly when risk becomes discontinuous.

The mental shift: execution has regimes

Average spread and average slippage are comforting and mostly useless. The losses that matter come from clusters:

  • around major releases (liquidity withdraws, quotes jump),
  • around stop cascades (everyone exits together),
  • during thin windows (rollover, holidays, Sunday open, late Friday).

The question is not “what is the average slippage?” The question is: what is the tail slippage when my strategy is forced to act?

Spread is a risk input, not a fee

Spread is the price of immediacy. When volatility rises, spreads widen and the effective distance to your stop shrinks. That means your position size was bigger than you thought.

  • Spread-to-range ratio: if spread becomes a meaningful fraction of the candle/range you’re trading, micro-edges disappear.
  • Session dependence: spreads are different in Asia vs London vs New York. Your edge must be evaluated in the session you actually trade.
  • Broker behavior: some brokers widen more aggressively because their upstream liquidity is thin or because they manage risk defensively.

Slippage is conditional, not constant

Slippage is the difference between intent and reality. It arrives when:

  • price moves through your level faster than quotes refresh,
  • liquidity is not available at the displayed price,
  • your order becomes a market order (stops, markets, some limits in fast moves).

In practice, you should assume two slippage states:

  • Normal: small, mostly symmetric.
  • Stress: large, mostly against you, clustered in time.

What backtests miss

Classic backtests usually fail in three ways:

  1. They assume fills at bar prices (open/high/low/close), which is not how execution works under speed.
  2. They use fixed friction (a constant spread), but friction expands in the only regime that matters.
  3. They ignore latency (signals arrive late, orders arrive later).

That’s why a strategy can look “mathematically sound” and still be operationally fragile.

Upgrade your testing: a simple execution stress harness

You don’t need perfect simulation to stop lying to yourself. You need a conservative harness that breaks fragile strategies early.

Step 1: variable spreads by session and volatility

  • Define a “normal” spread range for each session you trade.
  • Add an “elevated” multiplier for risk windows (events, opens).
  • Add a “broken” multiplier for volatility spikes (rare, but decisive).

Step 2: inject tail slippage

On a small percentage of trades, apply a worse fill on entry or exit. The exact number matters less than the concept: tails exist.

Step 3: sensitivity test your stop

Ask: if the stop fills 0.1R, 0.2R, 0.3R worse, does expectancy survive? If your edge dies from a realistic tail, it was never robust.

Step 4: latency penalty

If your strategy is triggered by fast movement, assume you are late. The market will not wait for your mobile app. Add a delay or a worse fill on a subset of trades.

Execution-aware rules that survive

  • Use size as the universal adapter. If spreads are wider, size down. If the tape is fast, size down. If you feel urgency, size down.
  • Use a spread gate. If spread exceeds your threshold, you either skip or reduce. A gate is not an opinion; it’s a rule.
  • Define no-trade windows. Rollover, Sunday open, major releases. You don’t need to trade the worst liquidity to prove competence.
  • Prefer robust edges. If your edge requires tight stops and perfect fills, your real risk is execution, not direction.

How to measure execution without overengineering

You need a log that beats memory. Keep it simple:

  • Pair, timestamp, session.
  • Spread at entry and exit (or at least “normal/elevated/broken”).
  • Slippage (did you get worse than expected?).
  • Regime note (“fast”, “thin”, “event”).

After 50 trades, you’ll see patterns that no forum argument can erase.

Practical checklist before you click

  • Is spread normal for this pair right now?
  • Is this a window where liquidity is known to disappear?
  • Is your stop distance large enough to survive normal rotation plus a bad fill?
  • Could a spread blowout alone hit your stop or margin?
  • If you are filled worse, do you still accept the trade?

In FXRISK Manual, execution realism is not pessimism. It’s the difference between “a strategy” and “a backtest story.”

Why slippage is asymmetric

Traders often assume slippage is “fair.” In reality, it is often directional against the client in stress because:

  • your order is urgent (you are crossing the spread),
  • liquidity providers protect themselves (quotes widen or disappear),
  • some execution models allow rejection when price moves (“last look”), which filters out the fills that would have improved you.

The practical implication: treat the tail as a default possibility, not an outlier you can ignore.

Order types: match the tool to the regime

  • Market orders: maximum certainty, minimum price control. Use only when the regime is liquid or the size is small.
  • Limit orders: maximum price control, minimum certainty. In fast markets, limits can leave you unfilled and watching price run.
  • Stops: certainty of participation, uncertainty of price. Stops behave like market orders when triggered.

A simple survivor rule: in stress regimes, reduce reliance on tools that require precision. Either widen your tolerances (and size down) or step aside.

Broker model differences that change your results

Two traders can run the same strategy and get different outcomes because their brokers route orders differently. Some common realities:

  • different liquidity sources at different times,
  • variable spreads and markups,
  • trade rejection/cancellation policies in fast markets,
  • price source discretion during outages or spikes.

This is why Broker Reality clauses belong in the same manual as strategy rules. Your venue is part of your edge.

Micro-case: the stop cascade

When a level breaks and a cluster of stops triggers, the market can “jump” through prices. Your chart prints a wick. Your account prints a worse fill. If you size as if the wick is tradable, you are mispricing risk. The fix is boring: reduce size, widen distance, avoid obvious clusters, and accept that some environments are not meant for tight-stop trading.

Note: Execution-aware risk notes. Not signals. Not advice. Assumes you can lose everything.

Related truths

Related chains