Overview

Backtest pitfalls

Look-ahead, over-fitting, regime dependence, and other ways backtests lie.

1 min readUpdated Jun 19, 2026

A clean backtest doesn't guarantee a live winner. Watch for these:

Look-ahead bias

The engine guards against using current-bar values for current-bar decisions, but custom indicator setups can still leak. Spot it when a backtest catches every reversal exactly at the bottom.

Over-fitting

Tuning parameters until the in-sample backtest is great. The out-of-sample window then disappoints. Validate with walk-forward (run on years 1-3, test on year 4; slide and repeat).

Regime dependence

A strategy that won during 2020-2021 bull crypto may not win in choppy 2022. Test across multiple regimes.

Sample size

trade_count < 30 is essentially noise. Look for sample sizes that let you estimate win rate with reasonable confidence intervals.

Survivor bias

If your candle data covers only currently-traded symbols, results are biased toward symbols that didn't fail. LucraX symbols are all currently traded - be careful generalizing from a single symbol.

Costs

Zero fees + zero slippage produces unrealistic numbers. Set them to your venue's actual rates.

Stop fills inside spread

In live trading a stop can fill at a slightly worse price than the trigger. Backtest doesn't model this. Account for a few bps of extra cost on stop exits.

Liquidation modeling

The engine does not simulate per-position liquidation precisely. For leveraged strategies near liquidation distance, treat backtest results as best-case.

What helps

  • High trade count
  • Walk-forward validation
  • Out-of-sample testing
  • Multiple symbols / regimes
  • Paper trading before going live
Backtest pitfalls | Help Center | LucraX · LucraX