Smart Money Concepts becomes testable when two readers can label the same events on the same data. A high being crossed and price returning below it is an observation; “institutions collected stops” is a separate causal story. Define the event, its recognition time and a condition that can disprove it. A candle chart alone cannot establish order ownership, intent or profitable performance.

What Smart Money Concepts (SMC) actually are

OHLC gives a bar’s Open, High, Low and Close in a specified data source. It does not identify the owner of an order, its motive or any remaining position. BIS describes spot and most FX derivatives as OTC markets with dealer intermediaries rather than one centralized exchange. A retail provider’s chart is not a complete market-wide transaction or order register.

Compare SMC labels with support and resistance levels and the technical-analysis approach by writing explicit rules. Different names or an institutional narrative do not prove that one procedure is more precise or profitable. The conventions below are our working model, not a universal SMC standard or an exhaustive claim about all published studies.

Five labels require explicit rules
LiquidityExecutable price and size; OHLC does not reveal all resting orders
Order blockA selected candle range under a declared lookback and trigger
Break of structure (BOS)A break given a previously defined direction and pivot state
Change of character (CHoCH)A contrary break under the same declared structure rules
Fair value gap (FVG)A declared non-overlap condition, not proof of absent trades

Liquidity as the fuel of the entire market

A buy order needs a selling counterparty, while a sell order needs a buyer. Stops above a high from short positions are buy orders when triggered; they are not automatically selling liquidity for an institution wishing to buy. A candle chart does not reveal all resting orders or the intentions of participants. Describe the observed price movement separately from any SMC liquidity narrative.

Labels such as external, internal or session liquidity need a stated observable criterion and data scope. Do not infer unfilled institutional orders, participant counts or a typical London-open sweep from candle geometry. For actual execution, the quote side and available size are separate inputs; a label does not supply them.

Order block — a declared selection rule

Our working bullish order-block rule runs only after a known high is broken by a closing price. Among the three immediately preceding bars, select the last bearish bar and use its entire Low–High range. If no bearish bar exists there, select none. The three-bar window and whole-range choice are parameters, not filters identifying real institutional positions.

Choose body versus full range, lookback and recognition time before testing, as discussed in order block trading. A nearby FVG or higher-timeframe condition can be another written criterion, but neither proves who traded there or that a contrary-timeframe position usually loses. Retain rejected cases as well as accepted ones.

Use the following invented bars to test recognition rules, not to claim historical results. Our high pivot requires a strictly greater High than the two bars on each side; ties are rejected. It is known only after the second right-hand bar closes. Define a low pivot analogously.

Fictional EUR/USD Bid bars, one fixed interval
BarOpenHighLowClose
11.10001.10101.09951.1005
21.10051.10151.10001.1010
31.10101.10201.10081.1016
41.10161.10181.10041.1008
51.10081.10101.09981.1002
61.10021.10341.10001.1030
71.10301.10401.10241.1035

Bar 3 High 1.1020 exceeds bars 1, 2, 4 and 5, so it is confirmed only after bar 5. Bar 6 Close 1.1030 then exceeds it by 10 conventional 0.0001 pips. The last bearish bar among 3–5 is bar 5: the selected OB is [1.0998, 1.1010], 12 pips wide, and only receives its label after bar 6. No decision based on that label was available on bar 5.

A used level does not become a new pivot

Record the level as an object with ID, price and confirmation time. Pivot P7 at 100 sees successive closes 99, 101, 102, 99, 101. Three are above the level; two transitions cross from ≤ 100 to > 100. Our rule permits only P7’s first break.

One pivot, three closes above, one BOS eventCloses 99, 101, 102, 99, 101 cross 100 upward twice. The first break changes P7 from available to used. Later closes do not create a new pivot.P7: known level 1001009910110299101P7 = used from first BOSA new pivot needs a new ID
The polyline shows recorded closes; the lower bar shows object state. Connecting points displays order, not transactions between candles.

A program reporting BOS on every Close > 100 counts the price state. Reporting only transitions counts two crossings. Remembering the used pivot reports one event. These are three different specifications. Retain pivot ID and consumption time in the test; a newly confirmed pivot can allow another signal under its own ID.

Assumptions: Our fictional state machine uses one confirmed level 100. Consume its ID after the first Close > 100; a return below does not restore it. This policy is not a universal SMC definition.

Break of structure (BOS) — trend continuation

For our break event, require the first Close beyond the most recent previously confirmed, unused pivot high; use the opposite condition for a low. Mark the level ID used after its first break. A wick is insufficient under this convention, and later closes beyond that same level are not new events. The preserved diagram distinguishes price state, every crossing and first use.

Calling the break BOS additionally requires a prior rule for directional structure and its changes. Without that context, record high-break or low-break rather than claim a continuing trend or permission to trade. Wyckoff method provides a different framework; neither terminology establishes triggered stops or a frequency of false breaks from these bars.

BOS and CHoCH need a directional definition

BOS and CHoCH commonly distinguish a break with the prior direction from one against it. Declare which confirmed pivots define that direction and when it changes. change of character (CHoCH) discusses this distinction; a price label does not identify institutions finishing one phase or prove a future reversal.

A pullback entry, immediate entry and no-trade result are different strategy rules, whose costs and outcomes require testing. The breaker block needs its own invalidation and role-change conditions. No general safer-entry or false-break probability follows from adding these labels.

FVG — non-overlap and the depth of a return

For three consecutive bars A–B–C, our bullish FVG requires L(C) > H(A), with band [H(A), L(C)]; bearish FVG requires H(C) < L(A). Equality gives no positive-width band. In bars 5–6–7 above, the bullish band is [1.1010, 1.1024], width 14 pips, midpoint 1.1017. It is known after bar 7 closes. Bar 6’s range covers the entire band, so non-overlap of bars 5 and 7 does not prove that no quotes or trades occurred there.

The selected OB and FVG touch at 1.1010; they have no positive-width intersection. These labels still arise from the same candles, so they are not independent statistical confirmations. Suppose a later bar descends from above the FVG to Low 1.1016: depth is 8/14 ≈ 57.14%. It passes the midpoint but not the opposite boundary. Define first touch, midpoint and full traversal separately, plus an observation deadline; a zone without a return must remain in the results.

What a complete SMC setup looks like

OHLC also loses intrabar order. In a separate fictional bar, Bid O = 1.1026, H = 1.1032, L = 1.1008 and C = 1.1028, with previously known high 1.1030 and FVG [1.1010, 1.1024]. Assume continuous movement between supplied prices, without gaps.

Same OHLC, different event order
Supplied pathHigh crossed before first FVG contact?
1.1026 → 1.1032 → 1.1008 → 1.1028Yes
1.1026 → 1.1008 → 1.1032 → 1.1028No; contact came earlier

Both bars show High above the known level, Close below it and Low through the entire FVG. The high-sweep condition is confirmed only at the final Close in each. The rule “cross the high before first FVG return” cannot be reconstructed from their identical OHLC. TradingView’s broker emulator applies declared intrabar assumptions; those assumptions are not missing market observations. Use finer data if the strategy needs event order.

What to do tomorrow

  1. Freeze a working definition. State instrument, source, interval, price side and zone; specify ties, pivot confirmation, break direction and level-reuse policy.
  2. Label every qualifying and rejected case, retaining the bar referenced by the label and the later recognition time. Do not select only attractive reactions.
  3. Write transaction rules separately: decision time, order type, size, exit, invalidation and costs. A Bid-band touch alone does not establish a buy fill at that price.
  4. Evaluate the fixed rules on unused data with realistic execution and all costs. Simulated consistency or a set number of demo trades cannot certify live success; no universal 1% risk threshold is derived here.
  5. Assess a performance claim from its method, full sample, failures, costs and uncertainty. An advertised win rate or general CFD loss statistic does not establish the performance of this particular rule.

This model classifies price events; it is not a complete trading system. Keep observation, institutional explanation and actual execution separate. Decide what would reject the hypothesis before seeing the result, and do not count several labels from the same bars as independent proof.