Guide

How to Backtest a Crypto Strategy Without Writing Code

Published 19 September 2026

A written process for testing a trading idea against real history, one candle at a time — no spreadsheet, no script, just rules you write down before you look at what happened.

The short version

  • Write the rules down before you look at a chart: entry, exit, stop, and size.
  • Pick one market and one period, then hide everything after your starting point.
  • Replay bar by bar and take every trade the rules produce — none skipped, none added.
  • Journal every trade: entry, exit, result, and why.
  • Read win rate, average R and max drawdown together, never win rate alone.
  • Run the same, unchanged rules again on a second period you have not looked at yet.

01 Why bar-by-bar replay, not a chart you already know the ending of

When you look at a finished chart, your eye already knows where price went next. Every reasonable-looking setup seems obvious once the outcome is visible — that is hindsight bias, and it is the main reason a strategy that looks great scrolling through history stops working once real time starts moving forward again.

Bar replay fixes the order of information, not the strategy. Candles are revealed one at a time, so you decide before you see what happens next — the same order the market actually delivers them in. FreeBacktest does this with real historical candles from Binance, OKX and Bybit, stepping forward one bar at a time in the browser, with history going back to January 2020 on the longer timeframes.

02 Step 1 — Write the rules down before you open a chart

A rule only counts as a rule if someone else could follow it from your notes without asking you a question. That means four things, written down, before you press play: what has to happen for an entry, what closes the trade for a win, exactly where the stop sits, and how big the position is.

"Size" should be a formula, not a feeling — for example, risk a fixed percentage of the account on every trade, so a single loss can never do outsized damage. A position size calculator turns that fixed percentage and a stop distance into an exact number of units instead of a guess made on the fly.

03 Step 2 — Pick a market and a period

Choose the symbol, the exchange, the timeframe and a starting date before you touch the chart. Deciding any of these after watching how price moved is the same hindsight problem as Step 1, just one level up — a period picked because it "looks like a good test" is a period picked with the answer already known.

FreeBacktest's replay covers Binance, OKX and Bybit history back to January 2020 — on the free plan the depth depends on the timeframe: the whole history back to January 2020 on 3-day, weekly and monthly charts, about a year on daily, and roughly the last 17 days on 1-hour and 67 days on 4-hour. Even inside those limits there is range to test across more than one kind of market — a strong trend, a slow chop, a sharp drop — instead of only whichever period happens to be recent.

04 Step 3 — Hide the future

This is the mechanical core of the process. The chart stops at your starting date and shows nothing after it. Each step forward reveals exactly one new candle. Between steps, you place orders the way you would live — a market order that fills at the price on screen, or a limit order, a stop-loss and a take-profit that sit and wait for a future candle to reach them.

FreeBacktest's replay starts you with a $10,000 virtual balance and supports both market and limit orders with stop-loss/take-profit attached, so the mechanics match placing a real order without risking one.

05 Step 4 — Take every trade the rules give you

The easiest way to ruin a backtest is to skip the setups that "don't feel right" and only take the ones that do. That is not testing the rules — it is testing your gut, with the rules used as decoration afterward. If a trade the rules describe shows up, take it, log it, and move on.

If a rule turns out to keep producing trades you don't actually want to take, that is useful information — but the fix is to go back and rewrite the rule, then rerun the whole test with the new version. A one-off exception made mid-run quietly turns the backtest into a record of your judgment, not the rule's.

06 Step 5 — Journal every trade

Each trade gets a line: instrument, direction, entry price and time, stop, target, exit price and time, the result, and one sentence on why the rule fired. Skipping this step is how a backtest quietly turns into a memory of the trades that went well.

FreeBacktest keeps this automatically inside replay — every simulated trade lands in a trade journal with win rate, P&L and R:R already calculated, so there is no manual copy-paste step between placing the order and reading the number back.

07 Step 6 — Read the numbers together, not win rate alone

Win rate by itself says almost nothing. A system that wins 35% of the time can still be profitable if the average win is large relative to the average loss; a system that wins 65% of the time can still lose money if the losses run bigger than the wins. The number that connects them is R — a trade's result measured in multiples of what was risked, not in dollars.

The other number worth reading is max drawdown — the largest peak-to-trough dip the account took during the test. It is a rough measure of how long a losing streak the rules can produce, and whether that is a streak you could actually sit through with real money on the line.

08 Step 7 — Test again, on a period you have not looked at

If the stop got widened, or the rule got tightened, after watching it play out on the first period, the rules are no longer independent of that period — they were shaped by it after the fact. The fix is to run the exact same, unedited rules on a second stretch of history you have not replayed before, ideally from a different market condition than the first.

If the results hold up in roughly the same shape, that is a small piece of evidence the rules found something real. If they fall apart, the first result was closer to noise than an edge — worth knowing before it costs anything.

09 The honest limits of manual backtesting

Bar-by-bar replay is closer to real trading than scrolling a finished chart, but it is still not real trading. It is worth being direct about where it stops being reliable:

  • Small sample. A few dozen trades from one replay session is a small, noisy sample — the same rules run again on a different stretch of history can show a meaningfully different win rate and average R purely by chance.
  • Discretion doesn't fully disappear. Even with rules written down, a person clicking through candles makes small judgment calls — exactly where a wick counts, exactly when a level was "touched" — that a machine running the identical rules would not make. That is inherent to doing this by hand, not a mistake to eliminate.
  • No fees or slippage. A hand backtest, including one run in FreeBacktest's simulation, does not subtract exchange fees, funding costs or slippage from the result. A live version of the same rules will do worse than a backtest showing a thin edge or breakeven.
  • Past bars aren't future bars. However carefully the process was run, a result on historical candles is not a promise about the next one.

Run this process on FreeBacktest

FreeBacktest is a free, browser-based tool built for this: replay real historical candles from Binance, OKX and Bybit — bar by bar — and paper-trade them with a $10,000 virtual balance using market or limit orders with stop-loss and take-profit attached. Every trade lands in an automatic journal with win rate, P&L and R:R, and a replay can be shared in the same backtest room. The free plan is available today; Pro and Elite plans exist but checkout is not open yet.

Start your first backtest

FreeBacktest is an educational tool. Nothing here is investment advice. Past results — real or simulated — do not predict future results.