SMC Breaker Block: An Empirical Test

Test period: January 2012 – October 2026 · Instruments: EURUSD, GBPUSD, USDJPY, AUDUSD, XAUUSD, BTCUSD (from May 2017), US100 (M1, bid) · Out-of-sample block: 2012–2018 · Timeframes: M15, H1, H4 · Published: November 2026

near edge (close): entry MT (50% of body) far edge (stop) A: swing low B: swing high C: lower low — sweeps A close above B (break) breaker: last up-close candle at B first return
Fig. 1 — The breaker block definition used in this study (bullish case; bearish is mirrored). Price makes a lower low C that runs the stops below the earlier low A, then closes above the swing high B. The last up-close candle at B becomes the breaker. A limit order is placed at its near edge (the candle close) for the first return; the stop sits at the far edge (the candle low).

1. Objective

The breaker block is a failed order block. In the bullish case, price forms a swing high, falls through it to a new low that takes out the sell-side liquidity below an earlier low, and then reverses hard enough to close above the swing high. The up-close candle at that swing high — a bearish order block that has now failed — is said to flip into support. Traders buy the first return to it, with the stop below the candle or below the swept low.

The concept rests on two ideas: that the failed block is a special level, and that the stop run before the reversal (the sweep) is what gives it meaning. This study turns both into fixed, mechanical rules and tests them against a random baseline across seven instruments, three timeframes and nearly 15 years of one-minute data, in the same format as the Order Blocks study.

1.1 Claims tested

# Claim Section
① A limit order on the first return to a breaker block beats random entries and has a positive expectancy after costs 3.1
② The liquidity sweep matters: a breaker (new low beyond the old low) works better than the same structure without a sweep 3.2
③ Refinements help: entering at the 50% level of the candle body, or placing the stop beyond the swept low 3.3
④ Stronger setups work better: a more forceful break, or a deeper sweep 3.4

2. Methodology

2.1 Data

  • Source: Dukascopy, M1 bid (via the dukascopy-node CLI). BTCUSD is available from May 2017 only
  • Range: 2012-01-01 to 2026-10-31, about 4.2–5.5 million one-minute bars per instrument after removing flat (OHLC-equal) bars
  • Candles: M15 and H1 on clock boundaries; the 4-hour candles are NY-aligned (opening at 18:00, 22:00, 02:00, 06:00, 10:00 and 14:00 New York time, with full daylight-saving rules), as in the Order Blocks study
  • Out-of-sample split: all definitions and parameters were fixed before the first run. Results were examined on 2019–2026 first; the 2012–2018 block was then run once with no changes, so it acts as an out-of-sample check. Every result is reported for both blocks.

2.2 Breaker block definition (fixed before testing)

  • Swings: a swing high is a candle whose high is strictly above the highs of the two candles on each side (swing low mirrored). Consecutive swings of the same type are merged, keeping the more extreme one, so the sequence alternates high / low
  • Structure (bullish): swing low A → swing high B → swing low C, with no candle between B and C trading above B
  • Sweep: C is below A. If C is at or above A (a higher low), the event is kept as a no-sweep control: the same failed-block structure without the stop run
  • Break: within 20 candles after C, a candle closes above B before any candle trades below C
  • Breaker candle: the last up-close candle at B, searching B and up to five candles before it (not before A). Its body must be at least 0.1 × ATR(14)
  • Zone: near edge = candle close (body top); mean threshold (MT) = 50% of the body; far edge = candle low
  • No look-ahead: the setup is live only from the close of the later of (a) the break candle and (b) the second candle after C, when C is confirmed as a swing. If price has already returned to the near edge, or traded below C, by that moment, the event is skipped
  • First return: the first touch of the entry level within 48 candles, found on M1 data. If the touching M1 bar opens beyond the limit price (a gap into the zone), the fill is that bar’s open

Across all instruments the rules produced 90,178 breakers (M15 68,903; H1 16,951; H4 4,324) and 146,603 no-sweep controls. Price returned to the near edge within 48 candles in 82–85% of cases.

2.3 Random baseline

Every trade is paired with ten random entries in the same direction, at the same minute of the day (UTC), on other days within ±60 days, with the same stop distance. Random entries are market orders at that minute’s open and follow exactly the same exit rules. The quantity reported throughout is the edge: the real win rate minus the random win rate, in percentage points (pp). Standard errors and z-values use a month-block bootstrap, because events overlap in time.

2.4 Outcomes and costs

  • Fixed targets of 1R and 2R; whichever of target or stop is hit first on M1 data, within three days. Trades still open after three days are closed at market
  • If the entry M1 bar itself already touches the stop, the trade is counted as a loss; if target and stop are both hit inside the same later M1 bar, the trade is excluded as unresolved
  • Minimum stop distance: 10 × the round-trip cost, so costs never exceed 0.1R. This removes most M15 setups (only 5% of M15 breakers remain, against 17% on H1 and 45% on H4), because their zones are too small to trade at prop-firm costs
  • Net expectancy is reported after an approximate prop-firm cost (spread plus commission, round trip, October 2026):
EURUSD GBPUSD USDJPY AUDUSD XAUUSD BTCUSD US100
1.4 pips 2.2 pips 2.5 pips 1.6 pips $0.58 $30 1.5 pts

3. Results

3.1 Claim ① — Does the first return to a breaker beat random?

Win rate minus random (pp) -8 -6 -4 -2 0 +2 +4 +6 +8 +10 Win rate minus random (pp) M15 · 2012–2018: +0.88 pp (95% CI ±5.10) M15 · 2019–2026: -2.05 pp (95% CI ±1.86) M15 breaker H1 · 2012–2018: +3.41 pp (95% CI ±3.16) H1 · 2019–2026: +1.21 pp (95% CI ±2.13) H1 breaker H4 · 2012–2018: -3.26 pp (95% CI ±3.79) H4 · 2019–2026: +0.68 pp (95% CI ±2.92) H4 breaker 2012–2018 (out-of-sample) 2019–2026
Fig. 2 — Win rate at 1R minus the random baseline, breaker blocks, limit entry at the near edge (whiskers = 95% CI). No timeframe shows an edge that appears in both blocks: H1 is positive in both but not significant in 2019–2026, while H4 and M15 change sign between blocks.
TF Period Target n Win rate Random Edge, pp (z) Gross exp. Net exp.
M15 2012–2018 1R 405 50.4% 49.5% +0.88 (z +0.3) +0.007R -0.072R
M15 2012–2018 2R 405 31.9% 31.4% +0.44 (z +0.2) -0.029R -0.108R
M15 2019–2026 1R 2,852 47.9% 49.9% -2.05 (z -2.2) -0.042R -0.107R
M15 2019–2026 2R 2,853 31.5% 33.8% -2.25 (z -2.4) -0.049R -0.114R
H1 2012–2018 1R 736 51.8% 48.4% +3.41 (z +2.1) +0.042R -0.031R
H1 2012–2018 2R 736 33.7% 31.2% +2.45 (z +1.5) +0.074R +0.001R
H1 2019–2026 1R 2,081 50.0% 48.8% +1.21 (z +1.1) +0.005R -0.056R
H1 2019–2026 2R 2,082 32.7% 31.7% +1.02 (z +1.1) +0.005R -0.055R
H4 2012–2018 1R 723 45.0% 48.2% -3.26 (z -1.7) -0.071R -0.134R
H4 2012–2018 2R 723 27.1% 27.8% -0.71 (z -0.5) -0.046R -0.109R
H4 2019–2026 1R 1,206 49.3% 48.7% +0.68 (z +0.5) +0.012R -0.040R
H4 2019–2026 2R 1,206 29.6% 29.6% -0.03 (z -0.0) +0.017R -0.035R
All TFs 2012–2018 1R 1,864 48.8% 48.5% +0.27 (z +0.2) -0.009R -0.080R
All TFs 2012–2018 2R 1,864 30.7% 29.9% +0.79 (z +0.8) +0.005R -0.066R
All TFs 2019–2026 1R 6,139 48.9% 49.3% -0.41 (z -0.6) -0.015R -0.076R
All TFs 2019–2026 2R 6,141 31.6% 32.3% -0.70 (z -1.2) -0.017R -0.078R
All TFs All 1R 8,003 48.9% 49.1% -0.25 (z -0.4) -0.014R -0.077R
All TFs All 2R 8,005 31.4% 31.7% -0.36 (z -0.7) -0.012R -0.075R

Breakers only (sweep confirmed), limit entry at the near edge, stop at the far edge. Net expectancy is per trade, in R, after the cost table in Section 2.4.

Pooled over all timeframes, the breaker wins 48.9% of 1R trades against 49.1% for random entries with the same stop: an edge of -0.25 pp (z -0.4). The two blocks agree that there is nothing there (+0.27 pp in 2012–2018, −0.41 pp in 2019–2026). Before costs the breaker earns -0.014R per trade; after costs, -0.077R. With no gross edge to begin with, there is no cost level at which the setup breaks even.

The largest single value, H1 in 2012–2018 (+3.4 pp, z +2.1), is one of twelve comparisons in this table, shrinks to +1.2 pp (z +1.1) in 2019–2026, and is still negative after costs.

3.2 Claim ② — Does the sweep matter?

The no-sweep control uses exactly the same rules, except that the second low C holds above A. If the stop run is what turns a failed block into a breaker, breakers should beat the controls.

Breaker minus no-sweep (pp) -8 -6 -4 -2 0 +2 +4 +6 +8 Breaker minus no-sweep (pp) M15 · 2012–2018: +2.01 pp (95% CI ±5.63) M15 · 2019–2026: -2.11 pp (95% CI ±2.38) M15 H1 · 2012–2018: +2.84 pp (95% CI ±3.93) H1 · 2019–2026: +1.53 pp (95% CI ±2.68) H1 H4 · 2012–2018: -1.77 pp (95% CI ±4.68) H4 · 2019–2026: +0.67 pp (95% CI ±3.56) H4 all · 2012–2018: +0.81 pp (95% CI ±2.66) all · 2019–2026: -0.33 pp (95% CI ±1.71) All timeframes 2012–2018 (out-of-sample) 2019–2026
Fig. 3 — Edge of breakers minus edge of the same structure without a sweep, 1R (whiskers = 95% CI). The sign is not stable across timeframes or blocks, and no value is significant.
TF Period n (breaker / no-sweep) Breaker edge (pp) No-sweep edge (pp) Difference (z) Net exp. (breaker / no-sweep)
M15 2012–2018 405 / 1,515 +0.88 -1.13 +2.01 (z +0.7) -0.072R / -0.091R
M15 2019–2026 2,852 / 6,658 -2.05 +0.06 -2.11 (z -1.7) -0.107R / -0.071R
H1 2012–2018 736 / 2,056 +3.41 +0.57 +2.84 (z +1.4) -0.031R / -0.065R
H1 2019–2026 2,081 / 4,244 +1.21 -0.32 +1.53 (z +1.1) -0.056R / -0.069R
H4 2012–2018 723 / 1,430 -3.26 -1.49 -1.77 (z -0.7) -0.134R / -0.094R
H4 2019–2026 1,206 / 2,121 +0.68 +0.00 +0.67 (z +0.4) -0.040R / -0.055R
All 2012–2018 1,864 / 5,001 +0.27 -0.54 +0.81 (z +0.6) -0.080R / -0.081R
All 2019–2026 6,139 / 13,023 -0.41 -0.07 -0.33 (z -0.4) -0.076R / -0.068R

The difference is within about ±1.7 standard errors everywhere and changes sign between timeframes and between blocks. Over all timeframes it is +0.81 pp (z +0.6) in 2012–2018 and −0.33 pp (z −0.4) in 2019–2026. Whether or not the old low was swept makes no measurable difference to how price behaves at the block.

3.3 Claim ③ — Entry and stop refinements

Entry / stop Period n 1R: edge, pp (z) 1R: net exp. 2R: edge, pp (z) 2R: net exp.
Near edge, stop at breaker extreme (baseline) 2012–2018 1,864 +0.27 (z +0.2) -0.080R +0.79 (z +0.8) -0.066R
Near edge, stop at breaker extreme (baseline) 2019–2026 6,139 -0.41 (z -0.6) -0.076R -0.70 (z -1.2) -0.078R
Near edge, stop beyond the swept swing 2012–2018 13,701 +0.98 (z +2.4) -0.057R +0.63 (z +1.6) -0.055R
Near edge, stop beyond the swept swing 2019–2026 23,881 +0.19 (z +0.5) -0.057R +0.13 (z +0.4) -0.058R
Mean threshold (50% of body), stop at breaker extreme 2012–2018 559 +1.53 (z +0.7) -0.066R -1.50 (z -0.7) -0.124R
Mean threshold (50% of body), stop at breaker extreme 2019–2026 2,876 -1.54 (z -1.5) -0.099R -1.06 (z -0.9) -0.100R

Breakers, all timeframes pooled.

  • Stop beyond the swept low. This is the only variant with a significant result in one block (+0.98 pp, z +2.4, 2012–2018), but it falls to +0.19 pp (z +0.5) in 2019–2026. The wider stop also lowers the cost per trade in R, yet the net result stays at about −0.06R in both blocks.
  • Entry at the mean threshold. Waiting for a deeper fill at 50% of the body is filled much less often and does no better: +1.5 pp in 2012–2018, −1.5 pp in 2019–2026, both well inside the noise.

3.4 Claim ④ — Stronger break, deeper sweep

Attribute Bin n (2012–18 / 2019–26) Edge 2012–2018 Edge 2019–2026 Net exp. (2012–18 / 2019–26)
Break-candle body (× ATR) <0.5 317 / 1,163 +1.54 (z +0.6) +0.40 (z +0.3) -0.075R / -0.059R
Break-candle body (× ATR) 0.5-1.0 618 / 2,058 +1.01 (z +0.5) -0.41 (z -0.3) -0.059R / -0.079R
Break-candle body (× ATR) 1.0-1.5 454 / 1,442 -3.36 (z -1.4) +1.23 (z +0.9) -0.139R / -0.043R
Break-candle body (× ATR) >=1.5 475 / 1,476 +1.94 (z +0.8) -2.64 (z -1.5) -0.053R / -0.119R
Sweep depth beyond the old swing (× ATR) <0.1 112 / 388 +11.34 (z +2.2) -0.59 (z -0.2) +0.167R / -0.084R
Sweep depth beyond the old swing (× ATR) 0.1-0.25 190 / 605 +2.37 (z +0.6) -1.75 (z -0.7) -0.033R / -0.101R
Sweep depth beyond the old swing (× ATR) 0.25-0.5 298 / 1,014 -2.28 (z -0.7) +2.18 (z +1.2) -0.146R / -0.027R
Sweep depth beyond the old swing (× ATR) >=0.5 1,264 / 4,132 -0.42 (z -0.3) -0.83 (z -1.0) -0.093R / -0.084R

Breakers, limit entry at the near edge, 1R, all timeframes pooled. Bins were set before the run.

Neither attribute sorts winners from losers. The bins do not line up in order, and where one bin looks strong in one block it is weak or negative in the other. The best-looking cell — very shallow sweeps in 2012–2018 (+11.3 pp, n = 112) — is −0.6 pp in 2019–2026. A forceful break (body of 1.5 ATR or more) is +1.9 pp in one block and −2.6 pp in the other.

3.5 By instrument

Instrument n (2012–18 / 2019–26) Edge 2012–2018 Edge 2019–2026 Net exp. 2012–2018 Net exp. 2019–2026
EURUSD 414 / 358 +1.32 pp (z +0.6) +3.09 pp (z +1.1) -0.025R -0.005R
GBPUSD 289 / 304 +2.56 pp (z +0.8) +2.91 pp (z +1.1) -0.053R -0.018R
USDJPY 121 / 212 +5.54 pp (z +1.3) +9.05 pp (z +3.0) +0.009R +0.090R
AUDUSD 350 / 296 -1.37 pp (z -0.4) +2.87 pp (z +0.9) -0.117R -0.025R
XAUUSD 76 / 409 -10.00 pp (z -1.6) +3.61 pp (z +1.4) -0.289R -0.017R
BTCUSD 19 / 651 — -3.39 pp (z -1.4) — -0.142R
US100 190 / 1,057 -3.50 pp (z -1.0) -0.65 pp (z -0.4) -0.166R -0.066R

Breakers, H1 and H4 pooled, limit entry at the near edge, 1R. BTCUSD has too few out-of-sample trades to report (data starts in May 2017).

Apart from USDJPY, every instrument has a negative net expectancy in every block with enough data. USDJPY stands out (+5.5 pp and +9.1 pp), but its samples are small and the effect does not hold together: on H1 it is strong in 2012–2018 and weak in 2019–2026, and on H4 the reverse. With seven instruments tested in two blocks, one value of this size is not surprising. It is a candidate for a separate test, not a finding.

4. Checks

  1. Independent re-simulation. A sample of trades was re-run with a separate, plain loop over the M1 data (fill minute, fill price, stop and target order). All matched the main engine exactly.
  2. Visual check. Detected breakers were plotted and inspected to confirm that A, B, C, the break and the breaker candle are where the definition puts them.
  3. Neutral baseline. The random entries average close to 0R before costs (about −0.00R at 1R), as they should; the baseline is not tilted in either direction.
  4. No changes after the out-of-sample run. Definitions, bins and parameters are those fixed before the first run.

5. Conclusion

  • ① The first return to a breaker block does not beat random entries. Pooled over 8,003 trades the edge is -0.25 pp, the gross expectancy is slightly negative, and after prop-firm costs every timeframe and block loses money (−0.03R to −0.13R per trade at 1R).
  • ② The liquidity sweep — the feature that separates a breaker from an ordinary failed swing — adds nothing measurable.
  • ③ Entering at the mean threshold or moving the stop beyond the swept low does not create an edge that holds in both blocks.
  • ④ Neither a stronger break nor a deeper sweep improves the result.

In the Order Blocks study, the first return to a 4-hour OB at least showed a small, stable edge of about +2.4 pp before costs. The breaker block, as defined here, does not reach even that: within what can be defined mechanically, a failed order block is not a special level, with or without a stop run before it.

6. Limitations

  • Each element was tested with one mechanical definition. Discretionary use adds context (higher-timeframe bias, time of day, other price arrays nearby) that is not modelled here.
  • The swing definition (two candles per side) and the 20-candle window for the break are single choices. Larger swings would give fewer, more prominent breakers.
  • The minimum stop rule removes most M15 setups; M15 results therefore describe only its larger zones.
  • The random baseline uses the same UTC minute of day, so session timing shifts by one hour across daylight-saving changes. Results are on bid prices only; costs are representative estimates and slippage is not modelled.
  • BTCUSD covers May 2017 onwards only.

7. Next Steps

  • Restrict breakers to major swings and to prior-day or prior-week highs and lows
  • Re-test USDJPY on its own, with the 2012–2018 and 2019–2026 blocks treated as separate trials
  • Combine the breaker with a higher-timeframe bias filter, once one has been shown to carry information on its own

Appendix — Technical notes: Swing detection runs on M15, H1 and NY-aligned H4 candles; fills and outcomes are JIT-compiled with Numba and resolved on M1 data for exact touch, stop and target ordering. Swings: fractal of two candles per side, confirmed at the close of the second candle after the swing. Random baselines: ten same-direction, same-minute-of-day entries within ±60 days per trade, same stop distance. Standard errors: month-block bootstrap. Costs: EURUSD 1.4 pips, GBPUSD 2.2 pips, USDJPY 2.5 pips, AUDUSD 1.6 pips, XAUUSD $0.58, BTCUSD $30, US100 1.5 points round trip. Full methodology and scripts available on request.