Market structure shift
- 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
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.



Wider view of the same indicator on a live chart.