Indicator

SMT Divergence | Multi-Index Liquidity ComparisonSMT Divergence Map | Multi-Index Liquidity Comparison
Description:
Overview
This indicator tracks structural divergence between correlated index futures by comparing relative highs and lows across multiple markets. It is designed as a market-structure mapping tool, not as a standalone trade signal. The goal is to make intermarket disagreement visible so the user can judge whether one market is confirming or failing to confirm the movement of another.
What the script plots
The script compares selected symbols such as NQ, ES, and YM and highlights divergence when one market takes a corresponding high or low while another does not. It can monitor multiple timeframes and can also project selected higher-timeframe reference levels onto the active chart so the user can evaluate divergence in context.
How the logic works
The script reads highs and lows from 7 lookback bars of the selected symbols over the chosen comparison windows to the current market price. A bearish-style divergence is identified when one market trades above a prior reference high while another correlated market fails to do the same. A bullish-style divergence is identified when one market trades below a prior reference low while another correlated market fails to confirm that low. The script then plots the relevant divergence markers and optional reference lines on the chart.
Inputs and customization
Users can choose which symbols to compare, which timeframes to evaluate, which divergence types to display, and whether to show supporting structures such as prior highs/lows, session references, daily references, or higher-timeframe range levels. Visual controls allow the user to adjust labels, line styles, colors, table size & transparency customization and display density.
How to use it
This tool is best used as a structural context layer. It helps identify areas where correlated markets stop agreeing, which may matter near liquidity sweeps, session extremes, or higher-timeframe reference levels. The script does not place orders and does not guarantee reversal or continuation. It simply visualizes divergence so the trader can combine it with their own execution framework.
Originality / why this script exists
This publication consolidates multiple SMT comparison functions into one configurable tool so users do not need several overlapping variants. The purpose is not to merge indicators for the sake of a mashup, but to provide one organized framework for viewing intermarket divergence, session references, and higher-timeframe structure in a single workflow.
Limitations
Divergence is contextual and does not automatically imply a successful trade. Different data feeds, symbol mappings, session settings, and timeframes can change what is displayed. Users should verify the symbol configuration and session definitions before relying on the output.
Note
This is a charting and analysis tool. It does not make performance claims, does not predict future results, and should be used as one component of a broader decision process. Indicator

Indicator

HTF FVG BISI & SIBIBuilt this because most FVG indicators either drown your chart in boxes or don't handle higher timeframe gaps properly on lower timeframe charts. This one does both — cleanly.
It pulls Fair Value Gaps from the 15-minute, 1-hour, and 4-hour timeframes and plots them directly onto whatever chart timeframe you're working on. Each FVG is drawn as a shaded zone with optional internal levels — the 50% consequent encroachment line, and the 25%/75% quadrant lines — so you can see your premium and discount zones inside the gap at a glance.
How it detects FVGs:
The indicator uses request.security() to read closed candle data from each higher timeframe. When candle 1's low is above candle 3's high, that's a BISI (Buyside Imbalance, Sellside Inefficiency — bullish). When candle 1's high is below candle 3's low, that's a SIBI (Sellside Imbalance, Buyside Inefficiency — bearish). Simple three-candle logic, nothing exotic. A minimum gap size filter (in ticks) is included so you're not cluttering the chart with insignificant gaps that price will blow through without reacting.
Overlap prevention:
One of the main issues with most FVG tools is they'll stack three or four boxes on top of each other in the same price zone when the market creates consecutive gaps. This indicator checks whether a new FVG shares price space with one already active in the same timeframe — if it does, the new one gets rejected. Once the original mitigates and clears, a fresh gap in the same area will plot normally. This keeps the chart readable without hiding real setups.
Mitigation logic:
FVGs don't stay on the chart forever. When price retraces into a gap beyond a configurable threshold (default 65%), the indicator considers it mitigated and removes the box, lines, and label entirely. For a BISI, it checks if price has pushed down through 65% of the gap from the top. For a SIBI, it checks if price has pushed up through 65% from the bottom. You can adjust this percentage to suit how aggressively you want gaps cleared — some traders prefer 50% (consequent encroachment), others want to see a deeper rebalancing before removal.
Display limit per timeframe:
You can set how many active FVGs are shown per timeframe (default 2, max 4). The indicator always prioritises the most recent gaps. Older unmitigated FVGs aren't deleted — they're just hidden. If a newer one gets mitigated and removed, the older one swaps back in automatically. This keeps the chart focused on what's immediately relevant while preserving the history behind the scenes.
Extension modes:
Three options depending on how you like your charts. "Extend to Current Bar" stretches each box forward to the live bar so the zone is always visible. "Extend Right" projects the box infinitely to the right. "No Extension" locks the box to the candles that formed it — useful if you prefer a static historical view.
Labels:
Each FVG gets a small label on the left edge showing its timeframe and type (e.g., "1H BISI" or "4H SIBI"). They sit at the 50% level of the gap so they're easy to spot without adding noise.
Settings at a glance:
Toggle each timeframe on/off independently
Customisable BISI and SIBI colours
CE line, 25%/75% lines — all optional
Minimum gap size filter (ticks)
Mitigation threshold (%)
Max active FVGs per timeframe
Three extension modes
What this doesn't do:
No alerts, no entry signals, no strategy automation. It's a pure visual mapping tool — it shows you where the inefficiencies are so you can make your own decisions about how to trade around them. Designed for discretionary traders who use FVGs as part of their top-down analysis, not as standalone triggers.
Works on any instrument and any chart timeframe. If you're viewing a 1-minute chart, you'll see the 15m, 1H, and 4H gaps mapped onto it. If you're on a 15-minute chart, only the 1H and 4H gaps will appear (since the 15m data matches the chart timeframe, those gaps show natively in price action anyway).
Enjoy. :) Indicator

Liquidity sweep divergence (SMT) This script implements a refined version of SMT (Smart Money Technique) divergence, focused specifically on liquidity sweeps between correlated assets rather than simple structural divergence.
Use it on one market:
FOREX: EURUSD + DXY (or GBPUSD + DXY)
CRYPTO: BTC+ETH (BTC + TOTAL3, ETH + TOTAL3)
INDICES: ES + NQ
COMMODITIVES: XAU + XAG (GOLD+SILVER)
Unlike traditional SMT indicators that rely on comparing consecutive swing highs/lows (HH/LL logic), this script detects true liquidity events, where one asset takes liquidity (sweeps a previous swing) while the other fails to do so.
🔍 Core Concept
SMT divergence in this script is defined as:
Bearish SMT
The main chart sweeps a previous swing high (liquidity taken)
The second asset fails to sweep its corresponding swing high
Bullish SMT
The main chart sweeps a previous swing low
The second asset fails to do the same
This reflects asymmetry in liquidity behavior, often interpreted as a sign of weakening trend continuation and potential reversal.
⚙️ How It Works
The script uses:
1. Pivot-based swing detection
Uses confirmed pivots (ta.pivothigh / ta.pivotlow)
Eliminates noise and repaint issues from naive fractal logic
2. Cross-asset synchronization
Swings between assets are matched using a configurable bar offset tolerance
Ensures meaningful comparison between structurally aligned points
3. Liquidity sweep detection
Detects when price:
Breaks a previous swing level (high/low)
Optionally closes back inside (ICT-style wick sweep)
4. Signal filtering
To reduce false SMT signals, the script includes:
ATR-based minimum move filter
Optional wick confirmation (true liquidity grab)
No multi-swing brute-force scanning (only relevant structure is used)
🎯 What Makes This Script Unique
Focuses on liquidity sweeps, not just HH/LL divergence
Avoids common SMT noise from weak structural comparisons
Uses minimal and efficient logic (O(1)), no heavy loops
Produces clean and trade-relevant signals, not visual clutter
Designed with algorithmic trading compatibility in mind
📊 Visual Features
Clean SMT labels (Bullish / Bearish)
Optional connecting lines showing the sweep move
Background highlighting for quick contextual awareness
Transparent styling to avoid chart obstruction
⚙️ Inputs
Second Asset – symbol used for SMT comparison
Pivot Length – controls swing sensitivity
Max Sync Offset – allowed mismatch between swing points (in bars)
Wick Sweep Filter – require close back inside level (ICT-style)
ATR Filter – minimum sweep strength
Show Lines – toggle visual connections
🧠 How to Use
This indicator is best used in:
Reversal zones
Liquidity pools (equal highs/lows, prior highs/lows)
Session highs/lows (London / NY)
Typical workflow:
Identify SMT signal
Wait for confirmation:
Break of structure (BOS)
Displacement move
Execute entry in direction of SMT
⚠️ Notes
Signals appear at the moment of liquidity sweep, not at pivot formation
This script is non-repainting, as it uses confirmed pivots
SMT is not a standalone strategy — use with market structure
🌍 Дополнительно (RU — для твоей аудитории)
Этот индикатор реализует правильный SMT, основанный не на HH/LL, а на снятии ликвидности.
Ключевая идея:
Один актив забирает ликвидность (пробивает свинг)
Второй — нет
→ это и есть настоящий SMT
В отличие от большинства индикаторов:
нет мусорных сигналов
нет перебора всех свингов
используется только актуальная структура
Лучше всего работает:
на хаях/лоу сессий
на уровнях ликвидности
в связке с BOS / FVG Indicator

SKILLUP ICTSKILLUP ICT is a comprehensive institutional trading toolkit built on ICT (Inner Circle Trader) concepts, designed to work seamlessly across all timeframes — including the Daily chart.
Session Highs & Lows
Automatically detects and plots the High and Low of four key trading sessions: London (02:00–05:00 NY), AM (09:30–12:00), Lunch (12:00–13:30), and PM (13:30–16:00). Levels are stored indefinitely and activated only when price approaches them, keeping the chart clean while preserving full historical context. Supports a configurable lookback window and activation distance.
Midnight Open
Marks the exact 00:00 NY open price each day, immune to the 18:00 futures date rollover issue common in other indicators.
F.P. FVG (First Presented Fair Value Gap)
Detects the first Fair Value Gap of the day at three key times: 00:00, 09:30, and 13:30 NY. Displayed as clean boxes that persist on the chart.
RTH Opening Gap
Tracks the overnight gap between the 16:00 RTH close and the 09:30 open, with quartile levels and optional delineation lines.
NWOG / NDOG (New Weekly / Daily Opening Gap)
Plots the gap between the previous close and the current open at the weekly and daily level. Includes the Event Horizon — a dynamic level between the two most recent gaps when they are non-overlapping.
Key Features
Works on all timeframes including Daily
Fully timeframe-independent line anchoring
Optional sweep removal on wick touch
Configurable colors, lookback, and activation distance
Object-budget safe — stays well within PulseWire's 500-object limit Indicator

HOLO EngineOverview
This is a Pine Script v5 conversion of the HOLO concept originally coded by thi4gon for MetaTrader 4. Full credit to thi4gon for the original systems logic and mean-reversion framework — this publication brings that idea into PulseWire with a fully rebuilt engine, multi-timeframe support, signal filtering, an info panel, and alert conditions.
HOLO stands for Highest Open / Lowest Open. The core idea: the highest and lowest opening prices recorded by intraday bars since the day started act as significant mean-reversion levels. Price tends to return to these open extremes after deviating from them. The HO is a potential sell level; the LO is a potential buy level. Stop-loss reference is the current day's running high (for sells) and running low (for buys).
How It Works
At the start of each new day, the engine resets and begins tracking the highest open and lowest open printed by H1 candles (or any selected timeframe). These levels are not highs and lows of the candle — they are the open prices, making them distinct from standard session high/low tools.
A trade setup occurs when:
A bar opens inside the zone between the HO/LO and the corresponding daily extreme (sell zone = between HO and Daily High; buy zone = between Daily Low and LO)
Price touches the HO or LO level during that bar
Price has not broken outside yesterday's high/low range (breakout filter)
The current H1 bar is not the bar that created the HO/LO (breakout bar filter)
Today's range has reached at least 50% of the daily ATR (optional, enabled by default)
All signal evaluation is done on confirmed closed bars only — no repainting.
Features
H1 HO/LO primary levels with multi-timeframe options (H4, M30, M15, M5, M1)
Shaded buy and sell zones with readable area labels
Daily High/Low as stop-loss reference lines
Yesterday's High/Low as breakout boundary
Optional Previous Day HO/LO, Weekly High/Low, and Monthly High/Low
Equidistant pip-projection lines from the HO or LO level
Confirmed-bar signal arrows with ATR range filter and tolerance input
Info panel: live status, Range/ATR %, day range in pips, ATR in pips, entry and SL levels, bar countdown timer
Color-coded legend table
8 individual alert conditions including dynamic price alerts
Timeframe warning when applied to daily or higher charts
Duplicate price filter to prevent overlapping labels
All drawings rendered at the last bar for performance
Apply on intraday timeframes (M5 to H1 work best)
Primarily designed for Forex — pip value is auto-calculated from syminfo.mintick
Works on any instrument but pip labeling is calibrated for 5-digit and 3-digit FX pairs
The indicator does not provide financial advice. All levels are reference points — manage risk independently
Credits
Original HOLO concept and MetaTrader 4 indicator by thi4gon. This PulseWire implementation was built from the ground up in Pine Script v5 by the Amorphos team, adding multi-timeframe support, signal filtering, dynamic alerts, and a full visual dashboard on top of thi4gon's original framework. Indicator

Indicator

ICT Killzones & Pivots [TFO] - Traditional Chinese VersionICT 殺戮區與樞紐點 — 繁體中文版
ICT Killzones & Pivots — Traditional Chinese Edition
📌 概述 | Overview
本指標為廣受交易者使用的「ICT Killzones & Pivots 」之繁體中文本地化版本,完整保留原版所有功能,並將全部介面文字、設定選單、標籤與警報訊息翻譯為繁體中文,大幅降低中文使用者的操作門檻。
This is a Traditional Chinese localization of the well-known "ICT Killzones & Pivots " indicator. All original functionalities are fully preserved, with every interface element — including settings panels, labels, and alert messages — translated into Traditional Chinese to improve accessibility for Mandarin-speaking traders.
🕐 殺戮區(Killzones)| Session Killzones
根據 ICT(Inner Circle Trader)概念,機構資金最活躍的時段稱為「殺戮區」。本指標預設標記以下五個關鍵時段(以紐約時間為基準):
Based on ICT (Inner Circle Trader) concepts, the periods of highest institutional activity are known as "Killzones." The following five key sessions are marked by default (New York time):
時段 Session時間 Time (ET)🔵 亞洲盤 Asia20:00 – 00:00🔴 倫敦盤 London02:00 – 05:00🟢 紐約早盤 NY AM09:30 – 11:00🟡 紐約午休 NY Lunch12:00 – 13:00🟣 紐約下午盤 NY PM13:30 – 16:00
每個時段皆可個別啟用/停用,並自訂名稱與顏色。
Each session can be individually toggled, renamed, and color-customized.
📐 核心功能 | Core Features
殺戮區方塊 | Session Boxes
以半透明色塊標示各殺戮區範圍,清晰呈現每個時段的高低點震盪區間。
Translucent boxes highlight each killzone's high-to-low range, providing a clear visual of intraday price structure.
樞紐點線 | Pivot Lines
自動標記每個殺戮區結束後的最高點與最低點,並在未被突破前持續延伸,協助識別關鍵支撐與壓力位。
Automatically marks the high and low of each completed killzone session. Lines extend until the level is mitigated, helping identify key support and resistance.
中間點 | Midpoint Lines
可選擇顯示每個殺戮區的50%均衡價位,常作為潛在回撤目標。
An optional display of the 50% equilibrium level within each killzone, commonly used as a retracement target.
振幅統計表 | Range Table
即時顯示各殺戮區的當前振幅與歷史平均振幅,協助評估當日市場波動性。
A real-time table displaying the current and historical average range of each killzone, useful for assessing daily market volatility.
日/週/月開盤線與高低點 | D/W/M Open & High/Low Lines
標記日、週、月級別的開盤價、前高與前低,提供多時間框架的重要參考價位。
Marks the open price and prior high/low for daily, weekly, and monthly timeframes as key multi-timeframe reference levels.
開盤價格線 | Custom Opening Price Lines
最多支援8條自訂時間的水平開盤線,可自行設定任意時間點(如真實日開盤00:00、倫敦開盤等)。
Up to 8 custom horizontal open price lines, configurable for any time (e.g., True Day Open at 00:00, London open, etc.).
星期標籤 | Day-of-Week Labels
在圖表底部或頂部自動顯示星期幾標籤,輔助辨識每日結構。
Automatically displays day-of-week labels at the top or bottom of the chart to assist with daily structural analysis.
時間戳記線 | Timestamp Vertical Lines
最多可設定4條自訂垂直時間線,標記任意重要時間節點(如經濟數據公布時間、特定開盤時間等)。
Up to 4 custom vertical timestamp lines to mark important time events such as economic releases or specific session opens.
突破警報 | Break Alerts
當價格突破殺戮區樞紐高低點,或日/週/月高低點時,自動觸發 PulseWire 警報通知。
Automatically triggers PulseWire alerts when price breaks through killzone pivot levels or D/W/M high/low levels.
⚙️ 主要設定 | Key Settings
繪圖保留天數:控制圖表上各類繪圖的最大顯示筆數
時間框架上限:超過指定時間框架後自動隱藏所有繪圖
時區:支援全球主要時區,預設為紐約時間
繪圖截止時間:可設定樞紐線與開盤線的自動停止延伸時間
樞紐延伸模式:「直到被突破」或「突破後繼續」兩種模式可選
Session Drawing Limit: Controls the maximum number of drawings retained on the chart
Timeframe Limit: Automatically hides all drawings above the specified timeframe
Timezone: Supports all major global timezones, defaulting to New York (ET)
Drawing Cutoff Time: Optionally stops pivot and open lines from extending at a set time
Pivot Extension Mode: Choose between "Until Mitigated" or "Past Mitigation"
🌐 本地化說明 | Localization Notes
本版本為原作者 @tradeforopp 所著「ICT Killzones & Pivots 」之繁體中文翻譯版,依據 Mozilla Public License 2.0 授權發佈。所有交易邏輯、核心演算法與功能設計之著作權均歸屬於原作者。本版本僅對使用者介面文字進行在地化處理,未更動任何核心程式邏輯。
This is a Traditional Chinese translation of "ICT Killzones & Pivots " originally authored by @tradeforopp, published under the Mozilla Public License 2.0. All trading logic, core algorithms, and functional design remain the intellectual property of the original author. This version only localizes the user interface text without modifying any core logic.
⚠️ 免責聲明 | Disclaimer
本指標僅供技術分析參考用途,不構成任何投資建議。交易涉及風險,請依據個人風險承受能力審慎決策。
This indicator is provided for technical analysis reference purposes only and does not constitute investment advice. Trading involves risk; please make decisions according to your own risk tolerance.
原始腳本 Original Script:ICT Killzones & Pivots by @tradeforopp
授權 License:Mozilla Public License 2.0 Indicator

CRT - Candle Range Theory by agm# CRT — Candle Range Theory (Trader DNA 5-Step Framework)
**An automated, multi-timeframe Candle Range Theory detector with full trade execution levels — Entry, Stop Loss, TP1, and TP2 — built on the Trader DNA 5-Step CRT framework and ICT Power of 3 (AMD) concepts.**
---
## What is Candle Range Theory?
Candle Range Theory (CRT) is a price action methodology rooted in ICT (Inner Circle Trader) concepts. It describes how institutional smart money moves price through three sequential candles:
- **C1 — Accumulation:** A "range candle" that defines the playing field. Its high sets the **CR (Candle Range High / Buy-side Liquidity)** and its low sets the **CRL (Candle Range Low / Sell-side Liquidity)**.
- **C2 — Manipulation:** Price breaks out of C1's range to sweep liquidity — then **closes back inside** the C1 range. This is the trap. It runs stops above (bearish) or below (bullish) before reversing.
- **C3 — Distribution:** Price delivers in the opposite direction of the C2 sweep. This is where the trade runs.
This three-candle sequence mirrors the **ICT Power of 3 (AMD)** — Accumulation, Manipulation, Distribution — and can be observed on any timeframe.
---
## What This Indicator Does
This indicator automatically scans a **Higher Timeframe (HTF)** of your choice for completed CRT patterns. When a valid pattern is detected, it draws every element you need to execute the trade directly on your chart:
- Shaded **Range Box** over the C1 candle (the accumulation range)
- **Premium Zone** (upper half — bearish bias)
- **Discount Zone** (lower half — bullish bias)
- **Equilibrium line** (50% of C1 range)
- **CR** and **CRL** dashed lines extended to the right
- **Entry line** — at C2 close price
- **Stop Loss line** — beyond the C2 manipulation wick (with adjustable buffer)
- **TP1** — Equilibrium (50% of range)
- **TP2** — Opposite extreme of the range (full CRT target)
- **R:R ratio** labels on TP1 and TP2
- **ACC / MAN** labels marking the Accumulation and Manipulation candles
- **LTF entry hint** reminding you to drop to your Lower Timeframe for confirmation
- **Triangle signal markers** on the chart bar where the pattern confirms
- **Alerts** for bearish, bullish, and any CRT pattern
All drawings use **real bar timestamps** (`xloc.bar_time`) so every box, line, and label stays perfectly anchored at any zoom level.
---
## The 5-Step Trade Framework
This indicator is built around the Trader DNA 5-Step CRT execution process:
**Step 1 — Define the Range**
C1's body and wicks define the CR (top wick = Buy-side liquidity) and CRL (bottom wick = Sell-side liquidity). The midpoint is the Equilibrium (EQ).
**Step 2 — Confirm AMD Pattern**
C2 must sweep beyond C1 (above CR for bearish, below CRL for bullish) and close back inside the C1 range. This confirms the manipulation and sets up C3 distribution.
**Step 3 — Timeframe Alignment**
The HTF (e.g. 1H, 4H, Daily) defines the pattern. The LTF (e.g. 5m, 15m) is where you enter. Drop to the LTF after a signal fires and wait for a **CHoCH (Change of Character)** or **FVG (Fair Value Gap)** to confirm the reversal before entering.
**Step 4 — Premium / Discount Zone Filter**
- **Bearish CRT** is only valid if C2 closes in the **Premium Zone** (above the 50% EQ) — you are shorting from a premium price.
- **Bullish CRT** is only valid if C2 closes in the **Discount Zone** (below the 50% EQ) — you are buying at a discount.
This filter is optional and can be toggled off in settings.
**Step 5 — External Context**
Always confirm that the pattern aligns with the broader market structure on a higher timeframe than your HTF. This indicator handles Steps 1–4 automatically. **Step 5 is your responsibility** — do not take CRT setups against a strong trend or major resistance/support on the HTF.
---
## Bearish CRT — Pattern Rules
| Condition | Description |
|-----------|-------------|
| C1 is bullish | Accumulation candle closes up |
| C2 is bearish | Manipulation candle closes down |
| C2 high > C1 high | Liquidity sweep above CR |
| C2 close < C1 high | Close back inside the range |
| C2 close ≥ C1 low | Did not close below the range |
| Zone filter (optional) | C2 close above 50% EQ (Premium) |
**Trade:** Short at C2 close → SL above C2 high → TP1 at EQ → TP2 at CRL
---
## Bullish CRT — Pattern Rules
| Condition | Description |
|-----------|-------------|
| C1 is bearish | Accumulation candle closes down |
| C2 is bullish | Manipulation candle closes up |
| C2 low < C1 low | Liquidity sweep below CRL |
| C2 close > C1 low | Close back inside the range |
| C2 close ≤ C1 high | Did not close above the range |
| Zone filter (optional) | C2 close below 50% EQ (Discount) |
**Trade:** Long at C2 close → SL below C2 low → TP1 at EQ → TP2 at CR
---
## Settings Guide
### ⏱ Timeframes
| Setting | Default | Description |
|---------|---------|-------------|
| HTF | 1H | The timeframe on which the CRT pattern is detected. Patterns are drawn based on completed HTF bars. |
| LTF | 5m | Your entry timeframe. Shown in the entry hint label as a reminder to switch down for confirmation. |
**Recommended HTF / LTF Pairings:**
| HTF | LTF | Style |
|-----|-----|-------|
| Daily | 1H or 4H | Swing trading |
| 4H | 15m or 1H | Intraday swing |
| 1H | 5m or 15m | Day trading |
| 15m | 1m or 3m | Scalping |
> **Important:** Always view the indicator on a chart timeframe **equal to or lower than your HTF**. For example, if HTF = 1H, use a 1m–1H chart. Using a 4H chart with HTF = 1H means 4H bars will not contain enough resolution to display the drawings accurately.
---
### 🟢 Signals
| Setting | Default | Description |
|---------|---------|-------------|
| Show Bullish CRT | On | Toggle bullish pattern detection and drawings |
| Show Bearish CRT | On | Toggle bearish pattern detection and drawings |
| Step 4: Require Premium/Discount Zone | On | When enabled, bearish signals only fire if C2 closes above EQ (Premium), and bullish signals only fire if C2 closes below EQ (Discount). Disable to see all patterns regardless of C2 close position. |
---
### 📐 Trade Levels
| Setting | Default | Description |
|---------|---------|-------------|
| Show Entry Line | On | Blue solid line at C2 close price — your entry level |
| Show Stop Loss | On | Orange dashed line beyond the manipulation wick |
| Show TP1 (EQ 50%) | On | First target at the range midpoint |
| Show TP2 (Range Extreme) | On | Full target at CRL (bearish) or CR (bullish) |
| SL Buffer (%) | 0.10% | Adds a small buffer beyond the wick for the SL to avoid getting stopped by spread or noise. Increase for volatile assets. |
| Show R:R Label | On | Displays the reward-to-risk ratio next to each TP label, e.g. ` ` |
---
### 🎨 Visuals
| Setting | Default | Description |
|---------|---------|-------------|
| Show Range Box | On | Shaded box covering the C1 candle from its high to low |
| Show Premium / Discount Zones | On | Upper half (Premium, red tint) and lower half (Discount, green tint) of the range |
| Show AMD Labels | On | Labels "ACC" on C1 and "MAN" on C2 |
| Show LTF Entry Hint | On | Adds the LTF timeframe name to the entry label as a reminder |
| Show Equilibrium Line | On | Dotted gold line at the 50% midpoint of C1 |
| Show CR / CRL Lines | On | Dashed lines at C1 high and C1 low extending right |
| Show Price Labels | On | Labels showing exact price of CR, EQ, and CRL |
| Show Triangle Signals | On | Red triangle above bar (bearish) or green triangle below bar (bullish) |
| Extend Lines (bars right) | 30 | How many current-chart bars the lines/labels extend to the right. Increase for more projection space. |
---
### 🎨 Colors
All colors are fully customizable. Defaults:
- **Bullish** — Bright green (`#00E676`)
- **Bearish** — Bright red (`#FF1744`)
- **Equilibrium** — Gold (`#FFD700`)
- **Entry** — Sky blue (`#29B6F6`)
- **Stop Loss** — Orange (`#FF6D00`)
- **TP1** — Light green (`#69F0AE`)
- **TP2** — Pale green (`#B9F6CA`)
- **Premium Zone** — Soft red
- **Discount Zone** — Soft green
**Box Fill Transparency** (default 88%) and **Zone Fill Transparency** (default 93%) let you control how opaque the filled boxes appear.
---
## How to Use — Step-by-Step
**1. Add the indicator to your chart.**
Select your HTF and LTF in the settings (⏱ Timeframes group).
**2. Watch for a signal triangle.**
A red triangle above a bar means a Bearish CRT has confirmed on the HTF. A green triangle below means Bullish CRT.
**3. Read the box.**
The shaded box is the C1 accumulation range. The upper red-tinted zone is Premium (sell from here). The lower green-tinted zone is Discount (buy from here).
**4. Note the entry line (blue).**
This is C2's close price — the theoretical market entry. In practice, drop to your LTF to confirm the reversal before entering.
**5. Drop to your LTF.**
On the LTF, wait for confirmation: a **Change of Character (CHoCH)** — where price breaks a recent swing high/low in the direction of the trade — or a **Fair Value Gap (FVG)** acting as support/resistance.
**6. Manage the trade.**
- Set your SL at the orange dashed line (beyond the C2 manipulation wick).
- Target TP1 at the gold EQ line (partial close recommended).
- Target TP2 at the CRL (bearish) or CR (bullish) for full CRT delivery.
- Check the R:R label — aim for setups showing at least **1.5R to TP1** and **2.5R+ to TP2**.
**7. Apply Step 5 yourself.**
Before taking any trade, confirm that the HTF market structure supports the direction. Do not short into a strong bullish HTF structure. Do not long into a strong bearish HTF structure.
---
## Alerts
Three alert conditions are available. Set them up via **PulseWire Alerts → Condition → **:
| Alert | Fires When |
|-------|------------|
| Bearish CRT (Premium Zone) | A valid bearish pattern confirms on the HTF |
| Bullish CRT (Discount Zone) | A valid bullish pattern confirms on the HTF |
| CRT Pattern (Any) | Either direction confirms |
Alert messages include the ticker, HTF interval, and entry price, along with a reminder to confirm on the LTF.
---
## Visual Reference — What You See on the Chart
```
← C1 Box (Range Box) → ← Extensions →
┌─────────────────────────────────────────────────────────── CR line (C1 High)
│█████████████████ PREMIUM ZONE (red tint) ███████████████──
│
├─────────────────────────────────────────────────────────── EQ line (50%)
│
│████████████████ DISCOUNT ZONE (green tint) ████████████──
└─────────────────────────────────────────────────────────── CRL line (C1 Low)
ACC label (on C1) MAN label (on C2)
───────────────────────────────────────────────────────────── ENTRY (blue, solid)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - SL (orange, dashed)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TP1 EQ (green)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TP2 CRL (pale green)
```
---
## Technical Notes
- **No repainting:** All HTF data is fetched with `lookahead=barmerge.lookahead_off` and drawings are gated by `barstate.isconfirmed`. Patterns are only drawn when the HTF bar is fully closed.
- **Zoom-stable drawings:** All boxes, lines, and labels use `xloc.bar_time` (real timestamps), not bar index, so they remain perfectly aligned at every zoom level.
- **Signal triangles** use Pine Script's `plotshape()` which internally positions by bar index. This is a platform limitation; triangles may appear slightly offset when chart zoom changes, but all other drawings remain locked.
- Requires Pine Script v5. Works on all instruments and timeframes.
---
## Credits
- Base CRT pattern logic: **ninefnarsa** (PulseWire script `oOzkiAxu`)
- Entry/exit framework: **Trader DNA** 5-Step CRT methodology
- ICT concepts: **Michael J. Huddleston** (Inner Circle Trader)
---
*This indicator is for educational purposes only. It does not constitute financial advice. Always use proper risk management and never risk more than you can afford to lose.* Indicator

Indicator

Indicator

Indicator

AG Pro Stop Hunt Map Engine [AGPro Series]AG Pro Stop Hunt Map Engine
Overview / What it does
AG Pro Stop Hunt Map Engine is a price-action overlay designed to map potential trap zones after liquidity sweeps. The script focuses on moments where price briefly moves beyond an important reference level, rejects that move, and then closes back through the swept area. In practical terms, this helps traders visualize where a failed breakout or failed breakdown may have left trapped positioning behind.
The engine can work with pivot-based liquidity references, previous day high / previous day low references, or both at the same time. This makes it useful for traders who want a structured way to monitor classic stop-hunt behavior without relying on a single interpretation of liquidity. Instead of treating every wick beyond a level as meaningful, the script applies reclaim logic and filtering rules so that only sweeps with stronger reversal characteristics are highlighted.
The core goal is not to predict every reversal. The goal is to organize sweep events into a readable map: where the sweep happened, which side may be trapped, which zones remain active, and which levels are still relevant as price moves forward. That is why the script is built as a map engine rather than a simple marker tool.
This publication is especially suited to traders who study rejection structure, failed continuation, stop runs, and liquidity-driven reversals. It can be used as a visual context layer inside a broader workflow that may already include structure, trend, momentum, or higher-timeframe bias analysis.
Unique Edge
Many liquidity-sweep tools only mark a wick beyond a prior level and stop there. This script takes a more selective approach. It requires a reclaim condition, supports wick-to-body quality filtering, allows optional fake-sweep filtering, and maintains the resulting event as an actionable mapped zone rather than a one-bar marker.
Its main differentiation is the emphasis on post-sweep structure. Once a sweep qualifies, the script builds and extends a zone so the trader can continue monitoring that area after the original event. This provides a cleaner framework for seeing whether the market is respecting that trap region, moving away from it, or invalidating it.
Another important distinction is the visual hierarchy. The script is designed to separate nearest relevant zones from older or weaker context. This helps keep the chart readable while still preserving useful background information. Instead of cluttering the screen with every historical event at equal importance, the engine highlights what is currently closest and most relevant.
Methodology
The script first defines the liquidity source. Users can choose pivot highs and lows, previous day high and previous day low, or a combined mode that monitors both.
For a bullish trap scenario, price must sweep below a valid downside reference and then reclaim it according to the selected conditions. For a bearish trap scenario, price must sweep above a valid upside reference and then reclaim it. This creates two independent directional engines: one for bullish recovery after downside liquidity is taken, and one for bearish rejection after upside liquidity is taken.
The detection logic is built around several layers:
1. Sweep source selection
The engine checks whether price has moved beyond a chosen pivot or previous-day level.
2. Wick / body filter
The script can require a minimum wick-to-body relationship so that weak or low-conviction candles are filtered out.
3. Reclaim close requirement
The user can require price to close back through the swept level before the event is accepted.
4. Fake sweep filter
An optional penetration filter limits how deep price can move beyond the level before the event is treated as lower quality.
5. Zone persistence
Qualified sweep-and-reclaim events are not left as isolated markers. They are stored and extended forward as zones so the trader can monitor their ongoing relevance.
6. Nearest-zone emphasis
The display engine highlights the nearest bull and bear trap zones so current context is easier to read.
The result is a framework that treats sweep events as evolving market context rather than isolated historical dots.
Signals & Alerts
The script identifies two primary event types:
Bull Trap Reclaim
This appears when price sweeps below a valid reference level and then closes back above it, suggesting that downside liquidity may have been taken and rejected.
Bear Trap Reclaim
This appears when price sweeps above a valid reference level and then closes back below it, suggesting that upside liquidity may have been taken and rejected.
Visual elements can include:
- Sweep zones
- Trap labels
- Right-edge state tags
- Nearest-zone emphasis
- Origin markers on qualifying sweep bars
- A summary panel showing current state and nearest bull / bear trap information
Alert conditions are included for:
- Bullish trap reclaim events
- Bearish trap reclaim events
These alerts are event-based. They identify when a qualifying reclaim occurs according to the active settings.
Key Inputs
Sweep Source
Choose whether the engine uses pivots, previous day levels, or both.
Pivot Strength
Controls how strict the pivot reference detection should be.
Require Reclaim Close
Requires price to close back through the swept level before a zone is created.
Min Wick / Body Ratio
Filters low-quality sweeps by requiring stronger rejection candles.
Use Fake Sweep Filter
Enables an additional penetration-depth filter to reduce weaker events.
Max Penetration (ATR Multiple)
Sets the maximum allowed overshoot beyond the swept level when fake-sweep filtering is enabled.
Chart Mode
Allows a cleaner publish-style view or a more detailed analysis-style view.
Label Mode
Controls how aggressively labels are shown on the chart.
Highlight Nearest Bull / Bear Zones
Emphasizes the closest active zones for faster visual interpretation.
Summary Panel
Shows the current trap state, active bull and bear zone counts, nearest trap levels, and the last detected events.
Limitations & Transparency
This script is not a prediction engine and does not guarantee reversals. A sweep-and-reclaim event can still fail, especially in strong directional environments where price continues expanding after a temporary rejection.
Reference choice matters. Pivot-based detection and previous-day level detection describe different types of liquidity behavior. Depending on the instrument, timeframe, and volatility regime, one source may be more relevant than the other.
Filtering also changes behavior significantly. Tight wick/body requirements or stricter fake-sweep settings will reduce signal frequency. Looser settings will create more events but may also admit weaker structures.
Zones are contextual tools, not standalone trade instructions. Many traders may still want to combine the script with higher-timeframe structure, trend bias, volatility context, or execution rules before making decisions.
As with any chart overlay, visual cleanliness depends on timeframe, market conditions, and user configuration. Different settings may be appropriate for intraday charts versus higher-timeframe swing charts.
Risk Disclosure
This script is for chart analysis and market structure visualization only. It does not provide financial advice, trade recommendations, or guaranteed outcomes. Markets can remain irrational longer than a trap setup appears logical, and any liquidity sweep signal can fail.
Always apply independent judgment, position sizing discipline, and risk management. No single indicator should be used in isolation for live trading decisions.
Indicator

VP + OTE ZonesHow To Use VP + OTE Zones — Plain English
What Is This Thing Even Doing?
Imagine price just made a big fast move up or down. That move is called a displacement. After a big move like that, price almost always comes back to "retest" part of that move before continuing. This indicator automatically finds those big moves, draws a box over the zone where price is most likely to pull back into, and labels the key levels inside that zone. That's it. Your job is to wait for price to come back into the box and look for a reason to enter.
Step 1 — Set Your Timeframe
This works best on intraday charts. Start here:
NQ / ES futures → use the 1 minute, 3 minute, or 5 minute chart
Forex pairs → use the 5 minute or 15 minute chart
Crypto → use the 5 minute or 15 minute chart
If you are a swing trader, try the 1 hour or 4 hour chart. The indicator works on any timeframe but was built with intraday in mind.
Step 2 — Understand What You Are Looking At
When the indicator draws a box on your chart, here is what it means:
🟢 Green box — Price made a big move UP. The indicator is saying "if price pulls back down into this green zone, that is a potential buy area."
🔴 Red box — Price made a big move DOWN. The indicator is saying "if price pulls back up into this red zone, that is a potential sell area."
The lines inside the box are Fibonacci levels. They are labeled on the right side of the box:
0.618 — The start of the zone. Shallow retracement.
0.650 — Just inside the zone.
0.705 — The midpoint. The bold line. This is the most watched level inside the zone.
0.790 — Deeper into the zone.
0.886 — The far edge of the zone. If price closes beyond this, the zone is cancelled automatically.
Think of the zone like a window. You want price to enter the window. The 0.705 level is the center of the window and usually the highest probability spot inside it.
Step 3 — Wait For Price To Enter The Box
Do not chase price. Do not enter before price gets to the box. Simply watch and wait.
When price starts moving toward a box, get ready. When it enters the box, start looking for your entry trigger. Your trigger is NOT this indicator — this indicator only tells you WHERE to look. You still need a reason to pull the trigger such as:
A candlestick pattern (engulfing, rejection wick, inside bar)
A market structure shift on a lower timeframe
A confluence with another level like a session high/low or a previous support/resistance
Step 4 — Know When The Zone Is No Longer Valid
The indicator handles this automatically, but you should understand the logic:
❌ Zone gets cancelled if price closes hard beyond the 0.886 level. That means the move went too deep and the zone failed. The box will disappear on its own. Do not try to hold a trade in a cancelled zone.
⏳ Zone ages out if price never came back to it after a set number of bars. Old zones that price ignores are automatically removed to keep your chart clean.
✅ Zone stays active as long as price has not violated it and it has not expired. Multiple zones can be on your chart at once. Focus on the freshest ones closest to current price.
Step 5 — Settings To Know
Open the indicator settings. Here are the only ones you really need to worry about as a beginner:
Pivot Length (default 14)
This controls how sensitive the indicator is to swing points. Lower number = more zones drawn but more noise. Higher number = fewer zones but only the big obvious ones. Start at 14 and only change it if you feel like you are getting too many or too few boxes.
Min Leg Size in Points (default 25)
This is the minimum size a move has to be before the indicator draws a zone. If you are trading NQ you may want to raise this to 50 or 75 so you only get zones from really significant moves. If you are trading a slower instrument like forex you may want to lower it.
Require LVN in OTE Zone (default ON)
This is a volume filter. When it is on, the indicator only draws a zone if there is a low volume pocket inside it — meaning price flew through that area fast without much trading happening, which makes it more likely to act as a magnet later. Leave this ON. Only turn it off if you feel like you are missing too many zones.
Max Zone Age (default 150 bars)
Zones older than this disappear automatically. If you want zones to stay on screen longer raise this number. If your chart feels cluttered lower it.
Label Bar Offset (default 3)
This controls how far to the right the level labels sit outside the box. If the labels feel too close to price or overlapping other things, increase this number.
Step 6 — The Simple Workflow Every Session
Open your chart and let the indicator load
Look at which boxes are currently on the chart and closest to price
Identify if price is above or below those boxes
If price is above a green box — watch for a pullback down into it
If price is below a red box — watch for a pullback up into it
When price enters the box — zoom into a lower timeframe and look for your entry trigger
If price blows through the 0.886 and the box disappears — move on, that zone failed
Common Mistakes To Avoid
🚫 Do not enter just because price touched the box. Wait for confirmation. The box is a area of interest, not a guaranteed reversal.
🚫 Do not ignore the direction of the box. A green box is a potential buy zone. Do not try to short into a green box just because price is there.
🚫 Do not ignore your higher timeframe bias. If the daily chart is clearly bearish, be very selective about taking buys from green zones on the 5 minute chart.
🚫 Do not trade every zone. Be selective. Look for zones that line up with other things you already use — session levels, previous highs and lows, news events.
🚫 Do not panic if a zone disappears. That just means it got invalidated or aged out. There will always be new zones forming.
The One Sentence Summary
Price makes a big move, this indicator draws a box where it is most likely to retrace to, you wait for price to come back to the box, and you look for a reason to enter in the direction of the original move. Indicator

AG Pro ICT Confluence Score Dashboard [AGPro Series]AG Pro ICT Confluence Score Dashboard
Overview / What it does
AG Pro ICT Confluence Score Dashboard is a panel-first decision support tool built to evaluate whether multiple ICT-style conditions are aligning at the same time. Instead of focusing on a single event in isolation, the script converts several contextual factors into a structured confluence model so traders can quickly assess whether the current environment is weak, building, or high-conviction.
The dashboard tracks a stack of evidence that includes sweep activity, imbalance interaction, block retests, structure shifts, premium/discount location, trap context, session context, higher-timeframe alignment, freshness, and conflict. Those components are summarized into core and effective scores, then translated into a clean bias/state panel. An optional chart layer can display signal tags and a lightweight halo only when stronger threshold conditions are met.
This script is designed for traders who prefer structured context over isolated triggers. It does not attempt to replace discretion, and it is not presented as a one-click signal engine. Its purpose is to help users evaluate whether multiple factors are working together in the same direction, or whether the current picture is mixed and should be treated more cautiously.
What makes the script practical is that it reduces chart-reading friction. A trader can still inspect sweeps, gaps, blocks, structure, and location manually, but the dashboard helps organize that information into a readable hierarchy. This makes it easier to separate random activity from environments where several pieces of evidence are beginning to align.
Unique Edge
The distinctive feature of this script is not that it detects one ICT concept better than every other tool. Its edge comes from treating multiple ICT-style events as parts of a single evidence framework. The dashboard does not simply list conditions; it scores them, weighs context, and highlights whether the active side remains clean or is facing meaningful opposition.
That means the script is less about finding a single pattern and more about measuring alignment quality. A sweep without supportive structure is different from a sweep followed by structure, location support, and a fresh contextual trigger. A gap touch inside a neutral area is different from a gap touch that appears inside a stronger directional stack. By organizing these relationships into a dashboard, the script gives the user a more structured read on what is happening now.
This also separates it from single-purpose tools. AG Pro ICT Confluence Score Dashboard is not a standalone liquidity sweep script, not a standalone FVG script, not a standalone order block script, and not a standalone session indicator. It is a meta-layer built to evaluate whether several pieces of market evidence are converging into a more coherent setup environment.
Methodology
The model begins with a set of factor states derived from recent chart structure. Confirmed pivot swings are used to define recent highs and lows. From there, the engine evaluates conditions such as sweep events, structure breaks, imbalance zones, block interaction, premium/discount location, and trap-style sequences. Each factor can become active for a limited validity window instead of remaining relevant indefinitely.
The script then builds a core score for bullish and bearish context separately. Session logic can add a directional bonus when the active side is aligned with the configured session window. After that, contextual adjustments are applied through higher-timeframe alignment, freshness, and conflict logic. This produces an effective score that attempts to reflect not only how many factors are present, but whether they are present in a cleaner and more supportive sequence.
The dashboard then translates that information into a readable structure: Bull/Bear core values, effective score, net bias, score bar, conflict read, Why Now summary, Sequence summary, and factor-by-factor status rows. The idea is to help the user see both the headline state and the underlying reasons behind it.
Signals & Alerts
The optional chart signals are intentionally restrained. They are meant to mark stronger score states rather than call every minor condition. Signal tags can appear when the configured score threshold is reached, and the visual layer can be limited so the chart stays readable.
Available alert logic is based on state transitions rather than promotional claims. The script can notify when bullish or bearish confluence crosses the configured threshold, when high confluence is entered, and when that state is lost. This keeps the alert structure deterministic and easier to interpret in a workflow.
Key Inputs
Swing Length controls the pivot sensitivity used by the structure engine.
Factor Validity Window defines how long a detected event can continue to contribute to the stack.
Trap Confirmation Window controls how tightly sweep and structure events must cluster to qualify as trap context.
Freshness Window helps determine whether the active side is still recent enough to deserve extra weight.
Conflict Penalty Threshold defines when opposing evidence becomes meaningful enough to reduce the active side.
Alert Threshold sets the effective score level required for stronger signal conditions.
HTF Timeframe and HTF EMA Length define the higher-timeframe directional filter.
Session controls allow users to enable or disable London, New York, and Asia windows.
Dashboard and visual controls manage panel position, theme, text size, signal tags, and halo behavior.
Limitations & Transparency
This script is a context model, not a prediction model. A high score does not guarantee continuation or reversal, and a low score does not mean price cannot move aggressively. The dashboard only summarizes the relationship between the conditions it measures.
Some components rely on confirmed pivot logic. Because pivot confirmation needs bars on both sides, certain structure-related states become available only after that confirmation exists. This is a design choice intended to keep the model structured, but it also means some events are inherently delayed relative to raw price movement.
The script is also selective by design. It does not attempt to represent every possible ICT interpretation, and it does not replace chart reading, risk control, or execution planning. Users should treat it as a decision-support framework that helps organize evidence, not as a substitute for a full trading process.
Risk Disclosure
This indicator is provided for educational and informational purposes only. It does not constitute financial advice, investment advice, or a solicitation to buy or sell any financial instrument. Trading involves risk, and users should rely on their own analysis, risk management, and judgment before making decisions. Indicator

ICT Auto-Validated SMCICT Validated SMC v1 — "Don't just label. Validate."
Most SMC indicators slap labels on your chart and call it a day. Every Order Block gets drawn. Every FVG gets highlighted. No filtering, no context, no idea whether what you're looking at is actually worth trading or just noise.
This indicator takes a different approach. Every concept has to earn its place on your chart.
Why this indicator is different:
Market Structure — BOS and CHoCH on both swing and internal levels, with optional HTF structure overlay so you can see if you're trading with the current or against it
Order Blocks — only drawn when they pass validation: liquidity sweep before the OB, displacement (FVG) after it, premium/discount alignment, and killzone timing. Each OB gets a confluence score (★ to ★★★★★) so you can tell at a glance which ones are worth watching
Breaker Blocks — when an OB fails and gets traded through, it flips into a breaker. Valid on first retest, then expires. One of the cleanest levels you'll find
Fair Value Gaps — displacement-filtered (minimum ATR multiple on the middle candle body, not just any gap), with Consequent Encroachment at 50%
Inversion FVGs — mitigated FVGs that flip direction. Bullish FVG gets run → becomes bearish IFVG resistance, and vice versa
Balanced Price Range — where a bullish FVG and bearish FVG overlap. Rare, but when they show up, pay attention
OTE Zones — Fibonacci 61.8%–78.6% retracement of the displacement leg after a structure break, with automatic detection of OB and FVG overlap inside the zone (triple confluence)
Liquidity — Equal Highs / Equal Lows detection with configurable tolerance, plus live sweep markers when price takes out a level and closes back inside
Premium / Discount — visual overlay of the current swing range with equilibrium line
Killzones — Asian, London, NY AM, NY PM session highlighting in EST
Signal engine
Optional trade signals that only fire when multiple factors align — you set the minimum confluence score. Signals require price to actually be touching a validated zone (OB, FVG, OTE, or Breaker), and you can enforce HTF alignment and killzone timing on top. Built-in cooldown prevents the same signal from firing repeatedly while price sits in a zone. SL and TP levels are plotted automatically.
Info panel
Top-right dashboard shows you everything at a glance: current structure, HTF alignment status, active zone counts, session info, validation settings, and the current signal state with score.
SETTINGS GUIDE
Market Structure
Swing Length (default 10) — how many bars on each side to confirm a swing high or low. Lower values catch more swings but pick up noise. Higher values give you cleaner structure but lag more. 10 is a solid middle ground for 15M–1H charts. On 5M you might drop to 7, on 4H you might push to 14.
Internal Structure Length (default 5) — same idea but for sub-structure. Only matters if you turn on "Show Internal Structure." Useful for seeing the BOS/CHoCH happening inside a larger swing, but it does add visual clutter. I leave it off by default.
Show Swing Points — the small ▲/▼ markers at confirmed pivots. Helpful when you're learning to read structure, easy to turn off once you don't need them.
Higher Timeframe Alignment
Enable HTF Structure Check (default on) — pulls structure direction from a higher timeframe so you can see whether your current-TF setup trades with or against the bigger picture. No repainting — uses confirmed bars only (lookahead off).
HTF Timeframe (default 240 = 4H) — which timeframe to check. Standard pairings: 5M→1H, 15M→4H, 1H→D, 4H→W. Don't go more than ~4x your chart TF or the alignment signal gets too slow to be useful.
HTF Swing Length (default 10) — swing detection sensitivity on the HTF. Usually fine to leave at 10 unless your HTF is very high (Weekly/Monthly) where you might want 5–7.
Show HTF Structure on Chart — draws dashed lines for the current HTF swing high and low directly on your chart. Nice visual anchor for where the big-picture range sits.
Order Blocks
Max Visible OBs (default 5) — how many OB boxes stay on chart at once. Old ones get cleaned up automatically. 5 keeps the chart readable without losing important levels.
Require Liquidity Sweep (default on) — the OB candle has to have swept the prior candle's low (for bullish) or high (for bearish) before it qualifies. This is ICT's concept of the market grabbing liquidity before reversing. Turning this off gives you more OBs but weaker ones.
Require Displacement (default on) — the move off the OB has to leave a Fair Value Gap within the next few candles. This confirms the move was institutional and impulsive, not just a drift. Again, turning it off = more OBs, lower average quality.
Show Mitigated OBs — when price trades through an OB and it expires, should the ghost of the box stay on chart (grayed out) or disappear? Off by default to keep things clean.
Breaker Blocks
Max Visible Breakers (default 5) — same cap logic as OBs.
Bullish/Bearish Breaker Fill — color pickers. Breakers use dashed borders to visually distinguish them from active OBs.
Breakers are automatically created when an OB gets mitigated — you don't configure their detection separately. They activate on the first retest (border thickens) and expire if price trades through them a second time. This lifecycle is hardcoded because that's how they work — a breaker that's been retested twice isn't a breaker anymore.
Fair Value Gaps
Max Visible FVGs (default 5) — caps active FVG boxes on chart.
Min Displacement (ATR Multiple) (default 1.0) — this is the filter that separates real FVGs from noise. The middle candle's body (close minus open, not the wick range) has to be at least this many times the 14-period ATR. At 1.0 you get FVGs that represent genuinely impulsive moves. Push it to 1.5 or 2.0 if you only want to see the really aggressive displacements. Drop to 0.5 if you want more gaps and don't mind weaker ones.
Show Consequent Encroachment (default on) — draws a dotted line at the 50% midpoint of each FVG. This is the level ICT identifies as the point where smart money has been "partially filled" — price often reacts here rather than filling the entire gap.
Show Mitigated FVGs — same idea as mitigated OBs. Off by default.
Show Inversion FVGs (default on) — when a FVG gets fully traded through, it can flip direction and act as S/R from the other side. A bullish FVG that gets broken to the downside becomes a bearish IFVG (resistance). These are drawn with dashed yellow boxes. They expire after being retested once and then traded through.
Balanced Price Range
Show BPR Zones (default on) — when a bullish FVG and a bearish FVG overlap, the overlapping area is a BPR. These are genuinely rare, and when price returns to one it tends to get a strong reaction. Drawn with a solid purple box and ◆ marker.
BPRs mitigate when price closes decisively beyond the zone (by more than the zone's own height in either direction). No additional settings needed — the detection is automatic based on your active FVGs.
Liquidity
Show Liquidity Levels (default on) — master toggle for the liquidity features.
Show Equal Highs / Lows (default on) — scans recent swing pivots for prices that are nearly identical. These clusters are where stop losses accumulate and smart money targets them.
EQH/EQL Tolerance (default 0.15%) — how close two swing points need to be (as a percentage of price) to count as "equal." 0.15% works well for most crypto and forex pairs. For indices you might tighten to 0.08–0.10%. If you're getting too many false EQH/EQL markings, lower this. If you're missing obvious clusters, raise it.
Show Liquidity Sweeps (default on) — plots a ⚡ marker when a candle wicks above a recent swing high (or below a swing low) but closes back inside. This is the "sweep and reject" — one of the most actionable things on any chart.
Premium / Discount
Show Premium/Discount Zones (default on) — shades the area above equilibrium as premium (bearish color) and below as discount (bullish color), based on the current swing range. Bullish setups should ideally trigger in discount, bearish in premium.
Show Equilibrium Line (default on) — the 50% midpoint of the range. Drawn as a dotted gray line. In ranging markets, price tends to gravitate here. In trending markets, it acts as a line in the sand for directional bias.
Killzones
Asian KZ (20:00–00:00 EST, default off) — the Asian range is more of a reference for the London open to target than a session to trade in. Included for context but off by default.
London KZ (02:00–05:00 EST, default on) — the first high-probability session. London open displacement sets up the day.
NY AM KZ (08:30–11:00 EST, default on) — the second major window. 08:30 aligns with US economic releases, 09:30 with the equity open. This is where the biggest moves tend to happen.
NY PM KZ (13:00–16:00 EST, default off) — afternoon session. Can produce setups but less reliable. Off by default.
Killzone Transparency (default 92) — how visible the background shading is. 92 is barely there, which is the point — you want to know you're in a killzone without it competing with your zones and levels. Lower the number if you want it more obvious.
All times are EST (New York) regardless of your chart timezone.
Optimal Trade Entry (OTE)
Upper Fib Level (default 0.786) — the deeper boundary of the OTE zone. 78.6% retracement means price has pulled back significantly into the prior leg.
Lower Fib Level (default 0.618) — the shallower boundary. Together with 78.6% this defines the "sweet spot" ICT teaches as the optimal entry area.
Show 50% / 61.8% / 78.6% Lines (default on) — draws the individual fib levels as dotted lines inside the OTE box. The 50% (equilibrium of the leg) is especially useful as a decision point.
Max Visible OTE Zones (default 3) — OTE zones are transient by nature, so you don't need many on screen. They activate when price enters the zone (border thickens) and invalidate if price blows through the leg's origin.
OTE zones automatically check whether an active Order Block or FVG sits inside them. When they overlap you get labels like "OTE + OB" or "OTE + OB + FVG" — that triple confluence is one of the highest-probability setups in this entire framework.
Signal Generation
Enable Trade Signals (default on) — master toggle for the ▲/▼ arrows. Everything else in this section is irrelevant when this is off.
Min Confluence Score (default 4) — the threshold before a signal fires. The scoring works like this: touching an OB = +2, touching an OTE = +2, touching an FVG = +1, touching a Breaker = +1, HTF alignment = +1, in killzone = +1, correct premium/discount zone = +1, structure direction agrees = +1. Max theoretical score is 10. At the default of 4, you need at least two meaningful factors lining up. Raise it to 5–6 if you want fewer, stronger signals. Drop to 3 if you're using this more as an alert system and want to evaluate setups yourself.
Require HTF Alignment (default on) — long signals only fire when the HTF is bullish, shorts only when HTF is bearish. This alone filters out a huge number of counter-trend traps.
Require Active Killzone (default off) — when on, signals only fire during London or NY sessions. Aggressive filter, but it keeps you out of the low-volume chop.
Show Stop Loss / Take Profit (default on for both) — SL is placed at the bottom of the zone that triggered the signal (OB low, FVG low, OTE leg origin). TP targets the opposite swing (swing high for longs, swing low for shorts). These are starting points, not gospel — you should manage the trade based on what price does at the next level.
Signal Cooldown (default 10 bars) — minimum bars between signals in the same direction. Without this, you'd get repeated long arrows every bar while price sits inside a bullish OB. 10 bars is enough to prevent spam without missing a genuine re-entry. On lower timeframes (1M–5M) you might drop to 5. On higher timeframes (4H+) you could push to 15–20.
Confluence Scoring
Show Confluence Score (default on) — enables the scoring system that rates each OB.
Minimum Score to Display Setup (default 3) — OBs scoring below this are hidden entirely. This is separate from the signal threshold — this filters which OBs appear on chart at all, while the signal threshold filters which setups generate trade arrows. You might show OBs at score 3+ but only signal at score 5+, for example.
Colors & Display
Bullish / Bearish — master colors used across the indicator for directional elements.
FVG, OB, Sweep fills — individual color pickers for each element type. The defaults use distinct colors (blue for OBs, green/red for FVGs, yellow for sweeps, purple for BPR) so nothing blends together.
Show Info Panel — the dashboard in the top right. Shows structure state, HTF alignment, active zone counts, session info, validation settings, best OB score, and current signal status. Turn it off if you already know what you're looking at and want the screen space back.
Chart Label Size / Panel Text Size — tiny, small, normal, or large. Small works on most screen sizes. Use tiny on mobile or if you're running a lot of chart panels.
What makes this different from the 500 other SMC indicators out there:
OBs require a liquidity sweep AND displacement — not just "last red candle before green." Both filters are toggleable if you want to relax them, but the defaults are strict on purpose.
Every OB is scored based on how many factors align (sweep, displacement, killzone, premium/discount, HTF direction). Low-scoring setups get filtered out entirely.
FVGs require actual displacement — the middle candle body has to move at least 1x ATR. No more tiny gaps on ranging candles cluttering your chart.
IFVGs and Breaker Blocks have proper lifecycle management — they activate on retest and expire when traded through. They don't just sit there forever.
OTE zones automatically check for OB and FVG overlap, flagging triple confluence setups.
HTF structure is pulled from a configurable higher timeframe with no repainting (lookahead off).
Recommended setup:
Start on the 15M with HTF set to 4H, or 1H with HTF set to Daily. Keep both validation filters on (sweep + displacement) and minimum score at 3. Turn off internal structure unless you need it — it gets noisy. Enable London + NY AM killzones for the cleanest setups.
Defaults are opinionated. I'd rather show you 3 high-quality setups than 30 mediocre ones. Adjust the filters to your style, but if you're turning everything to minimum just to see more signals, you're missing the point. Indicator

Killzones & Key LevelsThe ICT Killzones + Key Levels indicator is a comprehensive technical analysis tool that consolidates institutional trading logic and ICT (Inner Circle Trader) concepts into a single interface. Its primary distinction lies in optimizing all calculations based on actual market opening times—specifically the New York 18:00 session rollover—rather than the standard midnight (00:00) reset.
It visually represents critical Killzone regions, such as Asia, London, New York AM/PM, and New York Lunch, using dynamic boxes on the chart. These zones highlight periods of peak volatility and liquidity, clarifying areas where price is most likely to react. Additionally, it calculates session-based Daily, Weekly, and Monthly (DWM) open levels to align with institutional data, making intraday bias much easier to determine.
The indicator provides a True Day Open (TDO => NYMO) level as a vital reference point throughout the day while automatically tracking Previous Day, Week, and Month Highs and Lows (H/L). By drawing vertical day-divider lines at 18:00, it allows traders to see the "true" trading day. This enables Futures and Forex traders to analyze market cycles based on institutional liquidity flow rather than just calendar hours.
Finally, it includes a volatility analysis table that displays the current price range for each session. With a fully customizable structure, you can adjust sessions, colors, and timeframes to fit your specific strategy. In essence, this tool serves as a professional roadmap for Smart Money Concepts (SMC) traders who prioritize session structure over traditional timekeeping. Indicator

AG Pro Order Block Reaction Quality [AGPro Series]AG Pro Order Block Reaction Quality
OVERVIEW / WHAT IT DOES
AG Pro Order Block Reaction Quality is an overlay tool designed to organize how price interacts with displacement-origin order block zones. The script identifies the last opposite candle before a strong impulsive move, projects that candle as a bullish or bearish order block, and then tracks whether price later respects, reacts to, or invalidates that zone.
The goal is not to treat every order block as equally important. Instead, the script focuses on reaction quality. When price revisits a tracked zone, the script evaluates the behavior around that revisit and converts the response into a structured quality score. This helps separate zones that produce cleaner reactions from zones that fail, weaken, or transition into breaker behavior.
The indicator is built as a chart-organization tool, not as a prediction engine. It is intended to help users study where impulsive moves originated, how later revisits behaved, and whether those revisits showed clean rejection, weak response, or invalidation. In that sense, the script is less about drawing boxes and more about mapping reaction structure around previously important displacement areas.
Because order block concepts are often displayed in a highly subjective way, this script uses deterministic conditions to reduce ambiguity. Impulse detection, order block selection, reaction-window scoring, and breaker conversion all follow rules-based logic. The objective is to make price interaction around those zones easier to inspect, compare, and review across different market conditions.
UNIQUE EDGE
Many order block tools focus mainly on detection. They draw a bullish or bearish block, then leave the interpretation to the user. This script adds an evaluation layer on top of that detection process. Rather than only asking where an order block exists, it also asks how convincingly price reacted when that zone was revisited.
That difference matters. Two zones may look similar at first glance, but the quality of the revisit can be very different. One revisit may reject cleanly and preserve the zone, while another may penetrate deeply, stall, or fully invalidate. By assigning reaction scores and grade-style labels, the script helps organize those differences visually.
The script also distinguishes active order blocks from breaker behavior. If a previously tracked zone is invalidated, the visualization shifts from standard order block context into breaker context. This adds structural continuity to the chart and helps users see when an old reaction area has lost its original character.
In practical use, the unique edge is the combination of three layers: impulsive-origin zone detection, revisit-based reaction scoring, and breaker-state continuity. Together, those layers aim to give traders a cleaner framework for studying order block behavior than a simple box-drawing approach.
METHODOLOGY
1) Impulse detection
The script first searches for strong directional candles whose range is large relative to ATR and whose move exceeds a recent breakout threshold. This is used as a rules-based approximation of displacement or impulsive participation.
2) Order block definition
Once an impulsive move is detected, the script searches backward for the last opposite candle inside a configurable lookback window. That candle becomes the source order block. Depending on settings, the zone can be projected using the full candle range or the candle body only.
3) Zone persistence and revisit tracking
After a zone is created, the script tracks whether price later trades back into it. That first interaction is important because it provides the data needed to evaluate how the revisit behaved.
4) Reaction quality scoring
When price revisits the zone, the script measures the behavior inside a reaction window. The score is based on factors such as entry precision into the zone, the magnitude of rejection away from the zone, structural integrity of the zone during the test, and the strength of the originating impulse. Those components are combined into a normalized score.
5) Grade translation
The raw score is then translated into a visual grade tier. This is meant to improve chart readability and allow faster comparison between zones that produced stronger versus weaker reactions.
6) Breaker conversion
If price invalidates a zone after it has been engaged, the script can treat that structure as a breaker block. This keeps prior structural context on the chart instead of simply removing it.
7) Visual organization
Bullish zones, bearish zones, and breaker structures are displayed with separate color families so users can distinguish standard order block context from post-invalidation context more quickly.
SIGNALS & ALERTS
The script includes alerts for newly detected bullish and bearish order blocks. These alerts are event-based and are intended to mark when a new candidate zone has been identified according to the script’s internal impulse and source-candle rules.
In addition, the visual state of the chart provides three broad categories of information:
- Active bullish or bearish order blocks that remain structurally valid.
- Breaker blocks that represent previously tracked zones after invalidation.
- Quality-scored reactions that help compare the strength of revisits.
These states should be interpreted as structural context, not as standalone trade instructions. A bullish order block on the chart does not guarantee a long setup, and a bearish order block does not guarantee a short setup. The script is designed to help users study reaction behavior around important zones, not to replace execution rules, risk management, or broader market context.
KEY INPUTS
ATR Length
Controls the volatility baseline used in impulse sizing and reaction calculations.
Impulse Size (x ATR)
Defines how large a move must be, relative to ATR, before it is treated as an impulsive displacement event.
OB Search Bars Back
Controls how far back the script looks for the last opposite candle that becomes the source order block.
Zone Mode
Lets the user choose whether zones are based on the full candle range or the candle body only.
Max Zones Tracked
Limits how many zones remain in memory and on the chart.
Zone Max Age (Bars)
Removes older zones after a defined number of bars so the chart does not grow indefinitely cluttered.
Reaction Window (Bars)
Defines the number of bars used to evaluate how price behaves after a zone is revisited.
Zone Extend (Bars)
Controls how far zones project into the future for chart visualization.
Show 50% Midline
Displays an internal midpoint inside the zone for users who want an additional internal reference.
Show Impulse Markers
Shows or hides impulse-origin markers on the chart.
Label Size
Controls the size of chart labels.
Panel Theme / Panel Font Size / Panel Position
These settings control the visual appearance and placement of the information panel.
LIMITATIONS & TRANSPARENCY
Order block analysis is inherently interpretive, and any script that formalizes it must impose strict rules. That means the script’s logic is intentionally selective. It will not match every discretionary order block definition used by every trader.
The script uses a specific rules-based approximation of impulse, source candle selection, revisit handling, and reaction scoring. As a result, some zones that a discretionary analyst might manually highlight will not appear, while some zones shown by the script may not align with every subjective framework.
Reaction quality is also dependent on the configured reaction window and the selected volatility context. Changing settings can change how aggressive or conservative the script becomes. For that reason, the indicator should be treated as a structured analytical model rather than an objective statement of market truth.
Breaker behavior shown by the script reflects the script’s invalidation logic only. It does not imply that a breaker block will necessarily act as support or resistance in the future. It simply preserves structural history after the original order block state is lost.
This indicator does not use volume profile, order flow, DOM data, or external market microstructure feeds. All calculations are derived from chart data available inside Pine Script.
RISK DISCLOSURE
This script is for chart analysis, research, and educational use. It does not provide financial advice, investment recommendations, or guaranteed outcomes.
No indicator can reliably predict future price movement on its own. Order block reactions may fail, clean-looking zones may break, and high scores do not ensure continuation or reversal. Market context, liquidity conditions, volatility regime, timeframe selection, and execution quality all matter.
Users should test settings carefully, apply independent judgment, and use appropriate risk management. This script should be treated as a decision-support tool for studying price interaction around displacement-origin zones, not as a standalone trading system.
Indicator

Indicator

BOS Adaptive Structure Average (Zeiierman)█ Overview
BOS Adaptive Structure Average (Zeiierman) is a structure-aware trend framework that blends market structure logic with an adaptive moving average and directional cloud visualization. Rather than treating all price movements equally, the indicator reacts to confirmed Break of Structure (BOS) and Change of Character (ChoCH) events, using them to dynamically adjust the average's responsiveness and directional bias.
The result is a smoother trend tool that does not rely only on price slope, but also incorporates structural confirmation. Alongside the adaptive average, the script tracks live structural highs and lows, scores their relative strength, and visualizes directional bias through a cloud that expands around the average. This creates a more contextual trend model that helps map both current momentum and active market structure.
█ How It Works
⚪ Structure Engine 1: BOS / ChoCH Detection
The first structure engine identifies pivot highs and pivot lows using a configurable pivot length. Once a pivot is established, the script monitors whether the price breaks above the active high or below the active low.
A break above the tracked high triggers a bullish structural event.
A break below the tracked low triggers a bearish structural event.
Each event is labeled either as:
BOS when it continues the current structural direction
ChoCH when it breaks against the prior structure state and signals a regime shift
This state is stored internally and becomes the foundation for the adaptive behavior of the average.
structText(os, isBull) =>
isBull ? (os == -1 ? "ChoCH" : "BOS") : (os == 1 ? "ChoCH": "BOS")
⚪ Adaptive Average Core
At the center of the indicator is a dynamic average that adjusts its response speed using structure activity.
The script converts BOS events into a directional impulse:
bullish BOS → positive impulse
bearish BOS → negative impulse
This impulse is smoothed into:
bosAct = activity strength
bosBias = directional pressure
Those values control how quickly the average reacts and how strongly it gets pushed in the active structure direction. When the structure activity is quiet, the average behaves more slowly. When structure becomes active, it accelerates and leans into the prevailing directional break.
bosImp = bullBos1 ? 1.0 : bearBos1 ? -1.0 : 0.0
bosAct = ta.rma(math.abs(bosImp), 20)
bosBias = ta.rma(bosImp, 20)
alpha = aSlow + (aFast - aSlow) * bosAct
This produces a trend line that is both smoother than the raw price and more structurally aware than a standard moving average.
⚪ Multi-Speed Internal Average Stack
The adaptive average is not built from just one line. Internally, the script calculates five related adaptive components using different multipliers, creating a fast-to-slow response stack around the same structural core.
⚪ Structure Midpoint Anchoring
To keep the average tied to evolving market structure rather than drifting too freely with price, the script also uses the midpoint between the current active structure high and low as an anchor.
This midpoint acts as a stabilizing force. When the structure is well-defined, the internal averages are gently pulled back toward the structural center, helping the line remain more aligned with the active price framework.
mid = na(hi1) or na(lo1) ? na : (hi1 + lo1) / 2.0
anchW = 0.20 * bosAct
⚪ Live High / Low Structure Strength Model
The second structure engine tracks broader live highs and lows using a separate pivot length. These are not plotted as static levels — the script scores them based on the sequence of BOS and ChoCH events generated by Structure Engine 1.
Weights used in the current code:
ChoCH = 1
BOS = 3
These points are accumulated into bullish and bearish buckets for both the live high and live low. The net values are then translated into simple strength labels:
Weak
Medium
Strong
This creates a live read on whether the current high is stronger resistance or the current low is stronger support.
So the indicator is not only tracking structure breaks, but also maintaining a running estimate of how structurally strong the current high and low levels are.
⚪ Directional Cloud Model
This version uses a layered cloud derived from the adaptive average.
The main adaptive line is b3. That line is smoothed and then compared to a short EMA reference of hlc3 to create intermediate cloud layers between the adaptive line and the reference line. This produces a graded visual zone that reflects both slope and price relationship.
█ How to Use
⚪ Follow Trend Bias Through the Adaptive Average
Use the main adaptive line and cloud to quickly read market direction:
Bullish cloud + rising average → uptrend
Bearish cloud + falling average → downtrend
Flat, mixed, or narrow cloud → consolidation/indecision
Because the average reacts to structure (BOS/ChoCH) instead of just price movement, it tends to give a clearer trend read than standard moving averages, especially in structurally driven markets.
⚪ Use BOS / ChoCH for Regime Shifts
The BOS and ChoCH labels are useful for identifying when the structure is continuing versus when it is changing character.
ChoCH suggests a meaningful break against prior structure and may indicate an early regime shift.
BOS suggests continuation in the active structural direction
This makes the indicator useful not only for trend following but also for spotting when a prior directional assumption may be weakening.
⚪ Map Live Support and Resistance Strength
The live High / Low lines and their strength labels help frame the current structure map.
A Strong High suggests overhead resistance is being reinforced by bearish structure.
A Strong Low suggests support is being reinforced by bullish structure.
Weak readings suggest the level is less structurally defended.
This can be useful for filtering breakout expectations, fade setups, or risk placement around active market boundaries.
█ Settings
Fast Response Length – Controls how quickly the adaptive average reacts during active structure conditions. Lower values make the fast side of the average more responsive.
Slow Response Length – Controls the baseline smoothness of the adaptive average when structure activity is low. Higher values slow the line down and reduce noise.
BOS Directional Push – Adds directional pressure to the adaptive average using smoothed BOS bias and ATR. Higher values increase directional drift after structural confirmation.
Pivot Length (Structure Engine 1) – Defines how sensitive the BOS / ChoCH engine is. Lower values generate more structure events; higher values focus on broader swings.
Pivot Length (Structure Engine 2) – Defines the broader live high/low structure map. Higher values create more stable but less reactive levels.
-----------------
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

CandelaCharts - Killzone Opening📝 Overview
The CandelaCharts - Killzone Opening indicator is designed to highlight the initial price ranges of key trading sessions. By visualizing the "Opening" vs the "Full Killzone", it helps traders identify institutional interest and potential breakout or mean-reversion levels that often form during the start of a session.
📦 Features
5 Customizable Sessions : Pre-configured for Asia (AS), London (LO), NY AM, NY Lunch (NYLA), and NY PM.
Dual Window Logic : Separate inputs for the "Opening" window (where the range is defined) and the "Full Killzone" (where the range lines extend).
Extend Modes : Choose how far your range lines project:
Killzone : Extends to the end of the current session's full window.
Next Killzone : Extends until the next session begins.
Current Candle : Extends indefinitely to the latest bar.
Visual Range Lines : Automatically plots High, Low, and Mid-point lines for every opening session.
Session History : Keep up to 100 previous sessions on your chart for historical analysis.
Session Dividers : Clean vertical lines to demarcate session starts with customizable styles.
⚙️ Settings
General : Configure global font family and text size for branding.
Timezone : Set the base timezone (default: America/New_York).
Extend : Global setting for how far range lines should project across the chart.
Session Range : Toggle the High/Low/Mid lines.
Show Labels : Toggle the visibility of the session name on the chart.
History : Number of previous sessions to retain on the chart.
Session Inputs (1-5) :
Show : Toggle individual sessions.
Color : Personalize the session's visual theme.
Name : Short label for the session.
Opening : The specific time window used to calculate the session's High/Low range.
Killzone : The full duration of the session.
Dividers : Toggle and style the vertical session start lines.
⚡️ Showcase
Opening Ranges
Extended Lines
🚨 Alerts
Session KZ Open : Triggered immediately when any configured session's opening window begins.
⚠️ Disclaimer
Trading involves significant risk, and many participants may incur losses. The content on this site is not intended as financial advice and should not be interpreted as such. Decisions to buy, sell, hold, or trade securities, commodities, or other financial instruments carry inherent risks and are best made with guidance from qualified financial professionals. Past performance is not indicative of future results.
Indicator

AG Pro Fair Value Gap Engine [AGPro Series]AG Pro Fair Value Gap Engine
OVERVIEW / WHAT IT DOES
AG Pro Fair Value Gap Engine is a rules-based overlay built to detect 3-bar fair value gap structures and organize them as a living imbalance map on the chart.
The script identifies bullish fair value gaps when the current low is above the high from two bars earlier, and bearish fair value gaps when the current high is below the low from two bars earlier. Once detected, each zone is stored, rendered, tracked through time, and updated as price interacts with it.
Instead of stopping at basic FVG detection, this script continues to follow the structure after creation. It monitors whether the gap remains active, whether price returns into it, whether mitigation occurs, how old the structure has become, and how strong or weak that mitigation event appears relative to the gap itself.
The result is not just a visual list of imbalances. It is an FVG lifecycle model designed to help traders distinguish between fresh gaps, aging gaps, mitigated gaps, and higher-quality mitigation events.
UNIQUE EDGE
Many fair value gap tools simply highlight every detected gap and leave the user to interpret the rest.
This script is built around a different idea:
not all FVGs deserve the same attention, and not every mitigation event carries the same informational value.
AG Pro Fair Value Gap Engine separates itself by combining detection, aging, prioritization, mitigation tracking, and scoring in a single structured workflow. Gaps are not treated as static rectangles. They are treated as evolving chart objects with a lifecycle.
Within the AG Pro Series, this script is also distinct from breakout-quality, reclaim, rotation, pressure, or acceptance-style overlays. Those models focus on trend behavior, reclaim behavior, structural confirmation, momentum pressure, or price acceptance around a reference. This one is centered on imbalance structure itself: where the 3-bar gap formed, how long it stayed relevant, whether price returned, and how credible that mitigation looked once interaction happened.
In practical terms, the script is designed to answer questions such as:
Which FVGs are still active?
Which ones are becoming stale?
Which mitigation events happened with better quality?
Which visible zones are worth keeping in focus, and which are just legacy context?
That is the core difference. This is not a generic FVG highlighter. It is an imbalance-ranking and mitigation-quality engine.
METHODOLOGY
1) Detection Logic
The script scans for standard 3-bar fair value gap structures.
Bullish FVG:
current low > high from two bars back
Bearish FVG:
current high < low from two bars back
A minimum size filter relative to ATR is applied so that very small gaps can be ignored when desired.
2) Structure Tracking
After detection, each FVG is stored and tracked over time. The script keeps the zone on the chart, extends active zones forward when enabled, and updates their visual state as the market evolves.
This allows the chart to preserve the structural memory of imbalance zones instead of treating every new gap as an isolated event.
3) Aging and Visual Decay
Older gaps gradually lose visual priority through fade logic. This helps newer or more relevant structures stay readable while old zones move into the background.
Optional controls can also suppress distant legacy zones when they become both old and far from current price.
4) Mitigation Logic
The script monitors how deeply price returns into each gap. When the user-defined mitigation threshold is reached, the FVG is marked as mitigated.
Mitigated zones can remain visible as context or be hidden for a cleaner chart, depending on preference.
5) Quality Scoring
Mitigation is not treated as a simple yes/no event. The script evaluates mitigation quality using a weighted model that includes:
- Gap size relative to ATR
- Speed of return into the zone
- Relative volume during the mitigation event
- Return strength after contact with the gap
This produces a normalized score intended to help separate weaker fills from stronger, better-formed mitigation behavior.
6) Focus and Prioritization
To reduce chart noise, the script includes focused labeling, active-zone prioritization, top-zone filtering, and legacy suppression logic.
This means the visual output can be tuned away from “show everything” and toward “show what matters most.”
SIGNALS & ALERTS
This script provides alert conditions for:
- Newly detected bullish fair value gaps
- Newly detected bearish fair value gaps
- Bullish fair value gaps reaching mitigation
- Bearish fair value gaps reaching mitigation
These alerts are event-based and rules-based. They are not forecasts, predictions, or trade instructions.
The labels and panel are designed to summarize state, not to replace the user’s broader market process.
KEY INPUTS
Core Settings
- Minimum FVG Size (ATR)
- Mitigation Threshold (%)
- Maximum Tracked FVG Count
- Age Fade Length
- Extend Active FVG Boxes
Scoring Engine
- Speed Score Reference
- Volume Score SMA Length
- Volume Score Max Ratio
- Size Score Max ATR
Visual Settings
- Show FVG Labels
- Focused Label Mode
- Focused Label Minimum Score
- Active / Mitigated Label Age Limits
- Highlight Score Threshold
- Theme Preset
- Show Mitigated Zones
- Show Mitigated Zone Labels
- Label Horizontal Offset
- Hide Distant Legacy FVGs
- Legacy Hide Age
- Legacy Hide Distance
- Show Only Top Active Zones
- Top Active Zones Count
- Label Stack Spacing
Panel Settings
- Show Panel
- Panel Position
- Panel Font Size
These controls allow the same logic to be used in a more information-dense mode or in a much cleaner presentation mode, depending on the charting style of the user.
LIMITATIONS & TRANSPARENCY
This script detects and organizes 3-bar imbalance structures. It does not claim to identify every meaningful liquidity event, order-flow shift, or broader smart money context factor on its own.
A fair value gap can remain open for a long time, fail quickly, or be revisited multiple times. A high score does not guarantee a directional outcome. A low score does not automatically invalidate the zone as context.
The mitigation score is a structured ranking model, not an objective truth about future price behavior. It is designed to help compare events inside the framework of this script.
Because chart structure, volatility, timeframe, and instrument behavior vary, users should expect different FVG densities and different score distributions across markets.
This tool is best used as a market-organization layer for imbalance analysis, not as a standalone execution system.
RISK DISCLOSURE
AG Pro Fair Value Gap Engine is an analytical charting tool for educational and informational use.
It does not provide financial advice, does not promise outcomes, and should not be interpreted as a standalone buy or sell system. Fair value gaps, mitigation events, and score readings should be evaluated together with market structure, volatility, timeframe context, liquidity conditions, and the user’s own risk framework.
Trading involves risk. Past chart behavior does not guarantee future results.
Indicator
