Market structure·6 min read
Market structure, BOS and CHoCH
- In one sentence
- A reading of price as a sequence of swing highs and lows, where a break beyond the last swing either continues the sequence (BOS) or reverses it (CHoCH).
Also called Break of structure (BOS), Change of character (CHoCH), Market structure break (MSB), Trend structure — all covered here rather than on pages of their own.
Published 15 September 2026 · by the SageTradingJournal team
Market structure is the habit of reading a chart as a sequence rather than a picture. Mark the turning points; note whether each high is above the last high and each low above the last low. A series of higher highs and higher lows is what most traders mean by an uptrend, and the mirror image by a downtrend.
Two events get names. When price breaks beyond the most recent swing in the direction the sequence was already going, that is a break of structure — the trend did what it was doing, once more. When price breaks the most recent swing in the opposite direction, that is a change of character — the sequence that had been holding no longer holds.
L1 2290 H1 2318 L2 2301 H2 2334 L3 2312 higher highs, higher lows -> uptrend sequence price trades above H2 (2334) -> break of structure price trades below L3 (2312) -> change of character
The swing point is the whole argument
Everything above depends on knowing which highs and lows count, and that is not something a chart tells you. It is a parameter you choose, and it is the reason two competent traders can look at the same candles and disagree about whether the trend has changed.
| Method | How a swing is defined | What it costs |
|---|---|---|
| Fractal / n-bar | A high with n lower highs on each side | Confirmed only n candles late — every signal arrives after the fact |
| By eye | The turns that look obvious | Not reproducible; two reviews of the same chart disagree |
| Percentage or ATR | A turn of at least x, ignoring smaller ones | One threshold suits one volatility regime and misreads others |
| Close-based | Only closes beyond the swing count | Fewer false breaks, later entries, different results entirely |
| Higher-timeframe only | Swings from a slower chart | Far fewer events; small samples take much longer to mean anything |
There is no correct row. There is only the row you chose, which you should write down, because a test of "market structure" that did not fix this parameter has tested nothing in particular.
Why CHoCH is harder than it looks
A change of character is a claim about the future tense made with past-tense evidence: the sequence has broken, therefore something has changed. But a sequence breaks constantly in ranging conditions, and every deep pullback in a trend that later continues also breaks the last swing. Both are the same event on the chart at the moment it happens.
What it is good for
Structure's real contribution is bookkeeping. It converts "the trend looks strong" into a specific price that, if traded through, means the reading was wrong. That price can go in a plan, and a plan with a written invalidation is a plan a journal can score afterwards.
It also gives other patterns somewhere to attach. Order blocks and fair value gaps are commonly filtered by whether they formed in the direction the structure is going — which is a rule, and therefore testable, rather than a preference.
Testing a structure rule
- 1Fix the swing definition and the confirmation rule in writing, as a playbook rule, before collecting anything.
- 2Replay forward. Swing points look obvious in hindsight and ambiguous live, and only one of those two states is the one you trade in.
- 3Log every structure event your rule produced, not only the ones you acted on.
- 4Split the results by what happened next — continuation or reversal — and report both counts rather than a single success rate.
- 5Compare against your baseline: trades taken with the structure filter versus everything else, in R, with sample sizes attached.
Sage's analytics will do the arithmetic once the trades carry the tags, and the backtesting workspace replays candles one at a time so the structure reads forward. What neither will do is tell you the filter is good: that is a conclusion, and conclusions belong to the person whose record produced them.
Where traders disagree
This vocabulary is not standardised. These are the live disagreements — worth knowing about before comparing your results with anyone else’s.
- How a swing high or low is defined — fractal, percentage, ATR, by eye or from a higher timeframe — with each choice producing a different set of structure events from identical candles.
- Whether a wick beyond the swing counts, or whether a close beyond it is required.
- Whether "change of character" describes anything distinct from a deep pullback, given the two are identical at the moment they occur.
- Whether structure on a lower timeframe carries any information once a higher-timeframe reading is already in hand, or merely multiplies the number of signals.
Test it on your own trades
Whether this holds is a question about your record, not about the term. These are the steps that make the answer trustworthy.
- 1Write the swing definition and confirmation rule down first; a test that did not fix them has averaged several different rules together.
- 2Mark structure forward in replay, because swing points are ambiguous live and obvious afterwards.
- 3Record every event the rule produced, including the ones you did not trade.
- 4Report continuation and reversal counts separately rather than as a single hit rate.
- 5Compare expectancy in R with and without the structure filter, sample sizes shown, before deciding the filter earns its place.
You will also need
- Order blockThe last candle against the direction of a sharp move, marked as a price zone and watched for when price returns to it.
- Fair value gap (FVG)A range of price left behind by three consecutive candles whose first and third wicks do not overlap — the market passed through it quickly and in one direction.
- Liquidity sweepPrice trading beyond an obvious swing high or low — often a level with equal highs or lows — and then returning back through it.