Market Structure Explained: Highs, Lows, BOS, and CHoCH
Market structure is the sequence of swing highs and lows a market prints. How to define swings mechanically, tell a break of structure from a change of character, read liquidity sweeps, and train the skill bar by bar.
Market structure is the sequence of swing highs and swing lows a market prints. Higher highs and higher lows define an uptrend; lower highs and lower lows define a downtrend; overlapping swings define a range. Two labels do most of the work in modern structure-based trading: a break of structure (BOS) confirms the current trend is continuing, and a change of character (CHoCH) is the first crack suggesting it might be ending. Everything else — entries, stops, targets, bias — hangs off those definitions.
Here is how to define swings mechanically, how to classify trend and range, exactly how BOS and CHoCH differ, where liquidity fits, how to handle multiple timeframes, and how to build the skill of reading structure bar by bar instead of in hindsight.
Swing highs and swing lows — define them mechanically
A swing high is a bar whose high is higher than the highs of the bars on both sides of it. A swing low is a bar whose low is lower than the lows of its neighbors. Stricter traders require two or three bars on each side; the wider the requirement, the fewer and more significant the swings.
The specific rule matters less than having one. The most common structure-reading failure is marking swings by feel — which quietly becomes marking the swings that support the trade you already want. Pick a definition, apply it every time, and your structure reads become comparable across days.
Not every swing deserves a label, though. A useful filter: a swing only counts for trend purposes if the move into it displaced meaningfully from the prior swing. Three-tick wiggles on a 1-minute chart are noise wearing a swing costume.
The three states of a market
| State | Signature | What it implies |
|---|---|---|
| Uptrend | Higher highs (HH) and higher lows (HL) | Pullbacks to higher lows are buyable until structure breaks |
| Downtrend | Lower highs (LH) and lower lows (LL) | Rallies to lower highs are sellable until structure breaks |
| Range | Overlapping swings, no sequence | Fade edges or wait for a real break; trend logic misfires here |
Markets spend a lot of time in the third state. Index futures like NQ trend hard around the open and news, then chop through midday — a structure read that ignores time of day will fight the lunch range all afternoon.
BOS vs CHoCH — the distinction that matters
Both are breaks of a prior swing. The difference is which swing, relative to the prevailing trend:
- Break of structure (BOS): price breaks a swing in the direction of the current trend. In an uptrend, taking out the prior swing high is a bullish BOS — continuation confirmed, trend intact.
- Change of character (CHoCH): price breaks the swing against the current trend for the first time. In an uptrend, breaking below the most recent higher low is a CHoCH — the "higher lows" premise just failed.
Concretely, in an uptrend: HL → HH (BOS) → deeper pullback that breaks the last HL (CHoCH). The CHoCH doesn't prove a downtrend — it revokes the uptrend's evidence. Confirmation comes if the market then prints a lower high and breaks another low (the first bearish BOS).
Two practical conventions worth adopting:
- Close-through, not wick-through. Many traders require a candle body to close beyond the swing to count a break; a wick poke that instantly reverses is usually a liquidity grab, not a break.
- CHoCH is a warning, not an entry. Structure-based traders typically use a CHoCH to stop adding in the old direction and start watching for the new sequence — not to blindly reverse.
Liquidity: why breaks and fakeouts both happen at swings
Swing highs and lows are where stop orders pool — stops of shorts above old highs, stops of longs below old lows. That makes every obvious swing a fuel depot. Two outcomes when price reaches one:
- Sweep: price wicks through the level, fills the resting stops, and reverses. The swing survives; the wick is the tell.
- True break: price trades through with displacement and holds — closes beyond, often leaving a fair value gap behind. This is the version that counts as BOS/CHoCH.
Distinguishing sweeps from breaks is arguably the core skill of structure trading, and it pairs naturally with imbalance concepts — a real break tends to displace and leave an FVG; a sweep tends to wick and snap back.
Multi-timeframe structure
Structure exists independently on every timeframe, and the timeframes disagree constantly. A 1-minute downtrend is often just a pullback to a 15-minute higher low.
A simple, robust hierarchy for intraday futures:
- Higher timeframe (60m/15m): establishes bias — which direction's breaks you trust.
- Execution timeframe (5m/1m): provides entries — e.g., after a higher-timeframe pullback reaches a zone, wait for a lower-timeframe CHoCH in the direction of the higher-timeframe trend as the trigger.
The alignment rule that saves the most money: a counter-HTF signal is a scalp with reduced size or no trade at all — not a reversal campaign.
Common structure-reading mistakes
- Marking every wiggle. If your chart has thirty swing labels a session, your definition is too loose to trade.
- Redrawing history. Moving yesterday's swing marks to fit today's bias defeats the purpose. Marks are decisions; log them.
- Treating one CHoCH as a reversal system. First counter-breaks fail routinely in strong trends — they're often just the deepest pullback yet.
- Ignoring the range state. BOS/CHoCH logic assumes a trend exists. Inside a range, every "break" of a minor swing is noise until an edge gives way.
- Reading structure without liquidity. A break that's really a sweep will trap you exactly when you feel most confident.
How to actually get good at this: bar-by-bar reps
Structure looks trivial on a finished chart because your eye reads it right-to-left, with the answer showing. Reading it left-to-right, one bar at a time, with consequences, is a different skill — and it's trainable:
- Load a historical session you haven't seen. Hide the outcome.
- Advance bar by bar. At each new swing, mark it and state the regime out loud: uptrend / downtrend / range.
- Call each break as it happens: BOS, CHoCH, or sweep — before the next bars resolve it.
- Score yourself at session end: how many sweeps did you call breaks? How early did you catch the regime change?
- Repeat across 20–30 varied sessions — trend days, range days, news days.
Ten sessions of honest bar-by-bar calls teach more than a hundred hindsight chart reviews.
FAQ
What is a BOS in trading?
A break of structure: price breaking a prior swing in the direction of the prevailing trend — e.g., a new higher high in an uptrend. It's read as trend continuation.
What is a CHoCH?
A change of character: the first break of a swing against the prevailing trend — e.g., an uptrend losing its most recent higher low. It warns the trend may be ending but doesn't by itself confirm a reversal.
Is a CHoCH the same as a market structure shift (MSS)?
The terms overlap and usage varies by teacher. Both describe the first counter-trend break; some reserve MSS for breaks with strong displacement. Whatever the label, the mechanical event is the same — define it precisely and apply it consistently.
What timeframe should I read structure on?
At least two: one for bias (15m/60m intraday) and one for execution (1m/5m). Signals aligned with the higher timeframe deserve more trust than signals against it.
Train structure reading on real sessions
TestMax replays real historical NQ, ES, and EURUSD data candle by candle at 1x to 50x speed — so you can practice marking swings, calling BOS vs CHoCH vs sweep, and trading the reads in a simulated account with the outcome genuinely hidden. Start free and get your structure reps in replay before the market grades you for real. Simulated results do not guarantee future results.