Every trader has had the experience of seeing a strategy that looks good in theory, trading it live, and watching it lose money immediately. Backtesting is the discipline of testing a strategy against historical data before risking real capital. Done right, it separates strategies with genuine edge from ones that just looked good in your head.
This guide covers the right process for backtesting crypto strategies, the metrics that actually matter, and the mistakes that make most backtests worthless.
Before testing anything, write down exact entry conditions, exit conditions (stop loss, take profit, signal exit), position sizing rules, and which timeframe and market you're trading. Vague strategies produce vague results.
Use real historical candle data from the exchange you'll trade on. Bybit, Binance, and Coinbase have different prices and liquidity. A strategy that works on Binance may not transfer to Bybit. Use at minimum 90 days of data; 6–12 months is better.
Test on your main dataset. Record every trade: entry price, exit price, direction, P&L, duration. Calculate the key metrics (see below).
Hold back a portion of data (e.g. the most recent month) and only test on it after finalising your parameters. If the strategy works in-sample but falls apart out-of-sample, you've overfit to noise.
Bybit spot taker fees are 0.1%. On a 5m chart with many trades, fees compound quickly. A strategy with a 15% gross return might be 6% net after realistic fees.
Does the strategy actually beat just holding the asset? If not, the extra complexity isn't worth it.
Percentage of trades that close profitably. Meaningless without knowing the average win and average loss size.
The largest peak-to-trough decline in the equity curve. This is what determines whether you can psychologically stick with the strategy.
Total return divided by number of trades. If average trade is smaller than your fee, the strategy loses money by definition.
Total gross profit divided by total gross loss. Below 1.0 means losing strategy. Above 1.5 is solid. Above 2.0 is excellent.
More trades = more statistical significance. A 20-trade backtest is statistically meaningless. You want 50+ trades minimum.
Optimising parameters until the historical results look amazing almost always produces strategies that fail live. If you tested 50 combinations of RSI period and threshold and picked the best one, you found noise, not signal. The more parameters you optimise, the worse the out-of-sample results will be.
Red flag: If your backtest shows a 200%+ return with under 20% drawdown across all markets and timeframes tested, you've almost certainly overfit. Real edge is typically more modest and doesn't work everywhere.
Using information in your entry signal that wouldn't have been available at the time of the trade. Common example: entering at the open of a candle based on that candle's close. This is impossible in real trading but easy to do accidentally in a backtest.
Your backtest fills orders at the exact signal price. In reality, market orders fill at the spread, and large orders move the price. On 5m charts with many trades, slippage can significantly erode returns.
Testing only on assets that exist and are liquid today ignores the many tokens that crashed to zero. If your backtest dataset only includes current top-100 coins, your results will be too optimistic.
Single-indicator strategies are the easiest to backtest but typically have too many trades and too much noise. Combining multiple indicators into a confluence signal — where 2 or more indicators must agree before entering — produces fewer trades but higher quality ones. The Strategester Mix & Backtest engine is built specifically for this approach: select 2–7 indicators, set your parameters, and see the real results on 90 days of Bybit candle data.
Good starting parameters: Start with a 1h timeframe, 30-day range, 2.5% stop loss, and 2.5% take profit. Enable trend filter and RSI filter. Run the backtest, look at the trade log for patterns in the losing trades, then adjust one variable at a time.
The right time to stop is when the strategy is profitable across multiple markets and timeframes with the same parameters, the out-of-sample test confirms the in-sample results, and you have at least 50 completed trades. At that point, trade it live with a small position size and compare live results to backtest expectations for 30 days before scaling up.
The Strategester Mix & Backtest engine runs on 90 days of real Bybit candles across BTC, ETH, SOL, and BNB. No code required.
Open backtester →