Back to Insights

Market Analysis ·

A Crypto Backtesting Example for SMC Traders

A Crypto Backtesting Example for SMC Traders

A chart can make any setup look obvious after price has already moved. The purpose of a crypto backtesting example is to remove that hindsight advantage and determine whether your trading model produces repeatable decisions under predefined conditions. For an SMC trader, that means testing the sequence of liquidity, displacement, market structure shift, and retracement into a point of interest - not simply marking every order block that happened to work.

Backtesting is not a shortcut to certainty. It is a controlled way to find out whether your execution rules have an edge, where the model fails, and whether your risk parameters allow you to survive normal drawdown. If you cannot define a setup clearly enough to test it, you cannot expect to execute it consistently in live conditions.

The Trading Model to Test

A useful backtest begins with a narrow model. Do not test every ICT methodology concept on one chart. Combining fair value gaps, breaker blocks, order blocks, premium and discount arrays, multiple sessions, and several time frames without strict rules creates a data set you cannot interpret.

For this example, use a BTC/USD intraday long model built around a sell-side liquidity sweep during the New York session. The model has five conditions:

  1. Price must be trading within a higher-time-frame bullish dealing range, defined using the most recent four-hour swing low and swing high.
  2. During the New York session, price must trade below an identifiable intraday low, taking sell-side liquidity.
  3. The sweep must be followed by bullish displacement that closes above the most recent five-minute lower high. This is the market structure shift.
  4. Price must retrace into the bullish fair value gap created by the displacement leg.
  5. Entry is permitted only if the fair value gap remains within the discount half of the active intraday range.

The stop loss sits below the low that swept liquidity. The first target is opposing intraday liquidity, while the full target is the nearest external buy-side liquidity or a fixed 2R objective, depending on which is reached first. Risk one fixed percentage of account equity per trade, such as 0.5%.

These rules are not presented as a universal BTC strategy. They are a testable framework. The point is that another trader should be able to review the same chart and reach nearly the same decision.

A Crypto Backtesting Example, Step by Step

Select a defined sample before opening the chart. For a meaningful initial study, test 100 valid setup opportunities across different market conditions. A trader might review BTC/USD five-minute charts from January through June, using the four-hour chart for directional context. Include trending periods, range-bound periods, high-volatility days, and quieter sessions. A model that only works during one favorable month has not earned your confidence.

Begin each replay session without seeing future price. Move the chart forward candle by candle or use replay mode. Mark the active four-hour dealing range, identify the relevant session window, and wait for price to take [sell-side liquidity](https://cryptoanalysislab.com/insights/how-to-identify-liquidity-grabs-in-crypto). Do not decide that a low was "liquidity" only after a reversal occurs. Define it beforehand. For example, an eligible low may be a clear five-minute swing low with at least three candles on either side and visible resting stops beneath it.

Assume BTC is trading near $64,200 after forming a bullish four-hour range between $62,800 and $65,600. The equilibrium is $64,200. Because price is at or below equilibrium, long-side interest is permitted, but not automatic.

At 9:45 a.m. New York time, price trades below an intraday low at $63,900 and reaches $63,820. This is the sell-side liquidity sweep. The next five-minute candle rallies aggressively and closes at $64,080, breaking the prior lower high at $64,020. That close is the confirmation. The impulse leaves a bullish fair value gap between $63,940 and $63,990.

The trade rule calls for a limit entry at the midpoint of that gap, $63,965. The stop is placed at $63,805, just below the sweep low with a small buffer for execution. Risk per BTC is therefore $160. If the target is opposing liquidity at $64,285, the projected reward is $320, or 2R.

The crucial part is what happens next. If price retraces to $63,965, fills the order, and reaches $64,285 before the stop, log a 2R winner. If price never retraces into the gap, log no trade. Do not count the move as a win because your directional idea was correct. If price fills the entry and stops at $63,805, record a -1R loss without moving the stop or creating an exception.

This distinction separates a valid test from chart storytelling. A setup that moved perfectly without offering the planned entry did not validate your execution model.

Record the Data That Explains Performance

A [backtest journal](https://cryptoanalysislab.com/insights/crypto-trade-journaling-guide) should capture more than wins and losses. The goal is to identify the conditions that produce your best trades and the errors that weaken an otherwise sound model. For each setup, record the date, asset, session, higher-time-frame bias, liquidity level swept, displacement quality, entry price, stop, target, outcome in R, and a chart screenshot taken at entry.

Also note contextual variables. Was the market expanding from the daily open or trading in a compressed range? Did the setup form near a major weekly high or low? Was there a scheduled macroeconomic release? BTC often ignores clean technical structure when volatility abruptly changes around high-impact news.

After 100 completed opportunities, calculate win rate, average win, average loss, profit factor, maximum consecutive losses, and maximum drawdown. Expectancy matters more than win rate alone. A model with a 42% win rate can be profitable if average winners are close to 2.5R and losses remain fixed at 1R. Conversely, a model with a 70% win rate can fail if occasional uncontrolled losses erase multiple small winners.

For example, suppose the 100-trade sample produces 44 winners at an average of 2R and 56 losses at -1R. The expectancy is 0.32R per trade: `(44% × 2R) - (56% × 1R)`. That is a potentially usable result before fees, slippage, and funding costs. If realistic friction reduces expectancy close to zero, the apparent edge may not be worth trading.

Test Execution, Not Just the Setup

SMC models often fail in backtesting because the trader gives themselves perfect fills. A fair value gap is not a guarantee of a fill at its midpoint. On volatile BTC moves, price may touch the top of the gap and reverse, or it may trade through the entire area before continuing. Your test needs one consistent fill assumption.

If you use limit orders in live trading, test limit orders. If you wait for lower-time-frame confirmation inside an order block, include the additional confirmation rule in every sample. Do not use a limit entry on losing trades and a confirmation entry on winners. That creates a model that cannot exist in real execution.

Use conservative assumptions for fees and slippage, especially when testing lower-time-frame altcoin setups. BTC and ETH generally offer deeper liquidity than smaller tokens, but rapid conditions can still produce meaningful deviation from planned prices. Perpetual futures traders should account for funding when positions are held long enough for it to matter.

What to Do When the Results Are Weak

A weak result is useful information, not a reason to keep adjusting rules until the spreadsheet turns green. First, inspect whether the model fails because the premise is wrong or because the rules are too broad. You may find that liquidity sweeps during the first hour of New York trading work differently from sweeps that occur after the main expansion has already happened.

Make one change at a time. You might test whether requiring a fifteen-minute market structure shift improves results, or whether excluding trades against daily order flow reduces drawdown. Then run the revised rule set on a fresh, out-of-sample period. If a change only improves the original data, it may be curve fitting rather than a genuine improvement.

Backtesting also reveals whether your [risk management](https://cryptoanalysislab.com/insights/crypto-risk-management-strategy-guide) matches the model. If the strategy experiences seven consecutive losses in historical testing, risking 3% per trade creates a 21% drawdown before accounting for emotional mistakes. A smaller fixed risk may be less exciting, but it is far more compatible with disciplined repetition.

The chart does not owe you a trade every day. A properly tested SMC framework gives you something more valuable: the ability to stand aside when your specific conditions are absent, then execute without improvisation when they appear.