ArdenAlgo · Concepts · Market structure shift

Market structure shift

Learning path 3/6 · The rejection grows teeth

Published 24 Jul 2026 · every rule box checked against mechanization v1 (frozen 16 Jul 2026) · parameter changes land in the changelog first

In three sentences
  • MSS = the last opposing swing breaks by body close within 16 bars of a sweep.
  • The breaking leg must show displacement (body ≥ 1.5 × 20-bar average) and leave an FVG.
  • No displacement, no MSS; no MSS, no trade — drift breaks don't count.

What it is

After a sweep, the market has rejected one direction — but a rejection without follow-through is just a pause. A market structure shift is the follow-through: the last opposing swing breaks, confirming that the other side has taken control.

The exact engine rule

Mechanization v1 Within 16 bars of the sweep, the last confirmed opposing swing must break by body close — wicks through the level don't count — and the breaking leg must show displacement: at least one candle body ≥ 1.5 × the average body of the prior 20 bars, with a fair value gap left in the leg. No displacement, no MSS; no MSS, no trade.

Why displacement is required

Structure breaks on drift all the time — low-energy moves that reverse as easily as they came. Displacement is the energy filter: it demands that the break was violent enough to leave an inefficiency (the FVG) behind. That's what separates conviction from noise, mechanically rather than by eyeball.

Common misuse

Counting every micro-break as a "shift" (structure fractals endlessly if you let them), or accepting wick-breaks. Both make the concept untestable. Body close plus displacement makes it a yes/no question a machine can answer.

Common questions

Why not count wick breaks?

Wicks through a level get rejected too often to be evidence of control changing hands. Body close makes the break a yes/no question a machine can answer.

What is displacement, exactly?

At least one candle body ≥ 1.5 × the average body of the prior 20 bars in the breaking leg, leaving a fair value gap behind — an energy filter.

Doesn't structure break constantly on lower timeframes?

Yes — structure fractals endlessly if you let it. The sweep precondition, the 16-bar window and the displacement requirement keep only shifts that answer a specific event.

On real charts — marked vs. left alone

Below: the engine's own markings, captured from our TradingView indicator on live charts — screenshots, not illustrations. The second frame in each pair is the one nobody in this category publishes: a candidate that looks like the pattern and gets no mark, because it misses a threshold above. Rules are only testable if their failures are visible too.

The engine marks this
MSS marks with the broken swing level drawn, BTCUSDT.P 15-minute
The line drawn at each MSS is the opposing swing that broke — by body close, with displacement behind it.
The engine leaves this alone
Structure gives way on a low-energy bar, so no MSS is printed
Price closes through the prior swing here too — but the breaking candle's body is only about 1.2× the recent average, under the 1.5× displacement threshold. Structure moved; conviction didn't. No MSS tag, no entry, and any sweep waiting on it simply times out.
Engine-marked MSS events on an ETHUSDT.P 15-minute chart, each validated by displacement

Wider view of the same indicator on a live chart.

Marks are drawn on closed bars by the ArdenAlgo indicator (v1.2) — the free showcase that mirrors the engine's definitions. About the indicator →

Related

Liquidity sweep · Fair value gap · Full methodology