SMC Mitigation 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, D1 · Published: November 2026

near edge (close): entry MT (50% of body) far edge (stop) A: swing low B: swing high C: higher low A is not swept close above B (break) mitigation block: last up-close candle at B first return
Fig. 1 — The mitigation block definition used in this study (bullish case; bearish is mirrored). Price makes a higher low C that does not reach the earlier low A, then closes above the swing high B. The last up-close candle at B is the block. 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 mitigation block is the lowest-ranked member of the standard price-array hierarchy. In the bullish case, price makes a swing low A, rallies to a swing high B, then falls back to a higher low C: a failure swing that never reaches the old low. Sellers who entered around B have not been paid. When price then closes above B, they are underwater, and the story is that they will use a return to the candle at B to buy back at or near break-even — so that candle should act as support.

The same shape with one difference — C does take out A before the reversal — is the breaker block. In the standard ranking the mitigation block sits below the breaker in strength, and it is the array price meets first when it moves away from equilibrium (EQ, the midpoint of the current range). This study turns those statements into fixed, mechanical rules and tests them against a random baseline in the same format as the Order Block study.

1.1 Claims tested

# Claim Section
① A limit order on the first return to a mitigation block beats random entries and has a positive expectancy after costs 3.1
② A mitigation block is weaker than a breaker, the same structure with a stop run 3.2
③ The mitigation block is the array closest to EQ, and where it sits relative to EQ matters 3.3
④ Refinements help: entering at the 50% level of the candle body, or placing the stop beyond the second low 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 and daily candles are NY-aligned (opening at 18:00 New York time, with full daylight-saving rules). The daily timeframe is included because the hierarchy is usually taught for higher timeframes
  • Out-of-sample split: all definitions, bins and criteria were written down before any result was examined. 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. The one exception is the post hoc sensitivity analysis in Section 3.6.

2.2 Mitigation 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
  • Failure swing: C is at or above A, so the earlier low is not swept. If C is below A the event is a breaker and is kept as the comparison group
  • Break: within 20 candles after C, a candle closes above B before any candle trades below C
  • Block 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. The 48-candle limit is a choice made for the test; the concept itself has no time limit (see Section 3.6)

Across all instruments and timeframes the rules produced 147,997 mitigation blocks (M15 113,004; H1 26,651; H4 6,948; D1 1,394) and 91,016 breakers. Price returned to the near edge within 48 candles in 81–84% of mitigation blocks, depending on the timeframe; 19,124 remained as trades after the minimum-stop rule in Section 2.5.

2.3 Location in the range

To place a block relative to EQ, the range is the highest high and lowest low of the last 80 candles of the same timeframe, up to the candle that makes the setup live. EQ is the midpoint. The location score measures how far the block’s near edge lies from EQ, in units of half the range, and is signed so that positive means the side of EQ where the trade is supposed to be: a discount for buys, a premium for sells. Zero is EQ, +1 is the far end of the range, and a negative value means the block sits on the wrong side.

2.4 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.5 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. (On D1 this window is short relative to the candle size; it was kept for comparability.)
  • 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 7% of M15 blocks remain as trades, against 24% on H1, 51% on H4 and 78% on D1), 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

2.6 Plan and independence

The analysis plan was fixed in advance. A result counts as replicated only if it has the same sign and a z-value of at least 2 in absolute terms in both blocks. About 106 comparisons are examined, so roughly five of them would reach |z| ≥ 2 by chance alone. Two things are not independent of earlier work: the failure-swing structure was already evaluated, including 2012–2018, as the no-sweep control group in a companion study of the breaker block using the same code, so claims ① and ② reproduce numbers that had been seen before. Claim ③ and the daily timeframe are new here. Section 3.6 was added after both blocks had been examined and is labelled post hoc.

3. Results

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

Win rate minus random (pp) -12 -9 -6 -3 0 +3 +6 Win rate minus random (pp) M15 · 2012–2018: -1.13 pp (95% CI ±2.39), n = 1,515 M15 · 2019–2026: +0.06 pp (95% CI ±1.48), n = 6,658 M15 mitigation H1 · 2012–2018: +0.57 pp (95% CI ±2.35), n = 2,056 H1 · 2019–2026: -0.32 pp (95% CI ±1.61), n = 4,244 H1 mitigation H4 · 2012–2018: -1.49 pp (95% CI ±2.74), n = 1,430 H4 · 2019–2026: +0.00 pp (95% CI ±2.04), n = 2,121 H4 mitigation D1 · 2012–2018: -5.22 pp (95% CI ±4.56), n = 458 D1 · 2019–2026: -0.72 pp (95% CI ±3.96), n = 627 D1 mitigation 2012–2018 (out-of-sample) 2019–2026
Fig. 2 — Win rate at 1R minus the random baseline, mitigation blocks, limit entry at the near edge (whiskers = 95% CI). No timeframe shows a positive edge in both blocks.
TF Period Target n Win rate Random Edge, pp (z) Gross exp. Net exp.
M15 2012–2018 1R 1,515 48.9% 50.0% -1.13 (z -0.9) -0.015R -0.091R
M15 2012–2018 2R 1,516 31.5% 32.1% -0.60 (z -0.5) -0.014R -0.090R
M15 2019–2026 1R 6,658 49.5% 49.4% +0.06 (z +0.1) -0.008R -0.071R
M15 2019–2026 2R 6,661 32.8% 32.7% +0.07 (z +0.1) -0.005R -0.068R
H1 2012–2018 1R 2,056 49.0% 48.5% +0.57 (z +0.5) +0.003R -0.065R
H1 2012–2018 2R 2,057 31.0% 29.9% +1.08 (z +0.9) +0.021R -0.047R
H1 2019–2026 1R 4,244 48.8% 49.1% -0.32 (z -0.4) -0.013R -0.069R
H1 2019–2026 2R 4,248 30.7% 31.2% -0.50 (z -0.6) -0.029R -0.086R
H4 2012–2018 1R 1,430 44.8% 46.2% -1.49 (z -1.1) -0.036R -0.094R
H4 2012–2018 2R 1,430 25.1% 25.0% +0.06 (z +0.0) -0.013R -0.070R
H4 2019–2026 1R 2,121 46.3% 46.3% +0.00 (z +0.0) -0.008R -0.055R
H4 2019–2026 2R 2,123 26.2% 26.3% -0.11 (z -0.1) -0.012R -0.060R
D1 2012–2018 1R 458 29.5% 34.7% -5.22 (z -2.2) -0.081R -0.119R
D1 2012–2018 2R 458 12.0% 14.7% -2.73 (z -1.9) -0.065R -0.102R
D1 2019–2026 1R 627 34.9% 35.6% -0.72 (z -0.4) +0.022R -0.007R
D1 2019–2026 2R 627 12.3% 13.3% -1.04 (z -0.8) +0.008R -0.022R
All TFs 2012–2018 1R 5,459 46.2% 47.2% -0.93 (z -1.4) -0.019R -0.084R
All TFs 2012–2018 2R 5,461 28.0% 28.0% +0.03 (z +0.0) -0.005R -0.070R
All TFs 2019–2026 1R 13,650 48.1% 48.2% -0.10 (z -0.2) -0.008R -0.065R
All TFs 2019–2026 2R 13,659 30.2% 30.4% -0.19 (z -0.4) -0.013R -0.070R

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.5.

Pooled over all timeframes, mitigation blocks win 48.1% of 1R trades against 48.2% for random entries with the same stop in 2019–2026 (edge -0.10 pp, z -0.2), and 46.2% against 47.2% in 2012–2018 (-0.93 pp, z -1.4). At 2R the edge is -0.19 pp and +0.03 pp. Before costs the average trade earns -0.008R and -0.019R; after costs, -0.065R and -0.084R. With no gross edge, there is no cost level at which the setup breaks even.

The only value with |z| above 2 is D1 in 2012–2018, and it is negative (-5.2 pp, z -2.2, n = 458). D1 is also below zero in 2019–2026 (-0.7 pp, n = 627) but not significantly. D1 is the one place where net expectancy gets close to zero (-0.007R in 2019–2026), and that is because costs are a small fraction of a daily stop, not because of an edge.

3.2 Claim ② — Is a mitigation block weaker than a breaker?

Breakers use exactly the same rules, except that C takes out A. If the ranking holds, breakers should beat mitigation blocks.

Mitigation minus breaker (pp) -12 -8 -4 0 +4 +8 +12 Mitigation minus breaker (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 D1 · 2012–2018: -2.81 pp (95% CI ±6.90) D1 · 2019–2026: +0.58 pp (95% CI ±6.45) D1 ALL · 2012–2018: -0.86 pp (95% CI ±2.48) ALL · 2019–2026: +0.35 pp (95% CI ±1.69) All timeframes 2012–2018 (out-of-sample) 2019–2026
Fig. 3 — Edge of mitigation blocks minus edge of breakers, 1R (whiskers = 95% CI). A negative value would mean mitigation blocks are weaker. The sign changes between timeframes and blocks, and no value is significant.
TF Period n (mitigation / breaker) Mitigation edge (pp) Breaker edge (pp) Difference (z) Net exp. (mitigation / breaker)
M15 2012–2018 1,515 / 405 -1.13 +0.88 -2.01 (z -0.7) -0.091R / -0.072R
M15 2019–2026 6,658 / 2,852 +0.06 -2.05 +2.11 (z +1.7) -0.071R / -0.107R
H1 2012–2018 2,056 / 736 +0.57 +3.41 -2.84 (z -1.4) -0.065R / -0.031R
H1 2019–2026 4,244 / 2,081 -0.32 +1.21 -1.53 (z -1.1) -0.069R / -0.056R
H4 2012–2018 1,430 / 723 -1.49 -3.26 +1.77 (z +0.7) -0.094R / -0.134R
H4 2019–2026 2,121 / 1,206 +0.00 +0.68 -0.67 (z -0.4) -0.055R / -0.040R
D1 2012–2018 458 / 274 -5.22 -2.41 -2.81 (z -0.8) -0.119R / -0.084R
D1 2019–2026 627 / 355 -0.72 -1.30 +0.58 (z +0.2) -0.007R / -0.064R
All 2012–2018 5,459 / 2,138 -0.93 -0.07 -0.86 (z -0.7) -0.084R / -0.080R
All 2019–2026 13,650 / 6,494 -0.10 -0.46 +0.35 (z +0.4) -0.065R / -0.076R

The largest |z| anywhere in this comparison is 1.99, and the sign of the difference differs between the two blocks in 7 of 10 comparisons. Over all timeframes the difference is +0.35 pp (z +0.4) in 2019–2026 and -0.86 pp (z -0.7) in 2012–2018. The data show no measurable difference between the two: not the ordering the ranking predicts, and not the reverse.

3.3 Claim ③ — Closest to EQ, and does the side of EQ matter?

Where the blocks sit. If mitigation blocks are the array closest to EQ, they should form nearer the middle of the range than breakers.

TF Period Events (mitigation / breaker) Mean location (mitigation / breaker) Mean |location| (mitigation / breaker) Difference in |location|
M15 2012–2018 47,348 / 28,588 -0.16 / -0.07 0.474 / 0.428 +0.045
M15 2019–2026 65,651 / 40,312 -0.18 / -0.07 0.477 / 0.430 +0.047
H1 2012–2018 11,167 / 7,047 -0.18 / -0.06 0.488 / 0.449 +0.039
H1 2019–2026 15,478 / 9,896 -0.20 / -0.07 0.487 / 0.440 +0.047
H4 2012–2018 2,950 / 1,802 -0.24 / -0.07 0.502 / 0.455 +0.047
H4 2019–2026 3,990 / 2,518 -0.21 / -0.06 0.484 / 0.449 +0.035
D1 2012–2018 580 / 371 -0.25 / -0.10 0.489 / 0.423 +0.065
D1 2019–2026 806 / 465 -0.26 / -0.11 0.499 / 0.450 +0.049
All 2012–2018 62,045 / 37,808 -0.17 / -0.07 0.478 / 0.433 +0.044
All 2019–2026 85,925 / 53,191 -0.19 / -0.07 0.479 / 0.433 +0.046

They do not. In both blocks and on every timeframe, mitigation blocks sit slightly farther from EQ than breakers: a mean |location| of 0.48 against 0.43 in 2019–2026 and 0.48 against 0.43 in 2012–2018, a difference of about 0.05 half-ranges, or two per cent of the range. Both types sit on average on the wrong side of EQ (mean location -0.19 for mitigation blocks, -0.07 for breakers): bullish blocks tend to lie in the upper half of the range and bearish blocks in the lower half. That follows from the geometry. A failure swing is a with-trend pattern (a higher low, then a break upward), so it forms after price has already moved away from EQ in the trend direction. The z-values for the |location| difference are very large because the events overlap heavily; the consistent sign and the small size of the difference are the informative parts.

One caution. The hierarchy is a statement about which array price meets first on its way out from EQ. Comparing where two kinds of block form is only a proxy for that, so this result does not support the ordering, but it does not test it directly either.

Does the side of EQ matter? A block on the side of EQ where the trade is meant to be (a buy in discount, a sell in premium) should work better.

Win rate minus random (pp) -12 -8 -4 0 +4 +8 +12 Win rate minus random (pp) loc <0 · 2012–2018: -1.31 pp (95% CI ±1.56), n = 3,927 loc <0 · 2019–2026: -0.60 pp (95% CI ±1.25), n = 9,381 wrong side (loc < 0) loc 0-.25 · 2012–2018: -1.85 pp (95% CI ±4.21), n = 573 loc 0-.25 · 2019–2026: +0.37 pp (95% CI ±3.11), n = 1,488 0 – 0.25 (near EQ) loc .25-.5 · 2012–2018: +2.84 pp (95% CI ±3.75), n = 533 loc .25-.5 · 2019–2026: -0.26 pp (95% CI ±2.34), n = 1,458 0.25 – 0.5 loc .5-.75 · 2012–2018: -2.63 pp (95% CI ±4.86), n = 372 loc .5-.75 · 2019–2026: +3.66 pp (95% CI ±2.77), n = 1,113 0.5 – 0.75 loc >=.75 · 2012–2018: +10.65 pp (95% CI ±15.44), n = 46 loc >=.75 · 2019–2026: -0.14 pp (95% CI ±7.37), n = 210 ≥ 0.75 (extreme) 2012–2018 (out-of-sample) 2019–2026
Fig. 4 — Mitigation block edge at 1R by location score (all timeframes; whiskers = 95% CI). In 2019–2026 the 0.5–0.75 bin looks like an effect; in 2012–2018 it does not exist.
Location bin Period n 1R: edge, pp (z) 1R: net exp.
<0 2012–2018 3,927 -1.31 (z -1.6) -0.086R
<0 2019–2026 9,381 -0.60 (z -0.9) -0.066R
0-.25 2012–2018 573 -1.85 (z -0.9) -0.083R
0-.25 2019–2026 1,488 +0.37 (z +0.2) -0.065R
.25-.5 2012–2018 533 +2.84 (z +1.5) -0.058R
.25-.5 2019–2026 1,458 -0.26 (z -0.2) -0.087R
.5-.75 2012–2018 372 -2.63 (z -1.1) -0.131R
.5-.75 2019–2026 1,113 +3.66 (z +2.6) -0.014R
>=.75 2012–2018 46 +10.65 (z +1.4) +0.040R
>=.75 2019–2026 210 -0.14 (z -0.0) -0.142R

In 2019–2026 the 0.5–0.75 bin reaches +3.7 pp (z +2.6, n = 1,113). In 2012–2018 the same bin is -2.6 pp (z -1.1, n = 372). The simpler contrast — correct side of EQ minus wrong side — tells the same story:

TF Period n (correct side / wrong side) Edge, correct side (pp) Edge, wrong side (pp) Difference (z)
M15 2012–2018 328 / 1,187 +0.29 -1.53 +1.81 (z +0.6)
M15 2019–2026 1,989 / 4,669 -0.48 +0.29 -0.77 (z -0.5)
H1 2012–2018 596 / 1,460 +2.89 -0.38 +3.27 (z +1.2)
H1 2019–2026 1,383 / 2,861 -0.16 -0.39 +0.23 (z +0.1)
H4 2012–2018 453 / 975 -0.67 -2.00 +1.33 (z +0.4)
H4 2019–2026 689 / 1,432 +5.59 -2.68 +8.27 (z +3.5)
D1 2012–2018 147 / 305 -10.54 -2.69 -7.86 (z -1.9)
D1 2019–2026 208 / 419 +7.40 -4.75 +12.15 (z +2.6)
All 2012–2018 1,524 / 3,927 -0.03 -1.31 +1.28 (z +0.8)
All 2019–2026 4,269 / 9,381 +0.99 -0.60 +1.59 (z +1.5)

On H4, the correct side beats the wrong side by +8.3 pp in 2019–2026 (z +3.5), the largest edge difference found for mitigation blocks in 2019–2026. In 2012–2018 it is +1.3 pp (z +0.4). On D1 the difference is +12.2 pp (z +2.6) in 2019–2026 and -7.9 pp (z -1.9) in 2012–2018, so the sign reverses. No location result meets the replication criterion. Out of roughly 106 comparisons, a few strong-looking cells in 2019–2026 are what chance produces; the earlier block, which had not been examined for this analysis, is consistent with that reading.

3.4 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 block extreme (baseline) 2012–2018 5,459 -0.93 (z -1.4) -0.084R +0.03 (z +0.0) -0.070R
Near edge, stop at block extreme (baseline) 2019–2026 13,650 -0.10 (z -0.2) -0.065R -0.19 (z -0.4) -0.070R
Near edge, stop beyond the second low C 2012–2018 10,688 +0.41 (z +0.7) -0.065R +0.75 (z +1.4) -0.061R
Near edge, stop beyond the second low C 2019–2026 23,174 -0.48 (z -1.0) -0.069R -0.10 (z -0.2) -0.065R
Mean threshold (50% of body), stop at block extreme 2012–2018 1,901 -1.92 (z -1.8) -0.104R -0.62 (z -0.5) -0.103R
Mean threshold (50% of body), stop at block extreme 2019–2026 6,627 -0.35 (z -0.5) -0.070R +0.11 (z +0.2) -0.053R

Mitigation blocks, all timeframes pooled.

  • Stop beyond the second low C. A wider stop lowers the cost per trade in R only slightly, and the edge stays at -0.48 pp (z -1.0) in 2019–2026 and +0.41 pp (z +0.7) in 2012–2018. Net expectancy stays negative (-0.069R and -0.065R).
  • Entry at the mean threshold. Waiting for a fill at 50% of the body is filled much less often and does no better: -0.35 pp (z -0.5) in 2019–2026 and -1.92 pp (z -1.8) in 2012–2018, with a net of -0.070R and -0.104R.

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 1,007 / 879 -1.50 pp (z -0.7) -0.63 pp (z -0.4) -0.075R -0.081R
GBPUSD 738 / 768 -0.71 pp (z -0.4) -1.07 pp (z -0.6) -0.084R -0.065R
USDJPY 545 / 633 -1.32 pp (z -0.7) +2.84 pp (z +1.2) -0.118R -0.005R
AUDUSD 808 / 667 -0.86 pp (z -0.5) -1.23 pp (z -0.7) -0.067R -0.094R
XAUUSD 350 / 909 +2.81 pp (z +1.0) -0.69 pp (z -0.4) -0.017R -0.055R
BTCUSD 60 / 1,334 +4.00 pp (z +1.0) +0.25 pp (z +0.2) +0.024R -0.068R
US100 436 / 1,802 -2.61 pp (z -0.9) -0.61 pp (z -0.5) -0.142R -0.050R

Mitigation blocks, H1, H4 and D1 pooled, limit entry at the near edge, 1R. BTCUSD has few out-of-sample trades because its data starts in May 2017.

No instrument has a positive edge in both blocks, and net expectancy is negative in every cell with enough data except BTCUSD in 2012–2018, which rests on a handful of trades. USDJPY is the best instrument in 2019–2026 (+2.8 pp, z +1.2) and negative in 2012–2018 (-1.3 pp). XAUUSD shows the reverse pattern. Seven instruments in two blocks will produce values like these without any real effect.

3.6 Sensitivity: the return window (post hoc)

The concept as taught puts no time limit on the return to the block, while the main test accepts a first touch only within 48 candles. After the results above were final, the window was widened to 96 and 192 candles, and an optional cancel rule was added: the unfilled limit order is dropped if price trades through the second low C, or if it runs two zone-heights away from the near edge in the trade direction. This analysis was run after both blocks had been examined, so it is post hoc and was not part of the pre-set plan. The 48-candle setting reproduces the main results exactly. Because the random entries are drawn again for each setting, the same trades can differ by about 0.3 pp in edge between rows; that is the noise level of the comparison.

Return window Period n 1R: edge, pp (z) 1R: net exp.
48 candles (main test) 2019–2026 13,650 -0.10 (z -0.2) -0.065R
48 candles (main test) 2012–2018 5,459 -0.93 (z -1.4) -0.084R
96 candles 2019–2026 14,585 -0.05 (z -0.1) -0.064R
96 candles 2012–2018 5,853 -0.45 (z -0.7) -0.079R
192 candles 2019–2026 15,151 -0.10 (z -0.2) -0.063R
192 candles 2012–2018 6,128 -0.55 (z -0.8) -0.079R
48 candles + cancel rule 2019–2026 9,044 -0.45 (z -0.7) -0.071R
48 candles + cancel rule 2012–2018 3,975 -1.21 (z -1.6) -0.094R
192 candles + cancel rule 2019–2026 9,128 -0.34 (z -0.6) -0.070R
192 candles + cancel rule 2012–2018 4,039 -1.41 (z -2.0) -0.095R

Mitigation blocks, all timeframes pooled, limit entry at the near edge, stop at the far edge.

  • A longer window changes nothing. With 192 candles, about 9% of fills happen after the 48th candle. The pooled edge stays at -0.10 pp (2019–2026) and -0.55 pp (2012–2018), and at 2R it is -0.06 pp and -0.05 pp. Net expectancy stays between -0.063R and -0.079R.
  • The late returns alone. The fills after the 48th candle (n = 1,501 and 669) show +1.31 pp (z +1.0) and +1.75 pp (z +0.9) at 1R: the same sign in both blocks, but not significant, and still negative after costs (-0.046R and -0.033R). At 2R the signs differ (+2.12 pp and -1.44 pp).
  • The cancel rule removes about half of the orders (the fill rate falls from 84% to 42%), so roughly half of the returns in the main test occur after price has broken C or has already left the zone by a wide margin. Dropping them gives no edge either. The 192-candle cancel variant reaches z -2.0 in 2012–2018 but only z -0.6 in 2019–2026, so it does not meet the replication criterion.

Widening or conditioning the return window does not turn the mitigation block into a setup that beats random entries.

4. Checks

  1. Independent re-simulation. All 5,008 mitigation-block setups for EURUSD on H1, H4 and D1 were re-run with a separate, plain loop over the M1 data (touch minute, fill price, minimum-stop exclusion, stop and target order). 4,188 trades and exclusions and 820 non-fills matched the main engine exactly; there were no differences.
  2. Location score. The location score was recomputed independently for 6,737 EURUSD events (H1 and D1) with no differences, and the pooled means were reproduced with separate code.
  3. Same detection as the companion study. The number of events and of sweep / no-sweep events is identical to the breaker study in all 21 instrument and timeframe combinations that both cover (M15, H1, H4).
  4. Neutral baseline. Random entries average between -0.005R and +0.054R before costs across cells. The baseline is close to neutral; the larger positive values appear on the daily timeframe and at 2R, where the holding window is long relative to the stop, which is likely market drift. Every edge is measured against matched random entries, so this drift is already netted out.
  5. No changes after the out-of-sample run. Definitions, bins and criteria in Sections 3.1–3.5 are those fixed before the first run. Section 3.6 was added afterwards and is labelled as such.
  6. Window re-run. The 48-candle setting of the sensitivity code reproduces all 28 instrument and timeframe result files of the main run exactly.

5. Conclusion

  • ① The first return to a mitigation block does not beat random entries. Pooled edge: -0.10 pp (2019–2026) and -0.93 pp (2012–2018). Gross expectancy is slightly negative, and after prop-firm costs the average trade loses 0.065R to 0.084R. Widening the return window to 192 candles, or cancelling stale orders, does not change this (Section 3.6, post hoc).
  • ② There is no measurable difference in strength between a mitigation block and a breaker, in either direction.
  • ③ Mitigation blocks do not form closer to EQ than breakers; they form slightly farther away, on the trend side of the range. The side of EQ does not predict the outcome: the apparent effects in 2019–2026 vanish in 2012–2018.
  • ④ Entering at the mean threshold or moving the stop beyond the second low creates no edge that holds in both blocks.

Taken together with the order block, breaker block and rejection block studies, the picture is consistent: within what can be defined mechanically, a candle left behind by a failed or failing swing is not a special price level. The mitigation block does not even show the small, stable pre-cost edge that the 4-hour order block did.

6. Limitations

  • One mechanical reading of the concept was tested. Discretionary use adds context (higher-timeframe bias, time of day, other arrays nearby) that is not modelled here.
  • The range used for location is the last 80 candles of the same timeframe. The hierarchy is usually taught on weekly and monthly ranges, which have too few swings in 15 years for this kind of test.
  • The ordering claim is about the sequence in which arrays are met on the way out from EQ. That needs a path-based test across array types, which was not done here.
  • The swing definition (two candles per side) and the 20-candle window for the break are single choices. The three-day outcome window is short for D1.
  • The main test limits the return to 48 candles, whereas the concept names no time limit; Section 3.6 examines this after the fact. The exits are fixed 1R and 2R targets, not the liquidity or higher-timeframe targets used in discretionary teaching, and no higher-timeframe context filter is applied beyond the location score.
  • The minimum-stop rule removes most M15 setups, so M15 results describe only its larger zones.
  • Claims ① and ② are not independent of the earlier breaker study (Section 2.6). Costs are representative estimates and slippage is not modelled. Results are on bid prices only.

7. Next Steps

  • A path-based test of the array ordering: starting from EQ, which array does price reach first, and how often does a breaker stop the move short of the next array?
  • Repeat the location analysis with weekly and daily dealing ranges defined by major swings rather than a rolling window
  • Test liquidity-based exits (the next opposing swing or void) in place of fixed R multiples
  • Combine blocks only with a higher-timeframe bias that has first been shown to carry information on its own

Appendix — Technical notes: Swing detection runs on M15, H1 and NY-aligned H4 and D1 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.