Published: 2026-02-02
Crypto Backtesting: Pitfalls, Fees, Slippage, and Honest Expectancy
A backtest without fees and slippage is marketing. Include realistic costs, watch overfitting, and treat results as a hypothesis to forward-test — not proof of profit.
Open an account (referral links)
Maximize trading profits with TradingView
Charts, alerts, and market analysis in one place. Pair better entries and exits with lower exchange fees.
Try TradingView →What Backtesting Can and Cannot Do
Backtesting runs your rules on historical candles or trades.
It shows how the rule would have behaved — not how it must behave next.
- Can: estimate rough win rate, R:R, drawdown shape
- Cannot: guarantee future liquidity or funding regime
- Cannot: capture exchange outage or delisting
- Output is hypothesis — forward test before size
Always Include Fees in the Simulation
Zero-fee backtests inflate win rate on short-hold strategies.
Use maker and taker assumptions that match live execution.
- Apply fee on entry and exit notional each trade
- Scalps: assume taker-taker unless proven otherwise
- Swing: maker entry plus taker exit is common baseline
- VIP tier change — rerun at realistic rate for your volume
Slippage and Spread Modeling
Historical close price is not always your fill price.
Add slippage ticks on entries, exits, and stops.
- Fixed tick slippage per side — simple first pass
- Percent slippage scales with volatility on alts
- Stop slippage often worse than entry — stress test wider
- Low-volume periods in history may understate live slip
Funding on Perpetual Strategies
Multi-hour holds through funding intervals need carry in the backtest.
Historical funding series exist on many data providers.
- Apply funding at each interval for open position
- Long-short hedges net funding — model both legs
- Funding sign changes regime — full history helps
- Ignore funding and long-hold backtests lie
Overfitting and Parameter Mining
Optimizing twenty parameters on one dataset finds noise, not edge.
Simple rules with stable performance across splits beat perfect curves.
- In-sample vs out-of-sample split mandatory
- Walk-forward: train window, test next window, roll
- Fewer parameters — harder to accidentally fit noise
- If equity curve needs one magic setting, suspect overfit
Survivorship and Data Quality Bias
Testing only coins that survived ignores delisted blowups.
Bad tick data and missing candles distort signals.
- Include delisted pairs if strategy traded alts broadly
- Exchange-specific candles differ — match live venue
- Flash wicks trigger stops — use realistic stop fill model
- Clean data first — garbage in, confidence out
Look-Ahead and Execution Assumptions
Using future candle data in signal logic invalidates results.
Same-bar entry on close is optimistic unless proven fillable.
- Signal on close, enter next open — conservative default
- Indicators needing future bars are invalid in live
- Limit fill assumptions — verify depth existed
- Latency on API strategies not visible in candle backtest
From Backtest to Forward Test
Paper trade or minimum size live before scaling.
Compare live slippage and fees to backtest assumptions monthly.
- Forward test minimum 30 trades or one month
- Track live vs backtest expectancy drift
- Update fee assumptions when VIP tier changes
- Kill strategy if live drawdown exceeds backtest max by wide margin
Quick Summary
Crypto backtesting is useful only with fees, slippage, and funding included.
Overfitting and bad data produce pretty equity curves that die live.
Compare assumed fees to real venue tiers before trusting the output.
- Model round-trip fees on every simulated trade
- Add slippage — especially on stops
- Out-of-sample test before allocating real size
Open an account (referral links)
Maximize trading profits with TradingView
Charts, alerts, and market analysis in one place. Pair better entries and exits with lower exchange fees.
Try TradingView →