What is this topic about?
These guides show you how to check a trading idea against old prices before you trust it. A backtest runs a trading rule on old prices to see what it would have done. A perp is a futures contract that never expires. Each guide covers one step, from setting a stop to checking your fills after a trade.
Every guide uses numbers we measured ourselves. They describe what happened before. They are past cases, not a forecast, and none of them tell you what to buy, sell or hold.
What did we measure?
- Stops get touched more often than people expect. On Binance Bitcoin perps, from September 2019 to October 20, 2026, price touched a level 2% below an hourly close within the next 24 hours in 39.29% of cases. A level 1% below was touched in 63.54%, and 3% below in 24.24%.
- A stop based on each coin's own range behaved alike across coins. A stop at 3 times each coin's recent average hourly range was reached within 24 hours in 33.95% to 35.78% of windows on all ten Binance coins we checked, with histories running to October 19, 2026.
- A rule that looked great on old dates failed on later ones. The best of 1,000 random rules on Binance BTCUSDT gained 155.22% after fees from 2019 to 2022, then lost 51.72% after fees from 2023 to September 2026 with the rules unchanged.
- Small gaps can be pure luck. Across 12 markets (10 Binance perps and 2 Coinbase spot markets) from January 2020 to September 2026, 3,600 chart look-alike tries picked the next-day direction 50.22% of the time, against 50.92% for always guessing "up". That gap was too small for the data to say which was better.
- Normal price moves are big next to fees. Binance BTCUSDT perps moved a mean of 0.42% per hour on weekdays and 0.29% on weekends (ignoring direction), from September 8, 2019 to October 20, 2026.
Where should you start?
Read these in order. The first ones need no code. The later ones are for people who write code or download data.
- How wide should a crypto stop loss be? What the data shows.
- Crypto position sizing by volatility: the math, real numbers: from stop to trade size.
- How to backtest a crypto chart pattern: 5 ways compared.
- How many trades does a backtest need to be significant?.
- Freqtrade vs vectorbt vs Backtrader for crypto backtests.
- Find similar chart patterns in Python, or use an API?: five common mistakes.
- CCXT vs a hosted data API: which for crypto history?.
- How to download Hyperliquid historical data and check it.
- What is a markout in trading? How to check your fills: did price move with you after a trade?