OPEN-SOURCE SCRIPT
Smart Money Concepts Pro [CandleChasers]

Smart Money Concepts Pro [CandleChasers]
Smart Money Concepts Pro organizes market structure, liquidity, price imbalances and session context into a configurable chart-analysis workflow. Its qualified setup markers follow explicit rules, and the latest-setup panel explains the sweep, structure shift, displacement and zone rejection behind each signal.
This is an indicator. It does not place trades, run a strategy or infer institutional orders from candle data. It makes no win-rate, signal-accuracy or future-profitability claims.
How the components work together
Market structure establishes directional context. Swing and internal pivots confirm after the selected number of right-side bars. Continuation BOS requires a close through an unbroken same-direction pivot. Reversal CHoCH requires a close through a protected opposite pivot anchored by the preceding directional break. Smaller new pivots alone do not change that protected level.
Liquidity pools track unswept swing highs/lows. Nearby same-source pivots can merge into equal-high/low clusters. A wick breach followed by a close back inside is a sweep; a close-through consumes the pool without being classified as a sweep. Completed session highs/lows can optionally become source-labelled liquidity pools.
Order blocks use the nearest opposing candle before a swing break that meets displacement and body/range thresholds. An optional recent directional fair value gap validates the block. Candidates crossed at their distal edge or re-entered after departure before detection are rejected.
Fair value gaps use three-candle wick non-overlap with a directional middle candle and a minimum width relative to prior-bar ATR. Zones track fresh, touched and partially filled states, then retire according to mitigation, invalidation, expiry or capacity rules. Active-only and bounded historical views are available.
Higher-timeframe bias, structure and zones use previously completed higher-timeframe values. Imported events appear at the first following chart candle close. Optional higher-timeframe bias agreement can filter setups.
Qualified setup sequence
With sequence enforcement enabled, a long requires:
1. A sell-side liquidity sweep.
2. A later bullish structure break from the chosen internal or swing engine.
3. Directional bullish displacement on the shift bar or later.
4. A bullish rejection of an eligible existing zone on a later bar.
Shorts use the inverse sequence. The zone must have been detected at or after the shift. Opposite breaks/sweeps reset the sequence, it expires after the configured bars, and a qualified setup consumes it. Users can require CHoCH rather than any directional break.
Final qualification also requires swing bias agreement and whichever premium/discount, higher-timeframe, session and cooldown filters are enabled. A rejection overlaps the zone, closes beyond its near edge in the expected direction and does not breach the distal edge on that candle. First-only or multiple distinct retest encounters are supported.
The latest-setup explanation records actual event prices/times and passed filters. It is an audit trail rather than a probability or confidence score.
Sessions, opening ranges and kill zones
Regional mode includes editable Sydney, Asia/Tokyo, Frankfurt, London, New York full, New York AM, New York PM and Custom windows. Each uses an IANA timezone for region-specific daylight-saving behavior. Custom includes Toronto and other common zones, with an arbitrary supported IANA option. Selected windows combine with OR.
New York kill-zone mode substitutes four editable presets on the New York clock: Asia 19:00–00:00, London 02:00–05:00, NY AM 07:00–10:00 and NY PM 13:00–16:00. Sydney, Frankfurt and NY Full are inactive in that mode; Custom remains available. These are configurable analysis conventions, not exchange holiday calendars.
Selected session highs/lows develop on confirmed chart candles and freeze after completion. Opening ranges default to the first 30 elapsed minutes and freeze before their lines are drawn. The script uses fully contained chart bars and labels partial observed data. It does not synthesize missing intrabars. Completed levels have configurable extension and bounded history.
Using the indicator
Use standard, time-based candles. Select a higher timeframe strictly above the chart timeframe or disable higher-timeframe context. Start with a chart interval that aligns with your session and opening-range boundaries.
Input groups separate structure, zones, higher timeframe, liquidity, setups, planning, appearance, sessions, range/kill-zone settings and explanations. Minimal, Structure and Full Suite presets change visibility without changing setup detection. The master session filter defaults off, and feeding session ranges into liquidity pools defaults off.
Optional planning lines show the signal-close entry, an ATR-buffered zone stop and three increasing R-multiple targets. These are static planning levels, not filled orders or a trading recommendation.
Alerts
Named conditions cover bullish/bearish BOS, CHoCH, liquidity sweeps, order blocks, FVGs and qualified setups. Select Once Per Bar Close for named alerts.
Select Any alert() function call for detailed setup messages, including event provenance, zone/source timeframe, sessions and planned prices. Optional new-zone and session/opening-range completion messages can be included. Several distinct event messages may occur on one confirmed close. Recreate alerts after input changes.
Timing and limitations
Chart events confirm at candle close. Pivot detection retains its confirmation delay. Structure labels appear when detected. OB/FVG boxes extend to their historical geometric origins, with detection-time labels; those origins do not mean a signal was available earlier.
Developing session ranges move as new confirmed candles extend them. Completed opening/session ranges freeze. Some dashboard context uses the current live close, while setup markers confirm at close. The indicator does not claim that every visual element is immutable.
A chart that begins mid-session, lacks bars or uses an interval crossing boundaries can produce a partial or unavailable opening range. Session hours do not account for holidays. The premium/discount map uses the latest confirmed high/low pair, not a frozen impulse leg. Selective filters can produce few or no setups. Defaults are not optimized for any market.
Design purpose
The suite combines common SMC concepts for one explicit sequence rather than treating unrelated overlays as independent trading signals. Protected structure, selective zone validation, source-labelled liquidity, zone lifecycles, confirmed higher-timeframe packets and a persistent setup explanation make its decisions inspectable. Session ranges add context without requiring them to alter signals unless the optional liquidity integration is enabled.
Smart Money Concepts Pro organizes market structure, liquidity, price imbalances and session context into a configurable chart-analysis workflow. Its qualified setup markers follow explicit rules, and the latest-setup panel explains the sweep, structure shift, displacement and zone rejection behind each signal.
This is an indicator. It does not place trades, run a strategy or infer institutional orders from candle data. It makes no win-rate, signal-accuracy or future-profitability claims.
How the components work together
Market structure establishes directional context. Swing and internal pivots confirm after the selected number of right-side bars. Continuation BOS requires a close through an unbroken same-direction pivot. Reversal CHoCH requires a close through a protected opposite pivot anchored by the preceding directional break. Smaller new pivots alone do not change that protected level.
Liquidity pools track unswept swing highs/lows. Nearby same-source pivots can merge into equal-high/low clusters. A wick breach followed by a close back inside is a sweep; a close-through consumes the pool without being classified as a sweep. Completed session highs/lows can optionally become source-labelled liquidity pools.
Order blocks use the nearest opposing candle before a swing break that meets displacement and body/range thresholds. An optional recent directional fair value gap validates the block. Candidates crossed at their distal edge or re-entered after departure before detection are rejected.
Fair value gaps use three-candle wick non-overlap with a directional middle candle and a minimum width relative to prior-bar ATR. Zones track fresh, touched and partially filled states, then retire according to mitigation, invalidation, expiry or capacity rules. Active-only and bounded historical views are available.
Higher-timeframe bias, structure and zones use previously completed higher-timeframe values. Imported events appear at the first following chart candle close. Optional higher-timeframe bias agreement can filter setups.
Qualified setup sequence
With sequence enforcement enabled, a long requires:
1. A sell-side liquidity sweep.
2. A later bullish structure break from the chosen internal or swing engine.
3. Directional bullish displacement on the shift bar or later.
4. A bullish rejection of an eligible existing zone on a later bar.
Shorts use the inverse sequence. The zone must have been detected at or after the shift. Opposite breaks/sweeps reset the sequence, it expires after the configured bars, and a qualified setup consumes it. Users can require CHoCH rather than any directional break.
Final qualification also requires swing bias agreement and whichever premium/discount, higher-timeframe, session and cooldown filters are enabled. A rejection overlaps the zone, closes beyond its near edge in the expected direction and does not breach the distal edge on that candle. First-only or multiple distinct retest encounters are supported.
The latest-setup explanation records actual event prices/times and passed filters. It is an audit trail rather than a probability or confidence score.
Sessions, opening ranges and kill zones
Regional mode includes editable Sydney, Asia/Tokyo, Frankfurt, London, New York full, New York AM, New York PM and Custom windows. Each uses an IANA timezone for region-specific daylight-saving behavior. Custom includes Toronto and other common zones, with an arbitrary supported IANA option. Selected windows combine with OR.
New York kill-zone mode substitutes four editable presets on the New York clock: Asia 19:00–00:00, London 02:00–05:00, NY AM 07:00–10:00 and NY PM 13:00–16:00. Sydney, Frankfurt and NY Full are inactive in that mode; Custom remains available. These are configurable analysis conventions, not exchange holiday calendars.
Selected session highs/lows develop on confirmed chart candles and freeze after completion. Opening ranges default to the first 30 elapsed minutes and freeze before their lines are drawn. The script uses fully contained chart bars and labels partial observed data. It does not synthesize missing intrabars. Completed levels have configurable extension and bounded history.
Using the indicator
Use standard, time-based candles. Select a higher timeframe strictly above the chart timeframe or disable higher-timeframe context. Start with a chart interval that aligns with your session and opening-range boundaries.
Input groups separate structure, zones, higher timeframe, liquidity, setups, planning, appearance, sessions, range/kill-zone settings and explanations. Minimal, Structure and Full Suite presets change visibility without changing setup detection. The master session filter defaults off, and feeding session ranges into liquidity pools defaults off.
Optional planning lines show the signal-close entry, an ATR-buffered zone stop and three increasing R-multiple targets. These are static planning levels, not filled orders or a trading recommendation.
Alerts
Named conditions cover bullish/bearish BOS, CHoCH, liquidity sweeps, order blocks, FVGs and qualified setups. Select Once Per Bar Close for named alerts.
Select Any alert() function call for detailed setup messages, including event provenance, zone/source timeframe, sessions and planned prices. Optional new-zone and session/opening-range completion messages can be included. Several distinct event messages may occur on one confirmed close. Recreate alerts after input changes.
Timing and limitations
Chart events confirm at candle close. Pivot detection retains its confirmation delay. Structure labels appear when detected. OB/FVG boxes extend to their historical geometric origins, with detection-time labels; those origins do not mean a signal was available earlier.
Developing session ranges move as new confirmed candles extend them. Completed opening/session ranges freeze. Some dashboard context uses the current live close, while setup markers confirm at close. The indicator does not claim that every visual element is immutable.
A chart that begins mid-session, lacks bars or uses an interval crossing boundaries can produce a partial or unavailable opening range. Session hours do not account for holidays. The premium/discount map uses the latest confirmed high/low pair, not a frozen impulse leg. Selective filters can produce few or no setups. Defaults are not optimized for any market.
Design purpose
The suite combines common SMC concepts for one explicit sequence rather than treating unrelated overlays as independent trading signals. Protected structure, selective zone validation, source-labelled liquidity, zone lifecycles, confirmed higher-timeframe packets and a persistent setup explanation make its decisions inspectable. Session ranges add context without requiring them to alter signals unless the optional liquidity integration is enabled.
Script open-source
Dans l'esprit TradingView, le créateur de ce script l'a rendu open source afin que les traders puissent examiner et vérifier ses fonctionnalités. Bravo à l'auteur! Bien que vous puissiez l'utiliser gratuitement, n'oubliez pas que la republication du code est soumise à nos Règles.
Clause de non-responsabilité
Les informations et publications ne sont pas destinées à être, et ne constituent pas, des conseils ou recommandations financiers, d'investissement, de trading ou autres fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.
Script open-source
Dans l'esprit TradingView, le créateur de ce script l'a rendu open source afin que les traders puissent examiner et vérifier ses fonctionnalités. Bravo à l'auteur! Bien que vous puissiez l'utiliser gratuitement, n'oubliez pas que la republication du code est soumise à nos Règles.
Clause de non-responsabilité
Les informations et publications ne sont pas destinées à être, et ne constituent pas, des conseils ou recommandations financiers, d'investissement, de trading ou autres fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.