Mini SMC Screener I EonMetrics Mini SMC Screener
Mini SMC Screener watches up to 5 symbols at once and answers a question no single-chart indicator can: WHERE is something happening right now. Instead of flipping through charts, you read one small table: market structure direction and the freshest Fair Value Gap event for every symbol on your list.
HOW IT WORKS
The script scans each symbol on the timeframe you choose (empty = chart timeframe) and reports two independent readings per symbol.
🔵Structure — a strict MSS/BOS engine. Swing points are confirmed pivots (a candle with N higher/lower candles on both sides). A close above the last confirmed swing high in a downtrend is a Market Structure Shift to bullish; a close below the protected swing low in an uptrend shifts structure bearish. Between shifts, breaks of structure in trend direction keep updating the protected level. The column shows the current state: ▲ Bull or ▼ Bear.
🔵FVG — a three-candle imbalance tracker. A Fair Value Gap forms when the first and third candle of a three-candle sequence do not overlap (the low of the newest candle stays above the high of the candle two bars back, or the mirror for bearish). The gap between them is unfilled territory. The engine registers a gap only when its height clears an ATR-based minimum size, keeps it active until price trades through its far edge (a full fill), and reports the freshest of two events:
- New — a qualifying gap just formed (displacement is happening now)
- Retest — price traded back INTO a still-open gap (the return many traders wait for)
Each event ages out of the table after a configurable number of bars, so the column only ever shows fresh information — an FVG event from 200 bars ago is not a setup and is not displayed.
Why the two are combined in one script: they answer the two halves of the same scanning question. Structure tells you the directional context of a symbol; the FVG event tells you that something tradeable is happening there right now. One without the other is either context with no trigger, or a trigger with no context — a scanner needs both on one row to be useful.
KEY FEATURES
- 5 symbol slots, each with its own on/off toggle — defaults cover crypto, forex, gold and an index; replace them with your own watchlist
- Structure column: live Bullish / Bearish read from confirmed swing pivots (non-repainting state machine — the state changes only on a confirmed close through a level)
- FVG column: New / Retest events with age in bars ("now", "3b", …); the cell background lights up when the event happened on the current bar
- ATR size filter — noise-sized gaps never make it into the table
- Freshness windows for FVG events, so stale signals disappear on their own
- Alerts: per-symbol alert() messages (structure flips, new FVG, FVG retest) plus two named conditions — "Structure flip (any symbol)" and "FVG event (any symbol)"
- Scan timeframe input — scan a higher timeframe than your chart; a warning shows if you accidentally scan below the chart timeframe (unreliable by design on PulseWire)
- Table position and text size inputs
HOW TO USE
1. Add the indicator to any chart and open Settings → Symbols. Replace the default tickers with the instruments you actually follow.
2. Pick a Scan Timeframe — the chart timeframe or higher. A common setup: chart on M15, scan on M15 or H1.
3. Read rows left to right: Structure gives you the direction bias, FVG tells you whether a fresh imbalance or a retest is in play on that symbol.
4. The combination many traders look for: structure and a fresh FVG event pointing the SAME way — e.g. ▲ Bull structure plus a bullish FVG retest.
5. Set an alert with "Any alert() function call" to get the detailed per-symbol messages without watching the table.
SETTINGS
- Scan: scan timeframe
- Symbols: 5 slots with toggles
- Structure: pivot strength (candles each side to confirm a swing)
- Fair Value Gaps: minimum gap size (× ATR), event freshness (bars)
- Alerts: master toggle
- Table: position, text size, bullish/bearish colors
A note on how the scan works under the hood: each symbol is evaluated in its own sandboxed context via request.security — the full engine state (structure machine, active gap list) is kept separately per symbol, and signals commit on bar close. Disabled slots still consume their data request (a PulseWire compile-time requirement); the toggle hides the row.
This tool reports structure state and imbalance events. It does not generate buy/sell signals, targets or stop levels — what you do with a reading is your decision. It is not financial advice; always do your own analysis and manage your own risk.
Part of the EonMetrics toolset.
Indicator

Equal Highs and Lows [D4A]Overview
This indicator identifies and displays **Relative Equal High (EQH)** and **Equal Low (EQL)** zones, highlighting price levels where the market has stalled or reversed from before. These areas are considered liquidity zones because they mark locations where price has previously paused, reversed, or encountered significant buying or selling activity, and as a result there is a concentration of buy-stops or sell-stops in these zones. In trading approaches such as Smart Money Concepts (SMC/ICT), equal highs and lows are considered important liquidity targets that may influence future market movement, as larger participants are thought to seek the liquidity concentrated around these levels.
How this script is different from other similar tools
- It marks two pivots as Equal Highs only if the second pivot is lower (within the threshold) than the 1st one and likewise, two pivots are marked as Equal Lows only if the second pivot is situated higher (within the threshold) than the 1st pivot. In other words the price has still a reason to re-visit this area
- It provides three different, user configurable pivot lengths that the script scans at the same type in search of EQHL. Most scripts use only one pivot length thus missing on many potential targets
- Apart from main labels, it draws also side labels at defined location which can be convenient to see all EQHL target levels at glance
How It Works
The indicator analyses **pivot highs** and **pivot lows** to locate meaningful swing points on the chart. When two consecutive pivots form within a user-defined price threshold, they are recognized as an Equal Highs or Equal Lows. A line is then drawn between the matching pivots, and the zone is labelled for easy identification.
Since market prices rarely align at exactly the same value, the indicator includes a **ATR Threshold** setting. This parameter specifies the maximum percentage difference allowed between two pivot levels for them to qualify as equal, giving traders the flexibility to adjust the detection based on market volatility and their preferred level of precision.
How to Use
(EQH/EQL) are strong liquidity targets: Use the marked levels as potential targets for take-profits, as price often seeks out these "equal" levels to sweep liquidity.
SETTINGS
- Show EQHL - show labels and drawings
- # of bars to use - limits the number of bars used to find EQHL
- Threshold / ATR Length - are used to establish difference between two levels being considered "equal high" or "equal low"
- Show Labels - define labels shown
- Show Side Labels - enables additional labels on the side of the chart
- Right Coordinate - how many bars to the right the side labels are displayed at
- Pivot Length - there are three different lengths to configure to cover large distance difference between two pivots
- Remove All Drawings After Sweep - when EQH or EQL levels are swept, the corresponding drawings are removed from memory
-----------------
Disclaimer
The content provided in this script is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs. Indicator

Liquidity Radar Engine [MarkitTick]💡 The financial markets operate on a continuous search for liquidity, moving dynamically from areas of consolidation to zones of unmitigated resting orders. This technical evaluation tool is engineered to objectively map these critical liquidity thresholds and provide a comprehensive framework for identifying high-probability market reversals and continuation phases. By tracking the exact interaction between historical pivot structures and real-time volume dynamics, it offers a highly systemic, algorithmic approach to charting price action.
✨ Originality and Utility
● A Synergistic Approach to Market Dynamics
Standard technical tools typically evaluate a single dimension of market data, such as momentum or trend direction, which frequently leads to fragmented analysis and false signals. This script stands out by synthesizing pure price structure, volume delta approximation, and multi-timeframe consensus into a unified visual environment. It removes the guesswork from order block and liquidity trading by mathematically defining structural shifts.
• Justification of the Integrated Logic
This tool is a deliberate fusion of price action concepts and mathematical volume filtering. Relying strictly on a breakout of a previous day's high or low can be highly susceptible to false moves and liquidity traps. By incorporating a relative volume (RVOL) filter and a proprietary candle-based delta estimation, the tool validates structural shifts with quantifiable market participation. Additionally, the inclusion of momentum divergence protocols ensures that price action is aligned with the anticipated structural pivot, filtering out low-probability setups in exhausted trends.
🔬 Methodology and Concepts
● Core Analytical Framework
The script operates by mapping significant price extremes across varying temporal horizons and evaluating the market's precise reaction when these zones are breached.
• Liquidity Sweep Detection
The algorithm constantly monitors the Highs and Lows of the Previous Day, Week, and Month. When current price action breaches one of these levels but fails to sustain the breakout—closing back inside the defined range—a sweep zone is generated. This defines a failed auction mechanism where stops may have been triggered without genuine directional follow-through from larger market participants.
• Equal Highs and Lows (EQH/EQL)
To identify resting liquidity pools, the script evaluates historical pivot points within an adjustable lookback window. Using the Average True Range (ATR) as a dynamic tolerance threshold, it mathematically defines whether two separate swing points are functionally "equal," marking them as magnetic targets for future price action.
• Structural Shifts and Displacement
Once a sweep occurs, the engine scans for a localized Change in State of Delivery (CISD). A valid shift requires displacement, which is measured by comparing the breakout candle's body size against a moving average of recent candle bodies, or by the immediate formation of a Fair Value Gap (FVG).
• Multi-Factor Validation
Signals are not generated strictly on price structure. They must pass a rigorous matrix of internal filters:
Relative Volume (RVOL): Requires the sweep or shift to occur with volume significantly exceeding the recent moving average.
Cumulative Volume Delta (CVD): Approximates buying and selling pressure within the candle spread to confirm directional momentum.
Trend Alignment: Evaluates the current price against a long-term Exponential Moving Average (EMA).
Volatility Squeeze Avoidance: Uses ATR ratios to actively block signals in exceptionally low-volatility environments.
Currency Correlation: Compares the traded pair against a reference index to ensure macroeconomic alignment.
News Blackout: Blocks all signals during user-defined, high-impact news windows to protect against erratic slippage.
🎨 Visual Guide
● Chart Elements and Topography
The visual interface is meticulously designed to present complex, multi-dimensional data without obfuscating the primary candlestick action.
• Historical Liquidity Levels
PDH/PDL Lines: Displayed as subtle, translucent lines indicating the Previous Day's High and Low.
PWH/PWL Lines: Denoting the Previous Week's extremes in distinct, moderately visible hues.
PMH/PML Lines: Marking the Previous Month's extremes for macro higher-timeframe context.
Equilibrium Line: A distinct midline drawn between the daily extremes to gauge intraday premium and discount pricing.
• Structural Zones and Markers
Sweep Zones: Highlighted boxes marking the exact area of a failed breakout. Buy-side sweeps appear in a muted green-toned box, while sell-side sweeps are marked in a red-toned box. These zones feature active aging, gently fading as time progresses.
FVG Clouds: Displayed as gold or yellow background areas denoting supply/demand imbalances.
EQH/EQL Markers: Small textual annotations above or below the price, bounded by a semi-transparent box, indicating concentrated liquidity pools.
• Execution and Management Visuals
Signal Labels: Distinct text markers indicating validated Buy or Sell conditions upon bar close.
Position Boxes: When a signal is active, a structured box appears showing the Entry level (dashed neutral line), Stop Loss (dashed red line), and up to three Take Profit targets (dashed teal lines).
Heatmap Candles: The main chart candles are dynamically colored based on the dominant daily bias or RSI momentum.
• The Multi-Timeframe (MTF) Dashboard
A tabular data panel positioned on the chart displays the trend and liquidity status across three distinct timeframes. It also features a comprehensive statistics section monitoring the active trading session, the current volatility regime, the count of unfilled fair value gaps, and the dynamic risk-to-reward ratio of any open simulated positions.
📖 How to Use
● Interpreting the Data
The primary workflow involves observing the direct interaction between price velocity and the mapped structural zones.
• Executing an Analysis
Wait for a visual Sweep Zone to form, indicating that a significant historical level has been tested and rejected by the market.
Observe the Signal Labels. A signal is only printed if the internal confluence engine—validating volume, delta, and structural displacement—has fully approved the setup.
If the FVG entry model is active, wait for price to retrace into the highlighted Fair Value Gap cloud before considering the setup valid for engagement.
• Trade Management
Utilize the plotted Position Boxes to evaluate the mathematical risk profile. The entry, stop loss, and targets are drawn directly on the chart for immediate visual feedback.
Monitor the MTF Dashboard to ensure the lower timeframe execution signal is not fighting a dominant higher timeframe trend.
If Dynamic Trade Management is enabled, closely observe the Stop Loss line as it automatically trails price based on the selected ATR, Swing, or Chandelier mathematical logic.
⚙️ Inputs and Settings
● Configuration Options
The script is heavily modular, allowing for extensive adjustment of its internal validation logic.
• General and Display Limits
Toggle the visibility of specific liquidity levels (Daily, Weekly, Monthly) and limit the maximum number of historical zones, FVG clouds, or signal boxes retained on the chart to maintain a highly optimized workspace.
• Validation Filters
Volume Validation: Adjust the Moving Average length and the RVOL threshold multiplier to define what constitutes a genuine volume climax.
Delta Filter: Toggle the requirement for estimated volume delta to perfectly align with the signal direction.
Divergence Source: Choose whether the script requires RSI, MACD, or a combination of both to display divergence before validating a reversal.
ADX Threshold: Define the strict minimum trend strength required for continuation signals.
• Target and Management Settings
Risk to Reward (R:R) Inputs: Define the exact mathematical multiples for Target 1, Target 2, and Target 3.
Position Sizing: Input an account balance and risk percentage to have the engine calculate the exact unit size for the plotted setup.
Trailing Logic: Select between None, ATR-based, Swing-based, or Chandelier-based trailing stops, complete with user-defined multiplier adjustments and partial profit scaling.
• Dashboard and Visual Preferences
Modify the specific timeframes monitored by the MTF panel, alter its position, and heavily customize the color palettes for all sweep zones, lines, heatmaps, and interface text.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
● Theoretical Foundations
The architecture of this script is grounded in several well-documented financial theories, primarily focusing on Auction Market Theory and the statistical modeling of price volatility distributions.
• Auction Market Theory and Liquidity
The core premise of the sweep detection logic rests securely on the concept of order matching and liquidity cascades. Markets move constantly to facilitate trade, frequently gravitating toward areas with a high density of resting stop orders, such as historical highs and lows. When these areas are breached but fail to attract aggressive participation, the auction process is deemed to have failed. This script mathematically quantifies these failed auctions by tracking the spatial relationship between the breakout wick and the closing price relative to the historical pivot.
• Statistical Variance and Normalization
The tool heavily utilizes the Average True Range (ATR) as a core normalization factor. Financial time series exhibit continuous heteroskedasticity, meaning volatility varies over time. Hardcoding a fixed point-value for concepts like "Equal Highs" or "Trailing Stops" is mathematically flawed. By utilizing ATR ratios, the algorithm rapidly adapts its spatial thresholds to the current standard deviation of price movement, ensuring highly consistent behavior across varying market regimes and asset classes.
• Momentum Divergence and Rate of Change
The inclusion of oscillators like the Relative Strength Index (RSI) and Moving Average Convergence Divergence (MACD) serves to measure the first and second derivatives of price—specifically velocity and acceleration. By actively requiring a divergence between price extremes and momentum extremes, the script effectively filters for environments where the kinetic energy of the prevailing trend is decaying, thereby increasing the statistical probability of a mean-reverting event or structural reversal.
• Volume Delta Approximation
While granular tick data is technically required for an exact volume delta calculation, the script employs a highly robust approximation algorithm that distributes volume proportionally across the candle's spread. This provides a quantifiable metric of localized supply and demand imbalances, adhering strictly to the Wyckoffian principle of Effort versus Result, ensuring that price moves are backed by actual transactional weight.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. Indicator

Liquidity Sweep Hunter & Targets | AlphaScript⚡ Liquidity Sweep Hunter & Targets
Tracks the High and Low of the Asia and London sessions, tells you exactly what happened to each level, and plots a risk-defined trade framework when a level is swept during the New York session.
This indicator is an upgrade to the : Session Sweep Detector
🔍 What it does
When a session closes, its High and Low become fixed liquidity levels. The indicator draws each level from the exact candle that printed the extreme and watches it until the same session opens again the next day.
Each level resolves in exactly one of three ways:
⚡ SWEEP — price wicks through the level but the bar closes back on the original side. A liquidity raid: stops were taken, but the level held on a closing basis.
💥 BREAK — a bar closes through the level. This is not a sweep, and the indicator never labels it as one. Breaks are displayed separately (and can be hidden) so the two events are never conflated.
🛡️ Untouched — the level survives its full watch window without either event.
First qualifying event wins: one outcome per level, per session, per day. If a bar both pierces and closes through a level, it counts as a break — a close through the level can never be a sweep.
🎯 NY Sweep Targets
When a session level is swept during the New York session, the indicator plots a risk-defined framework:
-Entry at the sweep bar's close
-Stop beyond the sweep wick or beyond the swept level (your choice), plus a tick buffer
-Four fully configurable R-multiple targets (default 1R / 1.5R / 2R / 3R)
-Optional risk / reward zone shading
A Low swept = bullish framework (targets above); a High swept = bearish (targets below). The targets are risk-multiple geometry measured from your entry and stop — planning levels for trade management, not predictions of where price will go.
📖 How to read the chart
-Solid colored lines are session levels, each starting at the candle that actually made the High or Low, so the line points at the liquidity itself.
-Every level line extends to the same right edge, so the name/price labels line up in a clean column.
-When a level is swept or broken, a tag prints at the event bar marking exactly where it happened.
-Previous sessions' levels remain on the chart as reference, with an option to keep or hide their labels.
⚙️ Settings
-Toggle each level independently (Asia High/Low, London High/Low), with per-session colors and fully configurable session hours (New York time; defaults: Asia 18:00–04:00, London 03:00–12:00).
-Minimum wick penetration filter (in ticks) to ignore marginal pokes when qualifying sweeps. Does not apply to breaks.
-Full control over the target framework: stop anchor, buffer, four R-multiples, line styles, colors, and optional risk/reward fills.
-Control how many previous sessions stay on the chart, whether previous-session labels are shown, and optional transparency for past levels.
🔔 Alerts
Per-level sweep alerts (Asia High/Low, London High/Low), combined "Any Sweep" and "Any Break" alerts, and an "NY Sweep Setup" alert that fires when a target framework is plotted. All alerts fire on the close of the event bar.
📌 Notes and limitations
-Designed for intraday timeframes (1 minute to 30 minutes). On higher timeframes, sessions span too few bars for meaningful detection.
-Session times are defined in New York time (America/New_York) and handle the midnight crossover correctly. If you use another session-levels indicator, match the session hours so both tools agree on where the levels are.
-The target framework is a trade-management and planning tool. Entry, stop, and R-targets are geometry based on the sweep — use your own analysis and risk management to decide whether and how to act on a setup.
-Sweep-vs-break classification depends on your chart timeframe: a wick-through-and-reclaim on a 15m bar may resolve as a break on 1m if an intermediate bar closed beyond the level. Neither reading is wrong — they answer different questions.
✅ Why no repaint
-Events are evaluated on confirmed (closed) bars only. A sweep or break tag will never appear intrabar and then vanish.
-Levels are only armed after their session has fully completed. A session High that is still forming cannot be "swept" — price touching it would simply extend it — so no detection runs until the level is final.
-No request.security() calls are used anywhere. All session tracking is chart-timeframe stat Indicator

Smart Money Concepts Liquidity Sweep, Order Block & FVGOVERVIEW
Every Smart Money indicator draws order blocks and tells you they work. This one scores them 0–100 and then forward-tests whether the score is actually true — on your instrument, on your timeframe.
It maps liquidity, detects stop-hunts, builds entry zones from the displacement that follows, confirms them with real order flow, and grades every zone that price returns to. Instead of "here is an order block, trust me", the panel tells you something like:
Tier-A zones returned +0.23R vs +0.08R for a matched control, n=61, t=2.1 — PROVEN
...or, just as usefully, NOT PROVEN. It is built to be able to tell you it doesn't work.
This is a research and framing tool. It is NOT a strategy, NOT a signal service, and NOT a validated edge.
WHY THESE PARTS ARE ONE TOOL (mashup rationale)
The Smart Money / ICT model is a SEQUENCE. Each step is meaningless on its own, and that is why they are combined here rather than sold as separate scripts:
1. LIQUIDITY POOLS — Stops cluster above equal highs (buy-side) and below equal lows (sell-side). Swing points within an ATR tolerance are clustered into a single pool; the more swings, the more stops resting there. A pool is not a signal. It is a magnet and a target.
2. THE SWEEP — Price wicks THROUGH the pool and closes back INSIDE it. That is a stop-hunt, and it is the only part of the sequence that reveals intent. A sweep alone is still not a trade.
3. DISPLACEMENT — An impulsive, ATR-normalised move away from the swept level. This is what separates a SWEEP (reversal) from a RUN (continuation).
4. THE ZONE — Displacement leaves footprints: a FAIR VALUE GAP (a three-bar imbalance) and an ORDER BLOCK (the last opposing candle before the impulse). Where an FVG sits INSIDE an order block, two independent structures agree — flagged as a confluence zone.
5. LOCATION — The zone is then judged on WHERE it sits. Against the VOLUME PROFILE (value area, point of control, and untested "naked" POCs), and against the DEALING-RANGE EQUILIBRIUM. A bullish zone in DISCOUNT is a zone you are being paid to buy; the same zone in premium is not.
6. ORDER FLOW — The question structure cannot answer: did anyone actually show up? Intrabar delta signs each lower-timeframe bar's volume by its own direction. A bullish zone born on NEGATIVE delta is a vacuum, not a footprint — and scores nothing for it.
7. THE ENTRY — Price is never chased. The engine arms only when price RETRACES into a fresh zone, then frames entry / stop / target — the target being THE NEXT OPPOSING POOL OF STOPS, because that is where the next batch of liquidity is resting.
8. THE CALIBRATION — Without it, everything above is folklore.
Remove any one of these and the tool marks noise, chases price, targets nothing, ignores where value actually is, or reports a confidence it has not earned.
THE SCORE (0–100, eight measurable components, no discretion)
Displacement strength ...... impulse body ÷ ATR — the energy behind the zone
Participation (RVOL) ....... volume at formation vs its own recent average
Born from a sweep .......... did a stop-hunt precede it? (the core ICT claim)
Imbalance size ............. FVG height ÷ ATR
HTF alignment .............. does the higher timeframe agree?
Premium / discount ......... bullish zone in DISCOUNT? bearish zone in PREMIUM?
Volume-profile location .... at value, at the POC, or at an untested POC?
Order flow (delta) ......... was the displacement backed by real aggressive flow?
Tiers: A (70+) · B (40–69) · C (below 40). Every weight is an input — if you think the sweep matters more than I do, turn it up, and let the calibration tell you whether you were right.
THE CALIBRATION — AND WHY IT IS HONEST
Every zone trade is paired with a MATCHED CONTROL: the same bar, the same direction, and the SAME R:R — but entered at market with an ATR stop instead of at the zone. This isolates exactly one variable: does entering AT THE ZONE beat entering anywhere else on identical geometry? Under a random walk, this control has zero expectancy, so anything the zones earn is real.
Each tier is tested against its OWN control, because an A-zone may carry a very different R:R from a C-zone, and a trade's hit rate depends on its R:R.
Results are reported as EXPECTANCY IN R, not hit rate. When R:R varies from trade to trade, a hit rate on its own is meaningless: a 6R winner at 20% is +0.4R (excellent), while a 1R winner at 55% is +0.1R (barely worth the commission).
A Welch t-test decides whether the difference is real or luck. The panel does not say "proven" unless t > 1.96.
The panel also answers the one question that matters most: DOES TIER A BEAT TIER C? If the scoring model has any value, A-grade zones must outperform C-grade zones. If they don't, the score is noise — and it will say so.
Conventions are deliberately chosen so the tool cannot flatter itself:
· Both barriers touched on the same bar → the STOP is assumed first.
· Expired trades are marked to market, not counted as wins or losses.
· Everything is logged and resolved on confirmed bars only.
HOW TO USE IT
1. Read the bias, the liquidity map, and the premium/discount shading. Pools above are buy-side, pools below are sell-side, and price usually travels from one to the other.
2. Wait for a SWEEP, then for a zone to be created by the displacement that follows.
3. Do NOT chase. The engine arms an entry only when price RETRACES into a fresh zone.
4. Watch for ABSORPTION at the zone — heavy volume, a small range, price holding. Someone is soaking up the aggression. That is a defended zone, and it is the best live confirmation available.
5. READ THE CALIBRATION BEFORE YOU WEIGHT ANY OF IT. If Tier A is not proven on your instrument and timeframe, a zone is a LOCATION, not a PROBABILITY — treat it as context only.
6. Entry / stop / target and the resulting R:R are drawn on the chart. They are arithmetic, not advice.
Do not tune the weights until the numbers turn green. That is curve-fitting, and the calibration exists to catch it — not to be defeated by it.
ORIGINALITY
The underlying SMC concepts are public and credited below. What is assembled here is the specific synthesis: an eight-component measurable score, the fusion of SMC structure with auction-theory location (volume profile and premium/discount), true intrabar order-flow confirmation, a per-tier matched control, expectancy-in-R reporting, and a significance test that can — and frequently does — return "not proven".
Clean-room implementation. No third-party Pine code is reused.
UNIVERSAL / DATA REQUIREMENTS
Works on any symbol and any timeframe — the engine is ATR-normalised throughout, so it adapts to the instrument rather than assuming point values.
Volume improves the score but is NOT required. On a symbol without real volume, the RVOL, volume-profile and order-flow components neutralise and the panel says so, rather than blanking or pretending.
Intrabar delta requires a timeframe strictly below the chart's. The script AUTO-MAPS this (1m→5s, 3m→15s, 5m→30s, 15m→1m, and so on) because if the intrabar timeframe equals the chart timeframe there is only ONE intrabar — the bar itself — and delta degenerates to ±100% on every bar. Where true intrabar data is unavailable, the script falls back to a close-location proxy AND LABELS IT AS A PROXY in the panel.
NON-REPAINTING
Pools, sweeps, displacement, zones, the volume profile, absorption and entries are ALL computed on confirmed bars only.
Swing points use ta.pivot* and are therefore known only AFTER their confirmation bars. This is why a liquidity pool appears a few bars after its swing. That delay is the honest cost of not repainting, and it is paid deliberately — a level that moves after the fact is worse than no level at all.
The higher-timeframe read uses lookahead_off with a live-bar offset. The calibration harness logs AND resolves on confirmed bars, so its statistics cannot inflate intrabar. Nothing here is drawn and then moved.
HONEST LIMITATIONS — PLEASE READ
Smart Money Concepts is a popular framework, not a proven one. That is precisely why this script measures it instead of asserting it.
The calibration figures are IN-SAMPLE, close-to-close, with NO costs or slippage, and they use overlapping windows. A proven in-sample edge is NOT a guarantee of out-of-sample results.
The rolling volume profile is an APPROXIMATION — each bar's volume is spread uniformly across the bins its range covers. It is not tick data.
Small samples are unreliable. A tier with a low "n" is provisional even if it looks good.
If the edge is near zero, negative, or unstable across timeframes, the honest conclusion is that this model carries no edge on that instrument. The tool is designed to be able to tell you that, and you should believe it when it does.
Nothing here predicts price.
CONCEPT CREDITS
Smart Money / ICT concepts — liquidity pools, stop-hunts, displacement, fair value gaps, order blocks, premium/discount and optimal trade entry — are public trading concepts popularised by Michael J. Huddleston (Inner Circle Trader) and the wider SMC community.
Market Profile, the point of control and the value area — J. Peter Steidlmayer and the CBOT.
Market structure theory — Charles Dow.
Average True Range — J. Welles Wilder.
Wilson score interval — Edwin B. Wilson.
Triple-barrier forward labelling — Marcos López de Prado.
Welch's t-test — B. L. Welch.
The zone-scoring model, the order-flow fusion, the per-tier matched control and the tier calibration are the author's own. Not affiliated with, nor endorsed by, any of the above.
DISCLAIMER
This is a research and educational tool only. It is NOT financial advice, NOT a recommendation, and offers NO guarantee of profitability or accuracy. Indicators describe past behaviour; they do not predict the future. Entry, stop and target output is arithmetic, not advice. Trading carries a risk of loss. Test out-of-sample and make your own decisions. The author accepts no liability for any use of this script. Indicator

Session Sweep Detector | AlphaScript🎯Session Sweep Detector
Tracks the High and Low of the Asia and London sessions and tells you exactly what happened to each level — using strict, transparent definitions.
🔍What it does
When a session closes, its High and Low become fixed liquidity levels.
This indicator draws each level from the exact candle that printed the extreme and watches it until the same session opens again the next day.
Each level resolves in exactly one of three ways:
⚡ SWEEP — price wicks through the level but the bar closes back on the original side. A liquidity raid: stops were taken, but the level held on a closing basis.
💥BREAK — a bar closes through the level. This is not a sweep, and the indicator never labels it as one. Breaks are displayed separately (and can be hidden) so the two events are never conflated.
🛡️Untouched — the level survives its full watch window without either event.
First qualifying event wins: one outcome per level, per session, per day. If a bar both pierces and closes through a level, it counts as a break — a close through the level can never be a sweep.
📖How to read the chart
-Solid colored lines are session levels. Each line starts at the candle that actually made the High or Low, so the line points at the liquidity itself.
-Live levels (still being watched) project ahead of price with a name and price label.
-After a sweep or break, the tag prints at the event bar and the line continues a configurable number of bars past the event before freezing — so you can see the reaction.
-Levels that were never touched freeze when their watch window ends.
⚙️Settings
-Toggle each level independently (Asia High/Low, London High/Low), with per-session colors and fully configurable session hours (times in New York time; defaults: Asia 18:00–04:00, London 03:00–12:00).
-Minimum wick penetration filter (in ticks) to ignore marginal pokes when qualifying sweeps. Does not apply to breaks.
-Control how many previous sessions' levels and tags remain on the chart, with optional transparency for past levels.
-Optional Opening Range Block overlay (off by default): draws the opening range of the New York, London, or Asia session with configurable duration, breakout arrows, mid line, and previous-range history. Note: ORB breakout detection and alerts only run while the ORB display is enabled.
🔔Alerts
Per-level sweep alerts (Asia High/Low, London High/Low), combined "Any Sweep" and "Any Break" alerts, and ORB breakout alerts. All alerts fire on the close of the event bar.
📌 Notes and limitations
-Designed for intraday timeframes (1 minute to 30 minutes). On higher timeframes, sessions span too few bars for meaningful detection.
-Session times are defined in New York time (America/New_York) and handle the midnight crossover correctly. If you use another session-levels indicator, match the session hours so both tools agree on where the levels are.
-Sweep-vs-break classification depends on your chart timeframe: a wick-through-and-reclaim on a 15m bar may resolve as a break on 1m if an intermediate bar closed beyond the level. Neither reading is wrong — they are answers to different questions — but be aware of it when comparing timeframes.
✅Why no repaint
-Events are evaluated on confirmed (closed) bars only. A sweep or break tag will never appear intrabar and then vanish.
-Levels are only armed after their session has fully completed. A session High that is still forming cannot be "swept" — price touching it would simply extend it — so no detection runs until the level is final.
-No request.security() calls are used anywhere. All session tracking is chart-timeframe state. Indicator

Inversion FVG (iFVG) by EonMetricsInversion FVG (iFVG) by EonMetrics
🔶 WHAT IT DOES
A "fair value gap" (FVG) is a three-candle pattern where price moved so fast that the wicks of the first and third candle never overlapped — leaving a void on the chart that the market skipped over. While an FVG is fresh, traders typically expect a bullish gap to act as support and a bearish gap as resistance.
This indicator focuses on the moment that expectation FAILS — and on how it fails. An inversion FVG (iFVG) happens when price displaces through an existing gap with enough force to print a NEW fair value gap in the opposite direction, overlapping the old one. The inversion zone drawn by this script is the COMMON GROUND of those two opposing gaps — the price area where both imbalances intersect. That is where one side got trapped: broken demand turns into supply, broken supply turns into demand, and the market tends to defend that exact area when price returns to it.
It is a structure-annotation tool: it shows you where these events happen and how significant they were. It deliberately does not give buy/sell signals, entries, targets, stops, or win-rate statistics.
🔶 HOW THIS SCRIPT IS DIFFERENT
Most inversion-FVG tools use a simple rule: when a candle closes through a gap, the whole gap is recolored and called inverted. This script uses a stricter, structural definition, and adds level-management logic around it:
1. Two gaps required, intersection drawn. A slow drift through an FVG does not create an inversion here. The traversal must be violent enough to leave a fresh FVG in the opposite direction, and the zone drawn is only the overlap of the two gaps — the exact prices where the old imbalance and the new one coincide — not the whole original gap.
2. Spent levels never invert. The first candle close through the far side of a gap opens a short pairing window. If no opposing gap confirms within it, the level is considered spent and permanently dropped. Levels that price has already chopped through several times can never produce a late, meaningless inversion zone.
3. Levels are remembered independently of what you see. A gap's box may be mitigated and removed from the chart, yet its price range keeps working invisibly as a candidate level for a configurable number of bars. The displacement that flips a level often arrives well after the gap was first touched — display and detection are deliberately separated.
4. Partial consumption. When an opposing gap overlaps only part of a remembered level, only that part is consumed; the remainder stays available. A small opposing gap therefore cannot "steal" a large level from a later, proper displacement. One inverting gap can flip several remembered levels at once, and the resulting zones never overlap each other.
5. Two-condition strength grading. An inversion is tagged STRONG only when the inverting gap is both large relative to volatility AND backed by elevated volume on its displacement candle — size or volume alone is not enough.
🔶 HOW IT DETECTS EACH EVENT (THE EXACT METHOD)
1. Regular FVG: on every closed bar the script checks the classic three-candle condition — for a bullish gap, the current bar's low must be above the high from two bars ago (mirrored for bearish). Gaps smaller than a chosen multiple of ATR (a standard volatility unit, measured at the moment the gap forms) are ignored. By default these regular gaps stay INVISIBLE — they are tracked in the background purely as raw material for inversions, so the chart shows only what the tool is about: the inversion zones. One switch reveals them as a quiet context layer if you want to see what may flip next.
2. Regular FVG expiry (display): each displayed gap lives until price mitigates it, by your rules — at its 50% midpoint or only on a full fill, touched by any wick or requiring a candle close. Mitigated gaps disappear, or stay frozen as reference if you prefer. This controls only what you SEE.
3. Level memory (detection): independently of the display, every detected gap's price range is remembered for a set number of bars from its creation (Inversion Memory). A remembered level dies early if price closes through its far side and no opposing gap confirms within the pairing window (Pairing Window After Break) — that level is spent.
4. Inversion (iFVG): when a fresh gap forms in the OPPOSITE direction of a remembered level and their price ranges overlap, the inversion fires:
- The drawn zone is the intersection of the two full gaps: its top is the lower of the two gap tops, its bottom is the higher of the two gap bottoms.
- An overlap thinner than the Min FVG Size threshold neither draws a zone nor consumes the level.
- The zone is colored by its new role: support (a bearish gap was displaced upward through) or resistance (a bullish gap was displaced downward through).
- The zone is drawn starting from the ORIGINAL gap's origin, so you see the full history of the level — from the moment the imbalance first appeared, through the displacement that flipped it.
- The zone's age counter, retest and expiry logic are anchored at the inversion moment, not at the original gap.
5. Strong grading: the NEW (inverting) gap is measured. If its height is at least a chosen multiple of ATR AND the volume of its displacement candle exceeds the 20-bar volume average by a chosen multiplier, the inversion is tagged STRONG — the old gap was taken out with conviction on real participation, not by low-volume drift.
6. Inversion zone life: each iFVG shows its 50% equilibrium line (the consequent encroachment level), an age counter in bars, fires an alert on the first retest from outside, and expires by the same mitigation rules as regular gaps (50% or full, wick or close) once price trades through it against its new role.
Everything is evaluated on closed bars only, so zones, colors and labels do not repaint.
🔶 HOW TO ACTUALLY USE IT (STEP BY STEP)
1. Out of the box you see only inversion zones — that is the point of the tool. If you also want the raw material (regular gaps that may flip later), enable "Show Regular FVGs" and they appear as quiet green/red context boxes.
2. When a colored inversion zone appears, read its meaning: orange resistance = former demand that got displaced through downward; cyan support = former supply that got displaced through upward.
3. Give more weight to zones tagged STRONG — the inverting gap was large and backed by elevated volume, which traders treat as a more meaningful role-flip than a quiet leak.
4. The first return of price into the zone is the moment most iFVG traders wait for (there is a dedicated retest alert). Watch how price reacts there — rejection confirms the new role, a pass-through negates it.
5. The gray line inside each zone is its 50% midpoint (EQ) — many traders use it as the precise reaction level rather than the zone edges.
6. The age counter (e.g. "34b") tells you how long a zone has existed since its inversion — fresh zones are generally considered more reliable than stale ones, and you can enable fading to de-emphasize old zones automatically.
7. Combine with your own analysis of trend and higher-timeframe levels. The indicator describes structure; it does not predict.
If you want the full life cycle of REGULAR fair value gaps (creation, strength grading and retest alerts while they still act in their original direction), that is what our free Smart FVG indicator does — this tool picks up where it ends, at the moment a gap fails and flips. Both use the same visual language, so they pair naturally.
🔶 EVERY SETTING EXPLAINED
🔵Visualization group
- Bullish FVG / Bearish FVG — colors of the quiet regular-gap context layer.
- iFVG Support / iFVG Resistance — colors of the inversion zones.
- Show Regular FVGs — off by default: only inversion zones are displayed. Turn on to also see the not-yet-inverted gaps as context (hidden gaps are still tracked, so inversions keep firing either way).
- Show 50% Line (EQ) / EQ Line Color — the midpoint line inside each zone.
- Width Mode — how zones extend to the right: Dynamic (to the current bar), Fixed (a set number of bars), or Extended (infinitely).
- Fixed Width (bars) — zone width when Fixed mode is selected.
- Min FVG Size (x ATR) — the smallest height that registers, applied twice: to every new gap AND to the common ground of the two gaps (an overlap thinner than this neither draws a zone nor consumes the level); 0 disables both checks.
BEFORE ATR
AFTER ATR
🔵Mitigation group
- Delete Mitigated Zones — remove finished zones, or freeze them on the chart as reference.
- Mitigation Level — a zone is finished when price reaches its 50% midpoint, or only on a full fill.
- Mitigation Confirmation — what must reach that level: any wick, or a candle close.
- Inversion Memory (bars) — how long each detected gap's range stays eligible to form inversions, counted from the gap's creation and independent of when its box disappears from the chart. Larger = more inversions detected, including from older levels.
- Pairing Window After Break (bars) — once price CLOSES through the far side of a remembered gap, the opposing gap must confirm within this many bars for the inversion to count. If it does not, the level is treated as spent and dropped.
🔵Imbalance Age group
- Show Age Label — the bar counter inside each zone.
- Fade Old Zones / Max Age for Full Fade — gradually de-emphasize stale zones.
🔵Strong Inversion group
- Mark Strong Inversions — enables the two-condition strength check.
- Min Inverting Gap Size (x ATR) — condition 1: how large the inverting gap must be relative to volatility. Note this grades the STRONG tag only; it does not filter which zones appear (that is Min FVG Size).
- Min Volume (x SMA 20) — condition 2: how elevated the displacement candle volume must be versus its 20-bar average.
- Show 'STRONG' Tag — the text tag on qualifying zones.
🔵Labels group
- Show Labels / Label Text Color — master switch and color for all in-zone text.
- Label Offset (bars left of price) — keeps each zone's label trailing near the current bar so it stays readable, instead of sitting far back at the zone's left edge; 0 pins it on the current bar.
🔶 ALERTS
New iFVG Support / New iFVG Resistance / New STRONG iFVG / iFVG Retest / iFVG Mitigated — standard PulseWire alert conditions. Select "Once Per Bar Close" when creating alerts for non-repainting behavior.
🔶 WHAT THIS TOOL DELIBERATELY DOES NOT DO
No buy or sell signals, no take-profit or stop-loss levels, no win-rate dashboard. Detecting a structural pattern is not the same as having a tradable edge, and presenting pattern marks as trade signals would overstate what any indicator of this kind can honestly claim. Use it as a lens for reading market structure, together with your own judgment.
Indicator

Equal Highs and Lows
Equal Highs & Lows (Extended)
This indicator automatically detects equal highs (EQH) and equal lows (EQL) — price levels where the market has printed matching highs or lows — and marks them with horizontal lines that extend in real time to the current candle. These levels often act as resting liquidity (stop clusters) that price tends to revisit and sweep, making them useful reference points for liquidity-based and Smart Money Concepts (SMC) trading.
How it works
- Each new high is compared against prior highs within the lookback window (and each low against prior lows). When a match is found, a line is drawn connecting the two equal points and is continuously extended to the live candle as new bars form.
- An EQH or EQL label rides the right end of each line, so the level stays clearly marked as it extends.
"When Swept" behavior
Choose what happens once price wicks through a level (a high above an equal high, or a low below an equal low):
- Freeze – the line stops extending at the bar where the sweep occurs, leaving a clean record of where liquidity was taken.
- Keep Extending – the line keeps tracking the current candle even after the sweep.
- Remove – the line and its label are deleted the moment the level is swept, keeping the chart clear of taken liquidity.
Settings
- Lookback Length – how many bars back to search for equal highs/lows.
- Line Color / Width / Style – full control over the appearance of the high and low lines.
- Show EQH/EQL Labels – toggle the level labels on or off.
- When Swept – Freeze, Keep Extending, or Remove (as above).
Notes
Levels are matched at the exact price, so equal highs/lows appear most frequently on instruments that trade to consistent tick values (crypto, indices, futures). This tool is for chart analysis and does not generate buy/sell signals.
NOT FINANCIAL ADVICE OR BUY/SELL SIGNALS Indicator

Futures Sessions with NY Opening Range, Levels, FVGs, & HolidaysThis is a session-anchored intraday framework for futures. Every element on the chart is derived from the same session definitions, so the tools stay consistent with each other: the sessions paint the ranges, the completed ranges leave behind levels, the level lifecycle is tied to the session clock, the NY Opening Range anchors the morning, fair value gaps give context inside the ranges, and holiday markers explain the days when sessions are missing or shortened.
Session Ranges
Each market session is defined using IANA names (America/New_York, Asia/Tokyo) – never fixed UTC offsets. The indicator renders identically no matter what timezone your chart is set to (Exchange, New York, etc). Daylight saving is handled automatically: New York flips between EST and EDT on its own, and Tokyo has no DST, so its position against the New York clock simply shifts with the US clock changes (Tokyo's 9:00 open lands at 20:00 New York in summer, 19:00 in winter).
Each session is a shaded fill: Asia in red, London in yellow, New York in blue as defaults.
NY Pre-Open: a dotted range tracks the morning trade from the ORB open at 8:00 America/New_York until the session fill starts at 9:30. It is derived from the ORB input, so moving the ORB moves it too.
Globex Open: the CME futures trading day opens at 18:00 America/New_York (17:00 Chicago), indicated by the pre-open dotted range before the session fill starts at Tokyo open when volume comes in.
New York Opening Range (ORB)
The ORB captures the range of the America/New_York 8:00–8:15 candle, shown as a box with a dashed midline in maroon. It is visible on all smaller timeframes and up to 1h. The ORB ends on the last candle of the New York session — the end time is derived from the NY session input, so the two can never drift apart.
If the ORB range is oversized (18 or more points, configurable), the box is flagged with a red "ORB INVALID" label and shows the range in points.
Sessions Levels (Untested Highs and Lows)
When a session completes, its final highs (black) and lows (teal) are drawn from the candle and extend to the right indefinitely until a level is tested on its first touch. You can configure whether a test means a wick touch (ICT/liquidity style, the default) or a candle close beyond the level (support/resistance style).
Tested levels stay on the chart until the session running at the time of the test ends, so you can use them as points of reference until then. During the London/NY overlap, New York counts as the running session. A level tested during a session gap survives the gap and is handed to the next session that opens. At the NY ORB open at 8:00, all tested levels are removed to prevent clutter.
Untested levels never expire. You can toggle the prices on the price scale on or off based on preference.
Fair Value Gaps
Classic three-candle imbalances in both directions: bullish when a candle's low is above the high from two candles back, bearish when a candle's high is below the low from two candles back. Gaps are shaded in green (by default, configurable) from the middle candle and extend to the right until price trades fully through it (bullish: a low at or below the gap bottom; bearish: a high at or above the gap top), then it is removed. Each gap can draw its Consequent Encroachment — a dashed line at the 50% of the gap, the level where a gap is commonly considered mitigated. Inputs: fill color, CE toggle and color, minimum gap size in points (useful on low timeframes), and a cap on how many gaps are kept.
Holiday Markers
US (NYSE) holidays: a dotted vertical line and a Statue of Liberty marker anchored to the ORB's first candle. Detection is fully rule-based — weekday-observance rules for every holiday, and Good Friday computed from the Easter algorithm (Butcher's computus), so nothing is hardcoded and no yearly maintenance is needed.
Note: NYSE does not observe New Year's on the prior Friday when January 1 falls on a Saturday, and holidays observed on a Friday/Monday (like July 4 on a weekend) are marked on the actual closure day.
Japanese holidays: a dotted vertical line and a shrine marker anchored to the Tokyo session's first candle. Covers the fixed-date holidays, the Happy Monday holidays, both equinox holidays (astronomical formulas, valid through 2150), Monday substitute holidays, the occasional Silver Week citizens' holiday, and the TSE year-end closures (Dec 31, Jan 2, Jan 3).
Markers sit at the bottom of the pane. Days when CME is fully closed have no bars, so there is nothing to mark — markers appear on holidays with shortened or normal trading.
Alert
One built-in alert condition: Tokyo Range Break — fires when price closes outside the completed Tokyo session range, active from the Tokyo close until 11:30 New York time.
How to Use
Built for intraday charts of 1h and below (it draws nothing on higher timeframes). The ORB needs a 15-minute chart or lower to line up with whole candles. Defaults are tuned for CME index futures (ES/MES); the session inputs work on any symbol with continuous futures-style hours. Old drawings persist until Pine's 500-object limits trim the oldest.
These tools are combined because each one feeds the next: the sessions define the ranges, the completed ranges produce the levels, the level lifecycle runs on the session clock and the ORB open, the pre-open dotted ranges share the same derived timings, and the holiday markers explain the days when the rest of the framework is dark. Changing one session input moves everything that depends on it, consistently. Indicator

Indicator

Indicator

Dealing Range by EonMetricsDealing Range by EonMetrics
WHAT IT DOES
This indicator draws one box around the exact price range you're currently trading inside — from the most recent significant low up to the most recent significant high (or vice versa). It then splits that box into two halves at the exact middle: the top half is labeled "Premium" (price here is relatively expensive — a place to look for selling opportunities) and the bottom half is labeled "Discount" (price here is relatively cheap — a place to look for buying opportunities). The exact halfway line is called "Equilibrium" — a common point where price pauses or reverses.
Instead of waiting for both ends of the range to fully finish forming (which most similar tools do, and which makes the box lag behind price), one end of this box is locked to the last confirmed turning point, while the other end keeps following the live price in real time. This means the box always contains the current candle and never leaves it stranded outside — you're never looking at a stale, outdated range.
HOW TO ACTUALLY USE IT (STEP BY STEP)
1. Decide which side you want to trade, then wait for price to come to you — don't chase it in the middle of the box.
- Looking to buy (go long)? Wait for price to fall all the way down into the green Discount zone before considering an entry.
- Looking to sell (go short)? Wait for price to rise all the way up into the red Premium zone before considering an entry.
2. Once price reaches the zone you're waiting for, look for an actual trigger before entering — a reversal candle, a price gap, a small break of structure — rather than buying or selling the instant price merely touches the colored area.
3. Treat the Equilibrium (halfway) line as a "fair value" reference — price often reacts around this line before deciding its next move, so it can act as a first target or a place price pauses on the way to the far zone.
4. Watch the two dots marking the range's boundaries (0 = the low, 1 = the high) — these are the exact swing points the box is built from.
5. The box updates and can shift over time as new swings form — that's expected behavior, not a bug; it means the range is following the market's current structure.
EVERY SETTING EXPLAINED
Range Detection group
- Swing Length — how many candles on each side must be smaller/bigger for a point to count as a real turning point. A bigger number only catches major, important swings (slower-updating, bigger ranges); a smaller number catches minor ones (faster-updating, smaller ranges).
- Lock Range Until Band Break — when ON (recommended), the box stays fixed in place while price bounces around inside it, and only redraws once price actually breaks all the way out through the top or bottom. When OFF, the box updates every time a new turning point confirms, which reacts faster but can shift the box around more while you're watching it.
Visualization group
- Premium Zone — fill color of the top (expensive) half.
- Discount Zone — fill color of the bottom (cheap) half.
- Boundary Lines (0 / 1) — color of the lines marking the very top and bottom of the box.
- Show Equilibrium (50%) — turns the halfway line on or off.
- Equilibrium Color.
- Equilibrium Style — solid, dashed, or dotted line.
- Extend Right — stretches the box and lines all the way to the right edge of your chart. Turn off to have them stop at the current candle instead.
Swing Markers group
- Show Swing Points — turns on two small dots marking exactly where the box's high and low come from.
- High Swing (1) / Low Swing (0) — colors for those two dots.
Labels group
- Show Fib Levels (0 / 0.5 / 1) — labels the bottom of the box as "0", the middle as "0.5", and the top as "1" (standard reference numbers used to describe where price sits inside the range).
- Show Premium / Discount Labels — writes the words "Premium" and "Discount" inside each half.
- Show Prices — adds the actual price number next to the 0 / 0.5 / 1 labels.
- Label Position — puts the text labels on the right side (following the current candle) or the left side (where the range originally started).
- Label Text Color.
Indicator

ICT Killzones | EonMetricsICT Killzones by EonMetrics
WHAT IT DOES
This indicator draws colored boxes on your chart during the hours when big institutional traders are historically most active — these time windows are called "killzones." Each box tracks the highest and lowest price reached while that session is open. When the session ends, the box "seals" and its high and low turn into lines that stretch forward — these are levels price is likely to react to later, so you can see them long after the session is over.
It also draws simple opening-price and high/low lines for the Day, Week and Month, plus the previous day/week/month's numbers. These are shown in the same script as the killzones because they answer the same question at two different zoom levels: "where is the market's attention right now" — killzones tell you that at the hour-by-hour level, and Day/Week/Month tell you that at the bigger-picture level. Traders normally watch both together, which is why they're combined here instead of split into two separate tools.
HOW TO ACTUALLY USE IT (STEP BY STEP)
1. Watch the Asian session box first. It's usually a quiet, narrow range — this range often becomes the "bait" that later sessions test.
2. When London or New York opens, watch for a fast move that quickly reverses (price pokes above/below the recent range and snaps back). This fake-out is common at session opens — the real move often goes the opposite way.
3. Use the high/low lines left behind by earlier sessions as your targets. If price is moving up, the next line above it (an earlier session's high, or the day/week open) is a natural place price may reach and react.
4. Check the Previous Day Close and Week Open lines for context — is today trading above or below yesterday's close? Above or below this week's open? That tells you the bigger picture bias.
5. Turn on "Show Yesterday" if you want to compare today's session ranges against yesterday's.
EVERY SETTING EXPLAINED
Killzones group
- Show Asian / London Open / NY Pre-Market / NY Open / London Close / NY Lunch / NY PM — turns each individual session box on or off. All times are New York time and automatically adjust for Daylight Saving.
- Show Yesterday — also draws all the above boxes for the previous trading day.
Custom Killzone group
- Show Custom KZ — turns on an extra session box that you define yourself (for a market's own open, a prop-firm trading window, or any other hours you want tracked).
- Custom Session — the start-end time of your custom window (24-hour format). If the end time is earlier than the start time, it automatically understands the session crosses midnight.
- Session Timezone — which timezone your custom time window is read in. "Exchange" uses the timezone of whatever symbol you have open.
- Label Name — the name shown on your custom box and its high/low lines.
- Custom Color — the color of your custom box and lines.
Colors group
- One color picker per killzone — sets the fill color of that session's box.
Style group
- Show Box Label — shows the session's name written inside its box while it's still active.
- Show Pivots (H/L) — after a session ends, draws its high and low as lines going forward. Turn this off if you only want the boxes, no forward lines.
- Show Midpoint (50%) — also draws a line at the exact halfway point of each finished session's range.
- Pivot Line Width — how thick the high/low lines are.
- Pivot Style — solid, dashed, or dotted line for the high/low lines.
- Midpoint Style — solid, dashed, or dotted line for the halfway line.
- Show Pivot Labels — shows small text tags (like "London H") at the end of each line.
- After Mitigation — choose what happens once price actually breaks through a level: "Stop at mitigation" freezes the line exactly where it was broken (so you keep a record of where it happened), or "Delete on mitigation" removes it completely for a cleaner chart.
- Alert Broken Pivots — sends you an alert whenever price breaks through one of these levels.
Day / Week / Month group
- Day Open / High-Low, with its own color — today's opening price, and optionally today's high/low, updating live.
- Prev Day Open / Close / High-Low, with its own color — yesterday's numbers, useful as reference points for today.
- The same three lines (Open, High/Low, and Previous versions of each) are repeated for Week and Month.
- Line Style / Line Width — applies to all of the Day/Week/Month lines at once.
- Show Labels — turns the text tags for these lines on or off.
Indicator

Smart FVG by EonMetricsSMART FVG
What it does
A "Fair Value Gap" (FVG) is a small gap left behind in price when a move happens so fast that a whole price area gets skipped over — nobody actually traded there. It shows up as a gap between three candles in a row. These gaps often get "filled" later, meaning price comes back to trade through that skipped area before continuing on its way (or reversing). This indicator finds these gaps automatically and draws a box around each one.
It also tells you which gaps look more important: a gap is marked "STRONG" only when BOTH of these are true at the same time — the gap is unusually large (measured against recent average volatility) AND the candle that created it traded on unusually high volume. Both conditions have to be true together; a big gap on quiet volume, or high volume with only a small gap, does not count as Strong. This two-part check is stricter than simply flagging "any big gap," which is what most similar tools do.
How to actually use it (step by step)
Let gaps form naturally as price moves. Each one is drawn as a colored box — green/cyan-ish tones for bullish (demand) gaps, red/orange tones for bearish (supply) gaps.
Pay extra attention to boxes marked "STRONG" — these represent a real, forceful, high-conviction move, not just random noise.
When price comes back down (or up) into a gap box, that's a potential trade opportunity — buy near a bullish gap, sell near a bearish gap — especially reacting at the dotted 50% line drawn through the middle of the box.
Look at the small number in the corner of each box — it counts how many candles ago the gap formed. A small number (fresh gap) is generally considered more reliable than a large number (old, already-tested-many-times gap).
If you turn on the higher-timeframe overlay, you'll also see gaps from a bigger timeframe (marked "HTF") plotted directly on your current chart — these represent bigger, more significant levels than same-timeframe gaps.
Every setting explained
Visualization group
Bullish FVG / Bearish FVG — the fill color for ordinary gaps.
Strong Bullish FVG / Strong Bearish FVG — the fill color for gaps that pass the "Strong" test above.
Show 50% Line (EQ) — draws a line through the exact middle of every gap box; this is a common spot for price to react to.
EQ Line Color.
Width Mode — controls how far the box stretches to the right: "Dynamic" keeps growing the box to reach today's candle in real time, "Fixed" stops the box at a set number of candles wide, "Extended" stretches the box all the way to the right edge of your screen forever.
Fixed Width (bars) — how many candles wide the box is, only used when Width Mode is set to Fixed.
Min FVG Size (x ATR) — the smallest gap size the script will bother drawing, measured against recent average volatility. Raise this to ignore tiny, insignificant gaps; set to 0 to see every gap no matter how small.
Mitigation group (mitigation = "price has now traded back through the gap")
Delete Mitigated Zones — when turned on, a gap box disappears completely once price fills it. When off, it stops growing and stays on the chart as a faded historical marker.
Mitigation Level — decide what counts as "filled": either price reaching the halfway (50%) point of the gap, or price completely closing the entire gap.
Mitigation Confirmation — decide what counts as reaching that level: any wick poking into it ("Wicks"), or a full candle close past it ("Close" — stricter, fewer false triggers).
Imbalance Age group
Show Age Label — displays a small number (like "34b") showing how many candles ago the gap was created.
Fade Old Zones — when turned on, gap boxes slowly become more transparent as they age, so your eye is naturally drawn to the freshest ones.
Max Age for Full Fade (bars) — how many candles it takes for a gap to reach maximum fade/transparency.
Strong Imbalance group
Mark Strong Imbalances — master on/off switch for the whole Strong-gap detection described above.
Min Gap Size (x ATR) — how big the gap must be (relative to recent volatility) to count toward "Strong" — this is one of the two required conditions.
Min Volume (x SMA 20) — how much higher than the recent 20-candle average volume the gap-forming candle's volume must be — this is the second required condition. Both this and the size condition must be true at the same time.
Show 'STRONG' Tag — shows the word "STRONG" written inside qualifying gap boxes.
Labels group
Show Labels — master switch for all text written inside gap boxes (age number, STRONG tag, HTF tag). Turn this off to hide all text and keep only the colored boxes.
Label Text Color.
MTF FVG group (MTF = "multiple timeframes")
Show Higher Timeframe FVGs — turns on the overlay of gaps from a bigger timeframe, drawn directly on your current chart.
Higher Timeframe — which bigger timeframe to pull gaps from (should be higher than whatever timeframe you're currently viewing).
HTF Bullish FVG / HTF Bearish FVG — colors for these imported higher-timeframe gaps.
Show HTF Label — shows an "HTF" tag inside these imported gaps so you can tell them apart from same-timeframe ones. Indicator

EonMetrics MTF Supply & Demand ZonesMTF SUPPLY & DEMAND ZONES
What it does
A "supply and demand zone" is a small area on the chart where price paused quietly for a few candles, and was then immediately followed by one strong, decisive candle that shot away from it in one direction. That quiet pause is where this indicator draws its zone — the idea being that this is where a large amount of buying or selling built up right before the big move, so price is likely to react again if it ever comes back to that exact area.
The key part of this tool is that it does this search across up to six different timeframes at the same time — your current chart's timeframe plus up to five higher ones (like 15-minute, 1-hour, 4-hour, Daily) — and draws all of them directly onto the chart you're actually looking at. This means if you trade on a 5-minute chart, you can still see a major 4-hour or Daily zone approaching, without ever switching your chart away from the 5-minute view.
How to actually use it (step by step)
Watch price as it approaches a colored box. Green boxes are "demand" zones (expect a possible bounce upward). Red boxes are "supply" zones (expect a possible bounce downward).
Pay more attention to boxes tagged with a bigger timeframe (like "4H" or "D") — these represent more significant, longer-term levels than a box tagged "5m" or "15m".
When price actually returns into a box, a small "R" letter appears — that's your cue that a retest is happening right now, worth watching closely for a reaction.
If a box's tag shows more than one timeframe at once (for example "15m, 1H"), it means multiple timeframes agree on almost the exact same price level — generally a stronger, more meaningful zone than one confirmed by only a single timeframe.
If a box gets fully broken through (depending on your settings, either by a wick or by a candle closing past its far edge), that zone has failed and should no longer be trusted — either it disappears from the chart or stays visible dimmed out, depending on your setting.
Every setting explained
Detection group
Sensitivity — controls how strong and sudden the "breakout candle" must be before its pause area counts as a zone. Lower numbers require a much stronger candle (fewer zones, but stronger ones); higher numbers accept weaker candles (more zones, more frequent but less significant).
Min Base Candles — the minimum number of small pause candles required right before the strong candle for it to count as a real zone. A higher number demands a proper, visible pause; a lower number (like 1) also accepts a zone built from just a single quiet candle.
Max Base Candles — how far back the script is allowed to look for pause candles. This mostly just prevents extremely long pauses from creating unusually oversized zones.
Base Candle Max Size (x impulse) — how small each pause candle must be compared to the strong breakout candle to actually count as "part of the pause." Lower values demand a very obvious size difference between the quiet candles and the big one.
Zone Size Multiplier — makes every drawn zone box slightly bigger or smaller than its natural measured size, without changing where it's centered.
Min Zone Height (x ATR) — throws out zones that are too thin/flat to be meaningful (basically just noise). Raise this if you keep seeing tiny, unhelpful zones.
Max Zone Height (x ATR) — throws out zones that are too tall — a pause that large usually isn't really a tight pause, just a wide sideways range, and produces low-quality zones.
Timeframes group
Six on/off + timeframe pairs — turn each timeframe slot on or off, and pick which timeframe it should scan. Leaving a timeframe box empty means "use whatever timeframe my chart is currently on."
Zone Behavior group
Retest Trigger — decide what counts as price "returning" to a zone: any wick poking into it ("Wick" — earliest, most sensitive), or a full candle close inside it ("Close" — stricter, fewer false signals).
Zone Invalidation — decide what counts as a zone being broken/failed: a candle closing all the way through the far edge ("Close" — recommended, survives brief stop-hunt wicks), or any wick trading through it ("Wick" — kills the zone immediately, more sensitive).
Skip Overlapping Zones — when a new zone from one timeframe lands on almost the same price as an existing zone from another timeframe, this merges them into a single box (showing both timeframe tags) instead of drawing two overlapping duplicates.
Overlap Threshold — how much two zones need to overlap before they're considered "the same level" and merged together. Lower values merge more aggressively; higher values keep each timeframe's version separate more often.
Max Active Zones per Timeframe — the maximum number of zones from a single timeframe kept on the chart at once (the oldest one is dropped once you go over this). Since several timeframes can be active at once, the total on-screen count adds up across all of them.
Keep Broken Zones on Chart — when turned on, a zone that fails stays visible but dimmed with a dashed border (useful for reviewing which levels didn't hold). When off, failed zones are removed immediately.
Zone Display Range (x ATR) — temporarily hides zones that are currently very far away from price, just to reduce clutter. Hidden zones keep working in the background and reappear automatically once price gets close again. Set to 0 to always show every zone regardless of distance.
Style group
Supply / Demand — the fill colors for red (supply) and green (demand) zones.
Show Timeframe Label — prints which timeframe each zone came from directly inside the box.
Show Zone Mid-Line — adds a dotted line through the exact middle of every zone, sometimes used as a more precise reaction point.
Show Retest Markers — turns the small "R" touch-markers on or off.
Alerts group
New Zone / Zone Retest / Zone Break — turn each alert type on or off individually. In PulseWire's own "Create Alert" window, choose "Any alert() function call" to receive the full, detailed messages (direction, timeframe, exact prices) for all of them at once. Indicator

FxNeel Institutional Swing & FVG MatrixDeveloped under the FxNeel, this open-source Pine Script v6 indicator is designed for professional traders utilizing advanced market structure frameworks and institutional volume tracking. The script focuses on identifying clear structural key points while maintaining chart cleanliness through intelligent filtering.
Key Features:
Four-Way Independent Swing Structure: It dynamically tracks Short-Term Highs (STH), Short-Term Lows (STL), Intermediate-Term Highs (ITH), and Intermediate-Term Lows (ITL).
Automatic Overlap Filter: To ensure chart clarity and prevent clutter, the indicator automatically removes minor STH/STL lines and labels once a major institutional pivot (ITH/ITL) is fully confirmed.
Dynamic Fair Value Gap (FVG) Engine: It tracks dynamic market imbalances (Bullish/Bearish FVGs) with real-time, state-based mitigation logic, modifying or removing zones as price action tests the gaps.
Granular UI Customization: Features a fully structured settings panel where visibility, line styles, text colors, and exact 4-way label alignments (Vertical and Horizontal) can be customized independently for each swing type. Indicator

RPFXBYDAN Liquidity Sweep Cascade [SMC]# Publication settings
**Publish this open-source, not invite-only/closed-source.** Every concept used here (liquidity sweeps, CISD, FVG, order blocks, kill zones, SMT divergence) is public-domain ICT/SMC terminology, not proprietary logic — PulseWire's moderators specifically hold closed-source and invite-only scripts to a much higher bar (you have to justify what's unique enough to hide, and why it's worth paying for). Open-source sidesteps that requirement entirely and is the safer, more defensible choice for a script built from publicly-known building blocks combined in an original way.
# Title
RPFXBYDAN Liquidity Sweep Cascade
# Description
**Why these pieces are combined (not a mashup for its own sake)**
Each concept here exists to solve a specific failure mode of using it alone. A liquidity sweep by itself is noise — most swing highs/lows get taken out without reversing. Requiring a CISD (a shift in orderflow) after the sweep filters out sweeps that don't actually reverse. Requiring the entry to land inside a Fair Value Gap in the discount/premium half of the range filters out CISDs that reverse but leave a bad entry price. None of these three alone is a tradeable signal; the combination is the point.
The three-tier structure exists because a signal on one timeframe alone doesn't tell you if you're trading with or against the bigger picture. Tier 1 establishes the higher-timeframe liquidity/imbalance context. Tier 2 only starts hunting once Tier 1 completes, confirming the reaction on a mid-timeframe inside a session kill zone. Tier 3 only starts once Tier 2 completes, and is the only tier that produces a real stop/target — it's the culmination of the other two agreeing, not an independent signal. That sequential gating (each tier consumed by exactly one attempt from the tier above it) is the original mechanism in this script, not the individual concepts themselves.
SMT divergence and Inverse FVG tracking are optional add-ons layered on top of that same gated engine, off by default, for traders who already use those specific confluences.
**What this is**
A three-tier Smart Money Concepts checklist that only flags a setup once liquidity, structure, and risk all line up across three timeframes:
- **Tier 1 – HTF Context**: a higher-timeframe liquidity sweep reacting into an HTF imbalance (your Point of Interest).
- **Tier 2 – Mid Structure**: inside a session/kill-zone window, a mid-timeframe (default 15m) sweep, shift in orderflow (CISD), and Fair Value Gap / order block — only evaluated once Tier 1 has completed.
- **Tier 3 – Entry**: on your chart's own timeframe, a sweep, CISD, and FVG (or a confirmed Inverse FVG retest if no fresh FVG appears) — only evaluated once Tier 2 has completed. This is the only tier with a defined stop, a fixed R-multiple take-profit, and a Risk:Reward gate.
Optional confluence layers: SMT divergence against a correlated symbol (e.g. ES vs NQ), and an HTF directional bias readout.
A live table shows exactly which of the checklist items are satisfied, tier by tier, so you can see why a setup is or isn't "complete" instead of guessing.
**How to use it**
1. Set Tier 1's HTF input to something meaningfully higher than your chart (e.g. 4H/Daily if you trade 5m-15m).
2. Set Tier 2's mid-timeframe input (default 15m).
3. Enable the kill zone(s) you actually trade (New York AM is on by default).
4. Optionally set a correlated symbol for SMT divergence.
5. Watch the table: green checks across all three tiers plus R:R = a completed setup. Alerts fire automatically on completion (bullish and bearish are separate alert conditions).
**Limitations (read before trusting a green table)**
- This is a deterministic, rule-based approximation of a discretionary trading concept. Every judgment call in the code — how CISD is defined, where the 50% discount/premium line sits, how SMT divergence is measured — is this author's interpretation, not a universally agreed-upon standard.
- Higher-timeframe values only update when that HTF candle closes, by design, so they can lag price intentionally.
- Bar Replay does not render this script's drawings/table live (a PulseWire platform limitation with drawing objects, not a bug in the script) — use a live or normal historical chart to watch it work.
- No indicator predicts the future. Backtest and forward-test on your own instrument and timeframe before risking real money. Nothing here is financial advice.
Indicator

Sessions+ (M1D)Sessions+ maps the ICT trading day as liquidity. It tracks the Asia, London and New York session highs and lows, frames the midnight (00:00) opening range, and reads your daily bias, premium/discount, resting liquidity and average range on one dashboard — everything you'd otherwise mark up by hand, kept current automatically.
Session levels (Asia / London / NY)
Each session's high and low are drawn from the exact candle that formed the extreme (not the session's start/end time) and projected forward as a liquidity level:
A session high is buy-side liquidity (resting stops above price). A session low is sell-side liquidity (resting stops below price).
A level stays live — bold colour, extending line — until price trades back through it. The moment that happens the level is "swept"/"mitigated": the line freezes in place and dims, so tapped liquidity fades into the background instead of cluttering the chart, but stays visible for context.
Every level carries a dated label (e.g. ASIA.H 06/07) so you always know which day a level belongs to, even several days back.
Session Days Back (0–5) — how many prior days of session levels stay on the chart in addition to today. 0 = today only (default); set to 2 to see the last 3 days of Asia/London/NY levels, each still fading correctly when tapped.
Core session windows plus optional carry windows (Asia carries to 02:00, London to 09:30, NY to 16:00) — the level keeps tracking new extremes through this follow-on period, not just the core window, since price often makes its real high/low after the "session" clock ends.
12am Opening Range
The first 30 minutes of the ICT trading day (00:00–00:30 NY) — the day's first pool of liquidity:
Boxes the 00:00–00:30 range and draws its high and low from the exact wick that made them (labelled 12am.H / 12am.L), plus a centred 12am tag on the box marking the open.
Each level holds until a candle body closes fully through it (not just a wick tap — a confirmed close), or until 05:00 NY (London Kill Zone close) if nothing has taken it by then. Either way, the level then freezes and dims like a session level.
Its own Trading Days Back (0–5), separate from the session setting above, so you can keep a different history depth for the 12am range vs. the sessions.
Dashboard — what every row means
The panel (top-right by default) is a live readout, refreshed every bar:
— BIAS —
Daily Dir: Bullish or Bearish — simply whether price is currently trading above or below today's 00:00 (midnight) open.
Bias: the actual trade bias, based on how far price sits into the prior dealing range (see Premium/Discount below) — not just which side of a line it's on:
Bullish — price is in discount (bought down into the lower half of the range) and below the midnight open — both signals agree.
Lean Bullish — price is in discount, but still trading above the midnight open (signals disagree, weaker read).
Bearish / Lean Bearish — the mirror image, price in premium.
Neutral — price is genuinely camped around the 50% equilibrium (inside the adjustable Bias Neutral Band %), i.e. no real edge either way. Bias never reports a vague "mixed" result — it always commits to a lean unless price is truly balanced.
— PREMIUM / DISCOUNT —
PDH / PWH / PMH and PDL / PWL / PML — the high and low of the dealing range you select in settings: Previous Day, Previous Week, or Previous Month. This is the range ICT traders use to judge premium vs. discount.
Each shows a ✓ (green) if that level is still open/unswept, or a ✗ (red) once price has traded through it this period.
EQ 50% — the exact midpoint of that dealing range (the equilibrium), plus a live read: premium (above EQ — expensive, favour selling), discount (below EQ — cheap, favour buying), or above PDH / below PDL if price has broken outside the range entirely.
— LIQUIDITY (today) —
Asia H / Asia L, London H / London L, NY H / NY L — today's session levels, each with the same ✓ open (green) / ✗ swept (red) marker as above, so you can tell at a glance which pools of liquidity are still resting and which have already been run.
— 12am OPENING RANGE —
12am Open — the exact 00:00 NY opening price, with its live distance from current price.
12am Rng — the size (in points) of the 00:00–00:30 opening range.
12am OR H / 12am OR L — the range's high/low, again with ✓/✗ sweep status.
— ADR (N-Day) — ("ADR" = Average Daily Range — the typical size, in points, of a full trading day over your chosen lookback)
ADR — the average range figure itself, plus % used — how much of that typical daily move has already printed today (e.g. "112% used" means today has already moved further than an average day, which flags a potentially exhausted/extended move).
Proj Hi / Proj Lo — simple range projections: today's low + ADR (a possible high target), and today's high − ADR (a possible low target) — a rough gauge of how much room is statistically "left" in the day.
Day Rng — today's actual realised range so far, for comparison against the ADR figure.
Settings
Sessions — timezone, core + carry windows per session, Session Days Back, line width, mitigated-dim %, session label size.
12am Opening Range — show/hide, range window, Trading Days Back, active window (the 05:00 cutoff), box fill and level line colours/width, label colour.
Dashboard — show/hide, screen position, text size, which Dealing Range to use for premium/discount (Day/Week/Month), ADR lookback length, Bias Neutral Band %, and the bullish/bearish/neutral/open/swept colours.
ICT logic in one line
London and New York run the liquidity that Asia and the prior period left resting; the midnight open is the true day open and the pivot for premium/discount; the 12am range is the very first pool the new day creates. This tool keeps all four of those — sessions, midnight range, dealing-range bias, and average range — in front of you at once.
Notes
Best on intraday timeframes (30 minutes or lower recommended for the 12am Opening Range; the session levels work across any intraday timeframe).
Session-based (not a fixed UTC offset), so everything tracks correctly through daylight-saving changes.
A level's date stamps when it opened, not the trading day it belongs to — e.g. Asia opens at 6pm NY, so its label shows the prior calendar date, which is when that range actually printed.
Daily/weekly/monthly and ADR data are pulled anti-repaint (confirmed prior-period values only); every swept/taken state is confirmed on candle close, never mid-bar.
Built by M1D. For education and the study of price delivery — not financial advice.
(New and improved version of the previous "Sessions Highs And Lows Unmitigated" script.) Indicator

Liquidity Entry Signals [MarkitTick]💡 A comprehensive, multi-faceted approach to identifying potential market reversals based on classic liquidity sweep mechanics. By scanning for instances where price briefly breaches a significant structural high or low before immediately rejecting and closing back within the range, this tool highlights areas where trap-based price dynamics may be in play. It is designed to offer a complete trading framework rather than just a simple signal, integrating dynamic stop-loss and take-profit plotting, real-time advanced dashboard analytics, and comprehensive alert payloads. This indicator assists in bridging the gap between raw price action analysis and structured trade management.
● ✨ Originality and Utility
Many basic technical indicators simply look for higher highs or lower lows without assessing the quality of the rejection. This script elevates that concept by requiring strict closing conditions to validate a sweep. What truly sets it apart is its integration of multiple intelligent filters. Rather than relying on price action alone, users can mandate that sweeps align with the prevailing trend, occur during periods of sufficient volatility, and are backed by relative volume strength.
Additionally, the built-in risk management visualizations automatically calculate position risk parameters right on the chart. By projecting stop-loss and take-profit levels based on current volatility, it transforms a static signal into an actionable trade plan. The inclusion of dynamic JSON payload generation for alerts also makes this an incredibly versatile tool for those looking to automate their execution through third-party platforms.
● 🔬 Methodology and Concepts
The core logic of this script is built around the concept of a liquidity sweep, verified through price action closes, and filtered through statistical market conditions.
Bullish Sweep: The script continuously calculates the lowest low over a user-defined lookback window. A valid bullish signal occurs when the current bar's lowest price penetrates this recent low, but the closing price decisively reclaims it by closing higher than the structural low and higher than its own open.
Bearish Sweep: Conversely, the script identifies the highest high over the recent lookback period. If the current bar's high breaches this level, but the close falls below the recent high and below its own open, a short signal is triggered.
Trend Filtration: The indicator uses a Simple Moving Average (SMA) on both the current chart and a selected higher timeframe to establish a directional bias. Signals that conflict with these moving average baselines are suppressed to prevent counter-trend trading.
Volatility and Volume Analysis: The script evaluates the Average True Range (ATR) as a percentage of the current closing price to ensure sufficient market movement is present. It also compares the current volume to a standard moving average of volume, filtering out setups that lack participation.
● 🎨 Visual Guide
The script draws extensive visual overlays to assist in real-time decision-making and trade management.
• Signal Labels
When a valid sweep occurs, an "LS" label is plotted. Green labels positioned below the candle indicate bullish setups, while red labels above indicate bearish setups.
• Trade Execution Lines
Upon a signal, the indicator projects trade management lines directly on the chart for the next 50 bars.
Entry Line: A dashed blue line marking the closing price of the signal bar.
Stop Loss (SL): A solid red line placed away from the entry, calculated based on the ATR multiplied by the user's risk factor.
Take Profit (TP): Three dashed teal lines representing Take Profit 1, 2, and 3. These are calculated using specific Risk-to-Reward multiples of the stop-loss distance.
• Risk and Reward Zones
Semi-transparent colored fills visually separate the trade zones. A red fill highlights the risk zone between the entry and the stop loss, while a teal fill highlights the reward zone extending from the entry to the final take-profit level.
• Advanced Dashboard
A multi-row informational table appears in the selected corner of the chart. This dashboard provides a real-time status check of the prevailing trend bias, the number of bars since the last signal, exact entry/SL/TP price levels, current ATR, and visual progress bars for volatility and signal cooldown periods.
● 📖 How to Use
Traders can utilize this script as a complete top-down methodology for analyzing market structure. First, observe the dashboard to confirm that the current market environment aligns with your desired filters (e.g., ensuring the higher timeframe trend is supportive and volume thresholds are met).
When a valid "LS" label appears on the chart, immediately note the projected Entry, Stop Loss, and Take Profit lines. The dashed blue line serves as your reference for a potential entry point. You can calculate your position sizing based on the fixed distance between this blue Entry line and the solid red Stop Loss line.
The three Take Profit levels allow for a tiered approach to trade management, enabling partial profit-taking as the price advances in your favor. Advanced users can configure the custom string inputs to send highly detailed webhook payloads directly to execution platforms, passing the exact dynamically calculated price levels directly to their broker.
● ⚙️ Inputs and Settings
The script is highly customizable through categorized input groups, allowing adaptation to any asset class or timeframe.
• SMC Settings
Sweep Lookback: Defines the number of historical bars used to calculate the structural high and low points.
• Smart Filters
Trend Filter: Enables an SMA condition to dictate the allowed signal direction.
Volatility Filter: Requires the ATR to be a minimum percentage of the asset's price before a signal can fire.
Volume Filter: Demands that the current bar's volume exceeds a defined multiple of the volume moving average.
HTF Timeframe: Selects the specific higher timeframe used for long-term trend alignment.
Signal Cooldown: Prevents consecutive signals within a specified number of bars to reduce chart noise during extended consolidations.
• Trade Tools
SL ATR Mult: Determines the distance of the Stop Loss based on the current ATR, adjusting risk based on market volatility.
TP1 / TP2 / TP3 RR: Sets the specific Risk-to-Reward multiples for the three profit targets.
• Alerts
Action Strings: Customizable fields to inject specific commands into the JSON alert payloads for entries, exits, and partial take-profits.
● 🔍 Deconstruction of the Underlying Scientific and Academic Framework
From a market microstructure perspective, liquidity sweeps represent a temporary imbalance in supply and demand. In auction market theory, price frequently probes beyond established boundaries to test for the presence of resting orders. When price penetrates a historical extreme but fails to sustain value there—evidenced by the immediate reversal and closing within the prior range—it indicates an absorption of liquidity by counter-trend market participants. This exhaustion of directional momentum is a well-documented phenomenon in order flow analysis.
To normalize these price extensions, the indicator applies the Average True Range (ATR). Developed by J. Welles Wilder, the ATR provides a robust statistical measure of absolute price volatility, capturing gaps and limit moves that standard standard-deviation metrics might underrepresent. By tying the Stop Loss logic directly to the ATR, the indicator adapts to heteroskedasticity, which is the changing variance of asset returns over time. This ensures that risk parameters dynamically widen during highly volatile periods to prevent premature stop-outs, and contract during quiet phases to optimize capital efficiency.
Furthermore, the reliance on moving averages for trend and volume filtration applies fundamental time-series smoothing. This inherently mitigates the noise of high-frequency price fluctuations, ensuring that the localized microstructure event (the sweep) is aligned with the macro directional drift of the broader dataset.
⚠️ Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. We expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion. Indicator

ICT Setup DetectorICT SETUP DETECTOR (ICT-SD)
A mechanical, bias-gated ICT setup scanner for NQ and ES futures intraday
(built and tuned on the 1-minute chart). It marks liquidity, draws the key
daily/session levels, grades directional bias across three timeframes, and
arms four ICT trade setups with fixed targets, stops, and alerts.
This is an INDICATOR, not a strategy — it places no orders. It draws on the
chart and fires alert() messages so you can act (or forward them to a bot).
------------------------------------------------------------
WHAT IT DRAWS
------------------------------------------------------------
LEVELS
- PDH / PDL — previous day high & low
- Overnight H / L — 18:00 to 09:30 ET range
- Midnight Open (00:00 ET) and RTH Open (09:30 ET)
- ORG — Opening Range Gap zone (prior RTH close to today's RTH open)
- Prior Week H / L
BIAS ENGINE (top-right table)
- Reads three timeframes (default 4H / 1H / 15m) plus the ORG gap state
- Modes: Structure (pivot HH/HL), Momentum (EMA 20 vs 50 + close), or Hybrid
- Produces a gate: "Longs OK", "Shorts OK", or "NO TRADE"
- When the gate is on, setups only arm in the permitted direction
KILLZONES (shaded)
- London 03:00-04:00, NY AM 10:00-11:00, NY PM 14:00-15:00 (NY time, DST-aware)
LIQUIDITY SWEEPS
- BSL/SSL grabs of PDH/PDL/ON H/L (breach within N bars + close back through)
- Red "BSL" / green "SSL" triangles
TRADE SETUPS (each has arm -> entry -> exit with TP / SL / time-stop)
- Silver Bullet — sweep, then FVG + displacement inside a killzone
- OTE — 62-79% fib retrace of a swept leg
- OB+FVG — order-block 50% mitigation behind a displacement FVG
- Sweep Reversal (SR) — simple sweep-and-fade scalp (yellow SR-L / SR-S)
15-MINUTE FVG IDENTIFIER
- 3-bar Fair Value Gaps from the 15m timeframe, drawn on your chart
- Non-repainting (only confirmed/closed 15m candles create a box)
- Teal = bullish gap, red = bearish gap, with a dashed CE (mid) line
- Boxes extend right until price fully fills the gap, then freeze/grey
------------------------------------------------------------
HOW TO USE
------------------------------------------------------------
1. Add to an NQ or ES chart on the 1-minute timeframe (point sizing is
auto-detected from the ticker; other symbols fall back to NQ values).
2. Check the bias table (top-right) for the current gate state before acting.
3. Wait for a setup flag/label to arm in the gate-allowed direction. Each
setup shows its FVG/zone box, dashed entry (CE), dotted stop, dotted TP.
4. Targets default to +20 pts (NQ) / +15 pts (ES). Setups auto-skip when the
required stop is wider than the configured max.
5. To get notified: create an alert on this indicator and choose the
"Any alert() function call" condition. Enable the alert types you want
in the Alerts group (armed / entry / exit / bias-flip / new 15m FVG).
------------------------------------------------------------
KEY SETTINGS
------------------------------------------------------------
- Bias gate on/off, and Bias mode (Structure / Momentum / Hybrid)
- Enable/disable each setup individually
- Displacement filter: x ATR(20) and optional volume-spike requirement
- Sweep breach window (how many bars a wick may lead the close-back)
- Targets and "skip if stop >" caps (per NQ / ES)
- Killzone session times, colors, and visualization toggles
- 15m FVG: timeframe, min gap size, CE line, extend-until-mitigated,
remove-vs-grey on fill, max active gaps, and per-direction colors
TUNING
- Too few signals: set Bias mode to Momentum, turn the bias gate off, or
lower the displacement volume multiplier toward 1.0
- Too many signals: raise Displacement x ATR to ~2.0, raise the volume
multiplier to 1.5-2.0, or raise the minimum FVG size
------------------------------------------------------------
NOTES
------------------------------------------------------------
- Designed for NQ/ES on the 1m chart; other symbols/timeframes are untested.
- Live intrabar markers (especially Sweep Reversal) can update until the bar
closes; all alerts fire on bar close, so alerts are stable.
- Educational tool. Not financial advice. Test before trading live.
```
Want me to:
- **Trim it to a short version** (a few lines) for the tooltip/one-liner, or
- **Save it to a file** in the repo (e.g. `pine/ICT-SD-description.txt`) alongside the source? Indicator

CRT H4 NomadaScalper [Mntdude65]This is CRT EDGE · H4 · NomadaScalper
Candle Range Theory (CRT) — timed H4 candles, multi-timeframe Turtle Soup, and a self-scoring probability dashboard, built on John Tracy's Time-Based Trading Blueprint.
OVERVIEW
This indicator builds the three timed 4-hour candles the CRT model keys on, maps out the previous candle's high/low across five timeframes (Monthly, Weekly, Daily, H4, H1) with automatic Turtle Soup detection, and scores every setup against the chart's own history — so instead of eyeballing whether "CRT usually works," you get a running, self-updating win-rate for every slot, every session.
Everything is clock-aggregated from the chart's own bars (not repainted from a higher-timeframe security() call), so it stays exact on symbols like CME futures where the native exchange H4 bars don't open at 1/5/9 — the script detects the real native H4 phase and snaps the slots to it automatically.
WHAT IT DRAWS
Timed H4 Candles
— Three 4-hour clock-window candles per day (auto-aligns to 1AM/5AM/9AM on forex-style symbols, 2AM/6AM/10AM on CME futures — matches the real H4 candles Tracy reads, not just a fixed clock guess).
— Full anatomy: range box, body box (bullish/bearish), CRT-High / CRT-Low / 50% lines projected forward with price labels.
— Dashed while forming live, frozen solid at the close.
— Configurable projection window, history depth, and manual override hours if you don't want native alignment.
HTF CRT Levels + Turtle Soup (Tracy multi-timeframe bias)
— Draws the previous completed candle's high/low for Monthly, Weekly, Daily, H4, and H1, each in its own color.
— A Turtle Soup latches when a confirmed candle wicks beyond one of these levels and closes back inside — once per side, per period.
— Bias engine: 3 or more timeframes souped at the lows = BULLISH bias · 3+ at the highs = BEARISH bias · both = CONFLICT (Tracy's rule: stand aside).
— Faded gray "ts·" tags mark these sweeps on the chart, color-coded so you can tell direction at a glance without reading the text: faded red = a high was swept, faded green = a low was swept. Toggle on/off independently.
CRT Box Sweep (★TS)
— A second, distinct sweep detector focused specifically on the CRT box itself (the timed H4 candle's own range), not the HTF levels.
— Marks every candle — not just the first — that wicks beyond the box's high or low and closes back inside, live while the sweeping candle is still forming and finalized the moment it confirms.
— Bold gold "★TS" tag with a user-selectable color, separate toggle from the HTF Turtle Soup marks above.
Session Ranges (Tracy step 3)
— Asia range (8PM–12AM NY) and P12 range (6PM–6AM NY), boxed with the high/low projected forward — a secondary confirmation check against the CRT bias.
CRT EDGE DASHBOARD
A self-computing panel, split into two clearly labeled sections:
LIVE — what has actually happened, right now, on this chart:
— CRT BOX: has this slot's box been swept yet? ▼ red = the box HIGH was swept (bearish) · ▲ green = the box LOW was swept (bullish) · — = neither side yet.
— STATUS: this cycle's live state — forming… / armed · waiting purge / ↓ purged (bearish, high swept) / ↑ purged (bullish, low swept), plus whether price has reached the 50% and/or the full opposite extreme.
HISTORICAL ODDS (all-time %) — a running backtest, not a live target:
— ↑→50% / ↑→HIGH: of all the times this slot's low was purged FIRST (bullish), what % of the time did price also reach the 50% / fully deliver to the CRT-High before the projection window expired.
— ↓→50% / ↓→LOW: the mirror image for a high-purge-first (bearish) scenario.
— Heat-colored by win rate, with a low-sample warning (amber) under 8 occurrences.
Plus a top-line VERDICT row (Tracy's 3+/5 bias rule), an HTF SOUP row showing which of the five timeframes are currently souped, and a footer crediting the underlying concept.
ALERTS
— Standard alertcondition() entries for every candle close and every purge (high/low, per slot) — usable from the classic "Create Alert" dropdown.
— Additional dynamic alert() calls fire alongside them with the actual resolved slot time baked into the message (e.g. the real "2AM" on CME futures rather than a hardcoded "1AM") — select "Any alert() function call" in the Create Alert dialog to receive these.
SETTINGS
— Light/Dark theme (Obsidian & Gold on dark backgrounds).
— Native H4 auto-align on/off, manual slot hours, projection window length, history depth.
— Independent show/hide for every layer: body box, 50% line, labels, each HTF level, HTF Turtle Soup marks, CRT box ★TS marks (with color picker), Asia/P12 sessions, and the dashboard itself (position + size).
HOW TO READ IT
Check the VERDICT row for the multi-timeframe bias.
Watch the LIVE columns (CRT BOX + STATUS) for what's actually unfolding on the current slot.
Use the HISTORICAL ODDS columns as context, not a signal — they tell you how this slot has behaved historically, conditional on a purge already happening.
Cross-check against Asia/P12 session ranges for Tracy's step-3 confirmation.
Best used on chart timeframes of 1m–30m (works up to 4h); a warning label appears if the chart timeframe is too high for the timed candles to resolve.
CREDITS
Concept: John Tracy — Time-Based Trading Blueprint (Candle Range Theory), johntracy.me.
This implementation, the CRT box sweep detection, per-TF sweep coloring, and the probability dashboard: Mntdude65.
This script is provided for educational and informational purposes. It does not constitute financial advice. Past performance (including the historical odds shown on the dashboard) does not guarantee future results. Indicator

Change in State of Delivery [CISD] (Zeiierman)█ Overview
Change in State of Delivery (Zeiierman) identifies genuine changes in buying and selling pressure by monitoring consecutive delivery candles and tracking when price closes beyond the opening price of the previous delivery phase.
Rather than relying solely on traditional market structure concepts such as Break of Structure (BoS) or Market Structure Shift (MSS), the indicator focuses on delivery itself, the sequence of aggressive buying or selling that drives price.
When price successfully closes beyond the opening price of the previous delivery leg, a Change in State of Delivery (CISD) is confirmed, highlighting a potential shift in market control.
⚪ True Delivery Engine
The indicator continuously tracks bullish and bearish delivery sequences. A delivery begins whenever consecutive candles close in the same direction.
Once a minimum number of delivery candles has formed, the indicator records:
• The opening price of the first delivery candle.
• The starting bar of the delivery sequence.
• The active delivery level.
Unlike many CISD implementations, this indicator is built around the actual delivery sequence instead of simply using arbitrary candle opens.
⚪ CISD Confirmation
A Change in State of Delivery is confirmed when price closes beyond the opening price of the previous delivery sequence.
Bullish CISD
• Bearish delivery completes.
• Price closes above the opening price of that bearish delivery.
Bearish CISD
• Bullish delivery completes.
• Price closes below the opening price of that bullish delivery.
⚪ Liquidity Sweep Detection
The indicator can optionally display liquidity sweeps around confirmed swing highs and swing lows.
A bearish liquidity sweep occurs when:
• Price trades above a previous swing high.
• Price closes back below the swing high.
A bullish liquidity sweep occurs when:
• Price trades below a previous swing low.
• Price closes back above the swing low.
⚪ Market Structure Shift (MSS)
For additional confirmation, the indicator can display simple Market Structure Shift events.
Bullish MSS
• Price closes above the most recent confirmed swing high.
Bearish MSS
• Price closes below the most recent confirmed swing low.
█ How It Works
⚪ Delivery Detection
The script continuously counts consecutive bullish and bearish candles.
Once the minimum delivery requirement is reached, the opening price of the delivery sequence becomes the active CISD level.
This level represents the point where the current buying or selling pressure originally began.
if bull
bullSeq := bull ? bullSeq + 1 : 1
if bullSeq == 1
bullDeliveryOpen := open
if bear
bearSeq := bear ? bearSeq + 1 : 1
if bearSeq == 1
bearDeliveryOpen := open
⚪ CISD Validation
The delivery level remains active until one of two events occurs:
• Price confirms the CISD by closing beyond the delivery open.
• The setup expires after the maximum user-defined validity period.
Confirmed CISDs remain visible, while expired setups are automatically removed.
⚪ Dynamic Trend State
Each confirmed CISD updates the internal trend state.
This trend can optionally be used to:
• Color candles.
• Visually distinguish bullish and bearish market conditions.
• Generate trend shift alerts.
Repeated confirmations in the same direction are displayed using dashed CISD levels, making ongoing directional control easier to recognize.
█ How to Use
⚪ Identify Delivery Shifts
The primary purpose of the indicator is to detect when one side of the market successfully overcomes the previous delivery phase.
A bullish CISD shows that buyers have reclaimed control after a bearish delivery sequence. A bearish CISD shows that sellers have reclaimed control after a bullish delivery sequence.
Instead of reacting to every structural break, traders can use confirmed CISD levels to focus on cleaner shifts in market pressure.
⚪ Solid vs Dashed CISD Levels
Not all confirmed CISD levels are displayed the same way.
Solid CISD lines represent a new change in delivery, where market control shifts from buyers to sellers or from sellers to buyers. These are often the most significant signals, as they indicate a potential trend reversal or the beginning of a new directional move.
Dashed CISD lines occur when another CISD confirms in the same direction as the current trend. Instead of signaling a reversal, they indicate that the existing trend continues to regain control after a pullback.
In practice:
• Solid CISD → Potential change in directional control.
• Dashed CISD → Trend continuation after a correction or retracement.
This visual distinction helps traders quickly identify whether a CISD represents a fresh shift in market control or simply reinforces the current trend.
█ Settings
Show CISD: Displays active and confirmed CISD levels.
Minimum Delivery Candles: Minimum number of consecutive candles required before a delivery sequence becomes valid.
Maximum CISD Validity: Maximum number of bars a setup can remain active before expiring.
Minimum CISD Duration: Minimum number of bars before a CISD is allowed to confirm.
Show Liquidity Sweeps: Displays bullish and bearish liquidity sweep levels.
Sweep Swing Length: Controls the swing detection used for identifying liquidity sweeps.
Show MSS Dots: Displays Market Structure Shift confirmations.
MSS Length: Controls the pivot length used for structure detection.
Color Candles by CISD Trend: Colors candles using the latest confirmed CISD direction.
-----------------
Disclaimer
The content provided in my scripts, indicators, ideas, algorithms, and systems is for educational and informational purposes only. It does not constitute financial advice, investment recommendations, or a solicitation to buy or sell any financial instruments. I will not accept liability for any loss or damage, including without limitation any loss of profit, which may arise directly or indirectly from the use of or reliance on such information.
All investments involve risk, and the past performance of a security, industry, sector, market, financial product, trading strategy, backtest, or individual's trading does not guarantee future results or returns. Investors are fully responsible for any investment decisions they make. Such decisions should be based solely on an evaluation of their financial circumstances, investment objectives, risk tolerance, and liquidity needs.
Indicator

Smart Money Concept [martineye15]Smart Money Concepts Toolkit — an all-in-one Smart Money / ICT overlay that auto-detects and draws the core concepts on any symbol and timeframe, then ties them together with a multi-factor confluence filter and a built-in risk:reward trade planner.
WHAT IT DRAWS
- Market structure: swing pivots labelled HH / HL / LH / LL, with Break of Structure (BOS, continuation) and Change of Character (CHoCH, first counter-trend break) and a persistent trend state. An optional faster "internal" structure stream can run alongside the major one.
- Liquidity: Equal Highs / Lows (EQH / EQL) detected within an ATR-based tolerance, plus liquidity sweeps / stop hunts (a wick beyond a prior swing that closes back inside).
- Order blocks: the last opposite-colour candle before a structural break, extended until mitigated. Choose Touch or Close mitigation, wick or body range, swing or internal origin, and optional breaker blocks.
- Fair value gaps: 3-candle imbalances, extended until filled, with Touch or Close fill logic and an option to keep only unfilled gaps.
- Premium / discount: dynamic zones from the current dealing range with a 50% equilibrium line and an optional OTE band (0.62-0.79).
- Sessions / kill zones: optional Asia / London / New York shading with a configurable timezone and session times.
CONFLUENCE ENGINE (optional)
A discreet long/short marker that prints only when the factors YOU enable all agree - any combination of: price in discount/premium, a BOS/CHoCH in the trade direction, an unmitigated order block, an unfilled FVG, an opposing liquidity sweep, and higher-timeframe bias alignment via an HTF EMA. A recency window controls how fresh an event must be to still count. Signals evaluate on bar close and only on the first bar the conditions are met, so they do not spam or flip intrabar.
TRADE SETUP (Risk:Reward)
When enabled, each confluence signal draws a full plan: an entry (market at the signal close, or a limit at the order-block midpoint), a stop anchored to the order block / swing point / ATR that would invalidate the idea (plus an ATR buffer), and TP1 to TP4 placed at your chosen R multiples. Levels project forward and the lines are draggable, so you can fine-tune the plan by hand.
ALERTS
Ready-made alerts for BOS, CHoCH, new bullish/bearish order block, new bullish/bearish FVG, liquidity sweep, and confluence long/short.
HOW TO USE
Add it to a standard candlestick chart. Read the market with structure, liquidity and premium/discount; use order blocks and fair value gaps as areas of interest; then, if you want a filter, enable the confluence engine and turn on only the factors that fit your approach. Enable the trade setup to auto-draw a structure-anchored R:R plan on each signal, and set alerts on the events you care about. Every module toggles independently, so you can keep the chart as clean or as detailed as you like.
WHAT MAKES IT DIFFERENT
Instead of isolating a single SMC concept, it unifies structure, liquidity, order blocks, FVGs, premium/discount and session timing, and adds two things on top: a configurable confluence filter that only signals when multiple user-chosen factors align, and an integrated R:R planner that anchors the stop to the actual level that invalidates the trade and projects targets by R multiple.
REPAINTING & LIMITATIONS
All structural logic is based on confirmed pivots and closed candles; fair value gaps are committed only on a confirmed bar; the higher-timeframe bias uses the previous closed HTF bar. Pivots appear after their lookback (the normal pivot lag), which is not repainting. Live drawings such as order blocks and premium/discount zones update as the current, unclosed bar develops and as new pivots confirm; this is expected behaviour, not a change to confirmed history.
This is a visual, decision-support tool. It is not a strategy, it produces no orders or performance statistics, and it is not financial advice. Indicator
