Market Structure Trading: How to Define and Verify BOS and CHoCH
Learn how to define swing highs and lows, distinguish BOS from CHoCH, verify wick or close breaks, and test market-structure labels without hindsight.
Market structure trading is a way to organize recorded price movement with explicit swing and break rules. First define which highs and lows count as swings. Then classify the sequence as upward, downward, range-bound, transitional, or unclear. A break of structure (BOS) and a change of character (CHoCH) should be recorded only after the eligible reference, trigger rule, price field, timeframe, and confirmation condition have been fixed.
These labels describe what price did under one definition. They do not reveal whether an institution bought, whether stops were deliberately targeted, or what price must do next. The useful question is not “Who is in control?” but “Which observations and rules produced this structure label, and what evidence would make it fail?”
This page owns the detailed market-structure terminology and verification workflow: swing selection, HH/HL/LH/LL labels, BOS, CHoCH, wick-versus-close rules, structural levels, local-versus-major structure, follow-through, failure, and replay records. The shorter market structure trend guide covers the broad higher-high/higher-low and lower-high/lower-low overview. The price action workflow covers the full no-indicator observation order, while the complete candlestick chart guide owns chart settings, OHLC geometry, forming bars, and timeframe aggregation.
Educational note: Technical-analysis labels are hypotheses, not guarantees. A structure break can fail, a stop can fill away from its trigger, and hypothetical replay does not reproduce all live-market conditions.
Key Takeaways
- Market structure depends on a written swing rule; without one, HH, HL, LH, LL, BOS, and CHoCH can be relabeled after the outcome.
- A confirmed pivot normally requires later bars, so the confirmation time is different from the pivot time.
- BOS is defined here as a break in the direction of the current structure; CHoCH is the first defined counter-structure break.
- CHoCH is a transition warning, not automatic proof of reversal.
- Wick and close rules measure different events. Neither is universally correct.
- Structure is timeframe-, session-, feed-, and adjustment-dependent.
- A level crossing is observable; “institutional buying,” “stop hunting,” and “liquidity engineering” are causal claims that OHLC candles alone cannot establish.
- Blind replay can test whether labels are applied consistently, but it cannot prove future profitability.
What “Market Structure” Means in This Guide
The term market structure has more than one meaning.
In economics and market regulation, it can describe how a venue operates: participants, order types, auction rules, dealers, exchanges, fragmentation, transparency, and price discovery. In discretionary technical analysis, traders often use the same words to describe a visual sequence of swing highs and swing lows.
This guide uses the second meaning:
Chart structure is a rule-based description of selected price pivots and the relationships between them.
That definition is intentionally limited. A price chart can show that a prior high was crossed. It cannot, by itself, identify the participant responsible for the trade or prove why the crossing occurred.
A defensible structure record separates three layers:
| Layer | Example | Status |
|---|---|---|
| Recorded data | A selected bar high was 105.20 | Observable from the chosen feed |
| Rule-based label | It qualified as a swing high under a two-bars-left/two-bars-right rule | Reproducible if the rule is fixed |
| Interpretation | Buyers absorbed supply, institutions defended the level, or stops were hunted | A hypothesis requiring additional evidence |
The first two layers can be checked from the stated data and rule. The third may be useful as a research hypothesis, but it should not be presented as a fact inferred from candles alone.
Verify the Chart Before Labeling Structure
Two charts with the same symbol can produce different swings and breaks. Complete a chart identity record before drawing structure.
| Field | Record | Why it changes structure |
|---|---|---|
| Instrument | Symbol, venue, contract, expiry, account product | Similar labels may represent different markets or counterparties |
| Price field | Last trade, bid, ask, midpoint, mark, index, or settlement | A reference may break on one field but not another |
| Data provider | Feed and provider | Trades, quotes, corrections, and historical depth can differ |
| Session | Regular, extended, rolling, or continuous | Session boundaries change bars, gaps, highs, and lows |
| Timezone | Exchange, UTC, local, or provider time | The same trades can be grouped into different candles |
| Adjustment | Raw, split-adjusted, dividend-adjusted, or futures-roll method | Historical pivot prices can change |
| Bar construction | Time, tick, volume, range, or another method | The sequence of pivots changes with aggregation |
| Interval | Exact timeframe | A five-minute swing may be noise inside a daily bar |
| Bar status | Closed or still forming | A live high, low, close, and label can still change |
| Missing-data check | Outage, holiday, halted period, thin session | An apparent break may be a feed or session artifact |
CME Group describes candlestick and bar charts as different visual representations of open, high, low, and close data. TradingView also notes that pivot values can differ when intraday and higher-timeframe datasets use different sessions or prices. These are not cosmetic details; they can change which pivot is selected and whether a level appears broken.
Step 1: Define Which Swing Points Count
A swing high is a local high selected by a stated rule. A swing low is a local low selected by a stated rule. The words “obvious” and “major” are not sufficient definitions.
Common rule families include:
Fixed left-and-right bars
A pivot high can be defined as a bar whose high exceeds the highs of a fixed number of bars on both sides. A pivot low reverses the comparison.
TradingView's Pivot Points High Low documentation uses this type of logic: the selected number of lower highs or higher lows on either side determines the pivot. Increasing the number of comparison bars generally produces fewer, broader pivots.
Record:
- left-side bars;
- right-side bars;
- strict greater-than or greater-than-or-equal comparisons;
- wick high/low or another price field;
- how equal highs and equal lows are handled.
Minimum-movement rule
A swing can be selected only after price moves a stated amount away from the candidate pivot. The amount may be expressed as:
- absolute price;
- percentage;
- ticks or pips;
- a volatility-normalized amount;
- another predefined threshold.
This can reduce minor pivots, but the threshold becomes a parameter that must be tested rather than selected after viewing the chart.
Visual or discretionary rule
A human may select pivots that appear important within a chosen lookback. This is not automatically invalid, but the discretionary fields should be documented:
- visible lookback;
- zoom level;
- minimum separation;
- whether repeated tests increase importance;
- whether candle closes or extremes matter;
- whether the rule changed during review.
If two reviewers cannot reproduce the same pivots from the written instructions, the method is not yet sufficiently specified for comparison.
Confirmed Swings Arrive After the Pivot Bar
A fixed right-side-bar method creates an important timing limit.
Suppose a pivot high requires two lower highs to its right. The high occurs on bar 10, but it cannot be confirmed until bar 12 closes. Marking the symbol above bar 10 is visually convenient, yet the information became available later.
Keep both timestamps:
| Field | Meaning |
|---|---|
| Pivot time | When the selected high or low occurred |
| Confirmation time | When enough later data existed to qualify it under the rule |
This avoids look-ahead bias. A replay test must not act on a confirmed pivot before the confirmation bars were visible.
Use three states when helpful:
- candidate pivot: a possible turn that is not yet confirmed;
- confirmed pivot: all required conditions are satisfied;
- invalidated candidate: later price action prevented confirmation.
A live structure map can therefore differ from a chart labeled after the entire history is visible.
Step 2: Label HH, HL, LH, and LL
After selecting confirmed swings, compare each high with the prior eligible high and each low with the prior eligible low.
| Label | Rule-based meaning |
|---|---|
| Higher high (HH) | Current eligible swing high is above the prior eligible swing high |
| Lower high (LH) | Current eligible swing high is below the prior eligible swing high |
| Higher low (HL) | Current eligible swing low is above the prior eligible swing low |
| Lower low (LL) | Current eligible swing low is below the prior eligible swing low |
| Equal high/low | Difference falls within a predefined equality tolerance |
Define equality explicitly. Exact equality may be too strict for some instruments, while a wide tolerance can hide meaningful differences. A tolerance could use ticks, percentage, or another stable unit, but it must be chosen before reviewing the result.
Also define which pivots are eligible for comparison. Comparing a minor high with a major high can create a label that is mathematically true but structurally inconsistent.
Step 3: Classify the Current State
Do not force every sequence into an uptrend or downtrend. A practical state model is:
Upward structure
The selected swing sequence shows advancing highs and advancing lows under the chosen rule. One isolated HH or HL is not necessarily enough; define the minimum sequence required.
Downward structure
The selected sequence shows declining highs and declining lows under the chosen rule.
Range
Price rotates between bounded references without sustained progression under the rule. A range can contain many local HH, HL, LH, and LL labels, so local labels alone do not establish a directional state.
Transition
A prior directional sequence has stopped progressing or has suffered a counter-structure break, but the opposite directional sequence is not established.
Unclear
The pivots, equality cases, missing data, or conflicting structural levels do not support a stable label. “Unclear” is a valid result and often a better research decision than inventing certainty.
Record the state separately for each timeframe. A daily upward sequence and an hourly downward sequence can coexist. One does not erase the other; they describe different aggregations.
BOS: Define the Continuation Break Before Testing It
Break of Structure (BOS) is not a universally standardized term. In this guide, it means:
A predefined crossing of an eligible structural reference in the direction of the currently classified structure.
Under that convention:
- upward structure + break of selected prior swing high = upward BOS;
- downward structure + break of selected prior swing low = downward BOS.
A BOS record needs more than a line on the chart.
| Required field | Example choices |
|---|---|
| Active state before break | Upward / downward / range / transition / unclear |
| Eligible reference | Last confirmed major swing high, last external high, or another defined pivot |
| Trigger | Wick trades beyond / close finishes beyond / fixed buffer beyond |
| Price field | Last trade / bid / ask / midpoint / settlement |
| Session | Regular / extended / continuous |
| Confirmation | Immediate / bar close / next-bar follow-through / retest rule |
| Failure | Close back inside, opposite pivot break, no follow-through, or another defined condition |
A level crossing does not automatically mean the trend will continue. CME Group's technical-analysis education repeatedly treats chart patterns as indications rather than absolute rules and notes that reversal or continuation patterns often require confirmation.
CHoCH: Treat It as a Transition Event
Change of Character (CHoCH) also varies across trading communities. In this guide, it means:
The first predefined break against the active directional swing sequence.
Examples:
- upward structure + break of the selected prior higher low = bearish CHoCH;
- downward structure + break of the selected prior lower high = bullish CHoCH.
CHoCH changes the evidence, not the future with certainty. After the event, several outcomes remain possible:
- the opposite structure develops;
- price enters a range;
- the break fails and the prior structure resumes;
- different swing definitions produce conflicting labels;
- the event is caused or distorted by a gap, session boundary, data correction, or thin market.
For that reason, the post-CHoCH state should normally be transition until the method's next-state rule is satisfied.
BOS vs CHoCH: A Reproducible Distinction
| Question | BOS | CHoCH |
|---|---|---|
| Direction relative to active structure | With it | Against it |
| Typical use in this guide | Continuation evidence | Transition warning |
| Does it prove the next trend? | No | No |
| Requires an eligible confirmed reference? | Yes | Yes |
| Requires a fixed wick/close rule? | Yes | Yes |
| Must include failure conditions? | Yes | Yes |
Do not decide whether a break was BOS or CHoCH only after seeing what followed. The active state and eligible reference must already exist in the record.
Wick Break, Close Break, and Buffered Break
A structure label can change depending on the trigger.
Wick break
A wick break records that the selected traded high or low crossed the reference during the bar. It is sensitive to brief excursions and may capture an interaction that a close rule ignores.
Close break
A close break requires the chosen bar to finish beyond the reference. It excludes excursions that return before the close, but it also reacts later and depends on the selected timeframe.
Buffered break
A buffered rule requires price to exceed the reference by a predefined amount. The buffer can reduce near-equality cases but introduces another parameter.
No rule is universally superior. Compare them as separate methods.
| Method | Event measured | Main limitation |
|---|---|---|
| Wick | Any recorded excursion beyond the level | Sensitive to brief spikes and feed differences |
| Close | Bar finishes beyond the level | Timeframe-dependent and delayed until close |
| Buffer | Crossing exceeds a defined distance | Result depends on buffer calibration |
| Retest confirmation | Price crosses, returns, then satisfies a second rule | Later signal and more discretionary fields |
Never switch from wick to close because the wick example failed, or from close to wick because the close arrived too late. That is outcome-based rule changing.
Local Structure vs Major Structure
Many traders use terms such as internal, local, minor, external, or major structure. These labels are useful only when the hierarchy is defined.
A reproducible hierarchy might use:
- different pivot strengths;
- different minimum-movement thresholds;
- different timeframes;
- a nesting rule that states when a local pivot becomes a major pivot;
- a fixed lookback and minimum separation.
Record the hierarchy before labeling breaks. Otherwise, a failed setup can be dismissed as “only internal structure,” while a successful one is promoted to “major structure” after the fact.
A simple two-layer record can be enough:
| Layer | Definition | Purpose |
|---|---|---|
| Major | Broader pivot rule or higher aggregation | Classifies the larger visible sequence |
| Local | More sensitive pivot rule inside the major legs | Describes shorter rotations and transitions |
The higher timeframe does not automatically “win.” It covers a different interval and may be more relevant for a longer decision horizon, while a shorter timeframe may be relevant for another task. The relationship must be tested for the intended use.
Structural Level, Support/Resistance, and Zone Boundaries
A swing price is a reference point. It is not automatically a precise support or resistance line.
The support and resistance guide owns zone construction and reaction testing. For market-structure records, note whether the reference is:
- the exact pivot extreme;
- the pivot close;
- a zone around the pivot;
- a cluster of repeated highs or lows;
- a session or event reference;
- a calculated level from another method.
Do not mix these definitions in the same sample without recording the change.
CME Group notes that support and resistance generally behave as areas rather than prices that always hold exactly. That is another reason to define whether a structure break uses the precise swing price, a tolerance, or a zone boundary.
Do Not Infer Institutional Intent From OHLC Alone
The legacy phrase “trade like an institutional trader” can imply that candle structure reveals institutional decisions. That conclusion is not supported by OHLC bars alone.
From a candle chart, you may observe:
- price traded beyond a prior high;
- price closed back below that high;
- volume, if available, changed;
- subsequent bars continued or failed;
- the event occurred around a known session or announcement.
You cannot establish from those observations alone:
- which participant initiated the move;
- whether stops were known or targeted;
- whether the move was a deliberate liquidity sweep;
- whether an institution accumulated or distributed;
- whether dealer inventory or hedging caused the move;
- whether the same causal story applies to another instrument.
Use neutral descriptions such as crossed, closed beyond, returned inside, continued, or failed. Treat “stop hunt,” “smart money,” “institutional footprint,” and “liquidity grab” as hypotheses requiring evidence beyond the candle shape.
A 10-Step Market Structure Verification Workflow
1. Identify the chart
Record the exact instrument, venue or provider product, price field, session, timezone, adjustment method, bar construction, timeframe, and whether the latest bar is closed.
2. Freeze the visible lookback
Set the amount of history visible before labeling. Do not zoom out only after the structure becomes difficult to explain.
3. Write the pivot rule
Define left/right bars, minimum movement, equality treatment, price field, and confirmation timing.
4. Mark only information available at that time
Distinguish candidate pivots from confirmed pivots. Do not use later confirmation as if it existed on the pivot bar.
5. Label comparable swings
Apply HH, HL, LH, LL, or equal labels only between pivots from the same structural layer.
6. Classify the pre-break state
Choose upward, downward, range, transition, or unclear under a written minimum-sequence rule.
7. Select the eligible break reference
Specify the exact confirmed pivot and why it qualifies. Do not choose a different reference after the outcome.
8. Apply the trigger rule
Use the predefined wick, close, buffer, or retest condition with the stated price field and session.
9. Record follow-through and failure
Measure what happened over a fixed horizon. A break can continue, stall, return inside, form a range, or produce an opposite break.
10. Grade process separately from outcome
A correctly applied rule can lose, and an incorrectly applied rule can appear profitable. Record rule compliance separately from directional result and hypothetical P&L.
Failure Conditions That Prevent Hindsight
A structure hypothesis should state what would reject or leave it unresolved.
| Hypothesis | Supporting observation | Failure or unresolved condition |
|---|---|---|
| Upward BOS continues | Eligible high is crossed and predefined follow-through occurs | Price returns inside, opposite reference breaks, or no follow-through within horizon |
| Bearish CHoCH develops into downward structure | Counter-structure low breaks, then eligible LH and LL sequence forms | Prior high is reclaimed, range develops, or opposite sequence is incomplete |
| Wick break differs from close break | Wick crosses but chosen close remains inside | Later result cannot retroactively change the original label |
| Local break aligns with major state | Local rule breaks in selected direction while major state remains defined | Major state changes, layers conflict, or mapping rule is unclear |
The no-action condition matters. Examples include:
- swing is not confirmed;
- eligible reference is ambiguous;
- bar is still forming;
- data outage or corporate action is unresolved;
- current state is range or unclear and the method requires directional structure;
- wick and close rules disagree and the method has no conflict rule;
- event risk or session boundary invalidates the comparison.
Test BOS and CHoCH Without Curve-Fitting
A useful replay test separates rule development from evaluation.
Development sample
Use one historical set to define:
- pivot sensitivity;
- state classification;
- eligible references;
- wick, close, or buffer trigger;
- follow-through horizon;
- failure condition;
- local/major hierarchy;
- no-action rules.
Evaluation sample
Freeze those definitions and apply them to unseen periods. Do not change the swing strength, trigger, or structural layer because an individual sample looks unusual.
Track at least:
- total eligible observations;
- no-action observations;
- BOS and CHoCH counts;
- continuation, failure, transition, and unresolved outcomes;
- time to follow-through or failure;
- maximum movement in both directions under one measurement rule;
- missing-data and session exclusions;
- rule violations;
- changes between development and evaluation performance.
Do not optimize only for win rate. A high win rate can coexist with large losses, unrealistic fills, inconsistent labels, or a small sample.
Market Structure Worksheet
Use one record per observation.
| Field | Entry |
|---|---|
| Review ID | |
| Instrument / venue / product | |
| Data provider | |
| Price field | |
| Session and timezone | |
| Adjustment or roll method | |
| Bar type and interval | |
| Closed-bar status | |
| Visible lookback | |
| Pivot rule | |
| Equality tolerance | |
| Pivot confirmation delay | |
| Structural layer | Major / local / other |
| Confirmed swing sequence | |
| Pre-break state | Up / down / range / transition / unclear |
| Eligible reference | |
| Reference price | |
| Trigger rule | Wick / close / buffer / retest |
| Event label | BOS / CHoCH / no break / unresolved |
| Break timestamp | |
| Follow-through rule | |
| Failure rule | |
| No-action condition | |
| Data or event issue | |
| Fixed evaluation horizon | |
| Outcome classification | Continuation / failure / range / opposite structure / unresolved |
| Rule followed as written? | Yes / no / unclear |
| Hindsight change detected? | |
| Hypothetical costs modeled? | |
| Notes for future samples |
What ChartMini Can and Cannot Verify
ChartMini is best suited for lightweight historical candle replay. It can help you:
- hide future candles;
- reveal historical bars sequentially;
- mark swing candidates and confirmed pivots manually;
- write the eligible reference before the next bar is shown;
- compare wick and close definitions across samples;
- record BOS, CHoCH, failure, and no-action outcomes;
- separate development periods from evaluation periods;
- review whether the same structure rule was applied consistently.
ChartMini does not automatically identify or verify:
- institutional orders or participant identity;
- dealer inventory, hidden liquidity, or stop locations;
- a universal BOS or CHoCH definition;
- complete live bid/ask history;
- order-book queue position;
- commissions, financing, conversion, and all provider fees;
- partial fills, rejection, routing, slippage, and market impact;
- guaranteed stop prices;
- live margin calls or liquidation;
- future profitability.
Use ChartMini for blind chart-reading practice, provider or venue records for product and execution facts, and a demo or live statement for current order behavior and costs.
Practical Next Step
Open one historical chart with future candles hidden and complete only the structure record before considering a hypothetical trade.
- Record chart identity and freeze the visible lookback.
- Write one pivot rule and one equality rule.
- Reveal bars until pivots become confirmed; note the confirmation delay.
- Label the confirmed HH, HL, LH, and LL sequence.
- Classify the state and select one eligible reference.
- Write the wick, close, buffer, or retest trigger.
- State the follow-through, failure, and no-action conditions.
- Reveal a fixed number of bars.
- Grade the event label and rule compliance separately from the outcome.
- Repeat on an unseen sample without changing the definitions.
The objective is not to predict every break. It is to make the structure method explicit enough that another reviewer can reproduce the label and identify when hindsight changed the rule.
FAQ
What is market structure trading? Market structure trading is a technical-analysis approach that classifies price movement from a written sequence of swing highs and swing lows. The reader defines which pivots count, labels higher highs, higher lows, lower highs, and lower lows, and records whether a selected reference was crossed. These labels organize historical price behavior; they do not identify who traded or guarantee the next direction.
What is a break of structure, or BOS? In this guide, a break of structure is a predefined break of an eligible swing in the direction of the currently classified structure. An upward BOS requires price to cross the selected prior swing high while the active structure is classified as upward; a downward BOS uses the selected prior swing low in a downward structure. The swing rule, wick-or-close trigger, timeframe, session, and confirmation rule must be written before the outcome is reviewed.
What is a change of character, or CHoCH? In this guide, CHoCH is the first predefined break against the currently classified directional sequence. It is a transition warning, not proof that a new opposite trend exists. After a CHoCH, the next state may be a reversal, a wider range, a failed break, or an unclear transition, so follow-through and failure conditions still need to be observed.
Should a market structure break use the wick or the candle close? There is no universal wick-or-close rule. A wick rule records any traded excursion beyond the reference, while a close rule requires the selected bar to finish beyond it. They answer different questions and can produce different labels. Choose one rule before reviewing the sample, record the exact price field and session, and test it consistently instead of switching after seeing the result.
How do you choose swing highs and swing lows? Choose an explicit pivot method, such as a fixed number of lower highs or higher lows on each side, a minimum price movement, or another reproducible rule. Also define tie handling, the price field, the lookback, and whether the pivot is provisional or confirmed. A right-side confirmation rule identifies a swing only after later bars exist, so it must not be treated as information that was available on the pivot bar itself.
Can ChartMini identify institutional order flow or prove that market structure works? No. ChartMini can hide future candles and support repeatable historical chart-reading practice, but it does not identify participant intent, institutional orders, stop locations, dealer inventory, or complete live order flow. Replay results are hypothetical and do not reproduce every spread, fee, financing charge, queue position, partial fill, rejection, slippage, margin event, or emotional response.
Official Source Notes
- CME Group — Technical Analysis: explains OHLC chart data, trend observation, and the subjectivity introduced when chart patterns are interpreted.
- CME Group — Chart Types: describes candlestick, bar, and line construction and how timeframe and bar type affect the displayed price series.
- CME Group — Technical Patterns: Reversals: notes that tops, bottoms, and reversal patterns are difficult to confirm in real time and are indications rather than absolute rules.
- CME Group — Support and Resistance: explains previous highs and lows, trend lines, and why support and resistance generally behave as zones rather than exact prices.
- TradingView — Pivot Points High Low: documents left/right-bar pivot logic and how pivot significance changes with the selected period.
- TradingView — Pivot Points Standard: documents how session, daily-based values, settlement prices, and intraday feeds can produce different pivot calculations.
- CFTC — Commodity Trading Systems Sold on the Internet: explains limitations in hypothetical results and the need to account for execution and liquidity assumptions.