INVITE-ONLY SCRIPT

ICT Ultimate [KTY]

206
ICT Ultimate [KTY]

All 12 core ICT features in one indicator,
with a preset system and multi-timeframe dashboard
built for top-down analysis.

This script is an integrated, enhanced version built on
the following 12 open-source ICT indicators I previously published:

  • ICT Order Block [KTY]
  • ICT Fair Value Gap [KTY]
  • ICT Liquidity Zone [KTY]
  • ICT Market Structure [KTY]
  • ICT Premium & Discount [KTY]
  • ICT OTE [KTY]
  • ICT BPR [KTY]
  • ICT Rejection Block [KTY]
  • ICT Supply & Demand [KTY]
  • ICT Kill Zone [KTY]
  • ICT HTF Candles [KTY]
  • ICT Trend Candles [KTY]


Each feature shares its core concept with the open-source version,
but logic has been optimized and features have been interconnected
throughout the integration process.
Changes from each open-source version are documented in the sections below.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🔑 Key Features

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▶ Adaptive Preset System

ICT top-down analysis calls for different feature sets at each timeframe.
The preset system switches all 12 features on or off
with a single click.

6 Presets: Daily / 4H / 1H / 15m / 5m / Basic

  • Daily — OB, Liq, FVG, BPR, P&D, OTE, MS(Internal), S&D
  • 4H — OB, Liq, FVG, BPR, P&D, OTE, MS(Internal)
  • 1H — OB, Liq, FVG, MS(All), HTF Candles
  • 15m — FVG, KZ, MS(External), Rejection Block, HTF Candles
  • 5m — FVG, KZ, MS(External), Rejection Block, HTF Candles
  • Basic — OB, Liq, FVG


Presets are guidelines — use Custom mode for full manual control.
Presets do not auto-switch your chart timeframe.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

▶ Multi-Timeframe Dashboard

Each timeframe's data is calculated independently
via separate request.security() calls and displayed in a single panel.

  • Market Structure — Internal/External trend across D/4H/1H/15m/5m
  • HTF Candles — Direction + close countdown
  • P&D — Current Premium/Equilibrium/Discount status
  • Kill Zone — Currently active session


From any timeframe, one glance at the dashboard shows you
HTF/LTF trend alignment, P&D position, and active kill zones.

The dashboard works independently of each feature's on/off state.
Position and size are adjustable in settings.

快照

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

📋 Feature Guide & Changes

Most features allow individual color customization in settings.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

快照

✅ Order Block

1️⃣ Concept
In ICT, an Order Block is a price zone where institutions (smart money)
built large positions.

The last bearish candle before a strong rally forms a Bullish OB.
The last bullish candle before a strong drop forms a Bearish OB.
These zones tend to act as support/resistance when price revisits them.

2️⃣ How It Works
Pivot points are detected based on the configured Swing Length,
and the opposite candle just before a swing break is identified as an OB.

An ATR-based size filter removes oversized OBs.
Volume at the time of formation is split upper/lower
to calculate an imbalance ratio (%).
When an OB is fully penetrated, it converts into a Breaker Block.

3️⃣ Usage
Bullish OBs are shown as green boxes, Bearish OBs as red boxes.
Inside each box, Vol: (volume) and the imbalance ratio (%) are displayed,
with a split volume bar visualizing the buy/sell ratio.
A lower ratio indicates stronger one-sided order flow.

Body Lines (dotted) mark the OB candle's open/close levels —
useful as precision entry references.
OBs that overlap with other features form confluence, adding reliability.

Two timeframes (LTF/HTF) can be displayed at once.
Bullish/Bearish OB count is adjustable from 1 to 10 each.
Breaker Block display can be toggled separately.

4️⃣ Changes from Open Source
ATR-based OB size filtering has been recalibrated for the integrated environment.
Automatically activated by presets at the appropriate analysis stage.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✅ Supply & Demand

1️⃣ Description
Automatically plots horizontal support/resistance zones at swing points.
Swing highs become Supply Zones, swing lows become Demand Zones.

2️⃣ Usage
Supply Zones are red boxes with a SUPPLY ⬇ label.
Demand Zones are green boxes with a DEMAND ⬆ label.
A dotted midline runs through the center of each zone.

Zones are auto-removed when price breaks through.
S&D zones that overlap with other features carry more weight.

Supply/Demand count is individually adjustable.

3️⃣ Changes from Open Source
Volatility-based coefficients for zone height
have been refined for timeframe-specific behavior.
Automatically activated by presets at the Daily stage.
Zone count is now adjustable in settings (open-source was fixed at 1).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

快照

✅ Fair Value Gap

1️⃣ Concept
In ICT, a Fair Value Gap is an imbalance zone created
when price moves sharply in one direction.

It occurs where the ranges of the 1st and 3rd candles
in a 3-candle sequence don't overlap.
Price tends to return to fill this imbalance.

2️⃣ How It Works
The gap between the 1st candle's high and the 3rd candle's low
is detected as a Bullish FVG — and vice versa for Bearish.
Only valid when the middle candle shows strong directional momentum.

A minimum size threshold filters out noise.
Once price fully fills an FVG, it's treated as mitigated
and may then act as an IFVG (Inverse FVG) for opposite-direction setups.

3️⃣ Usage
Bullish FVGs appear as green boxes, Bearish FVGs as red boxes,
with the timeframe and "FVG" label inside (e.g., 15 FVG).

The Centerline (CE) is a gray dashed line at the 50% mark —
the most common reaction level within an FVG.
Mitigated FVGs become IFVGs that feed into BPR detection.
FVGs overlapping with other features provide stronger reaction evidence.

Two timeframes (LTF/HTF) can be displayed at once.
Bullish/Bearish FVG count is individually adjustable.
Mitigated FVG display can be toggled on/off.

4️⃣ Changes from Open Source
IFVG state management after mitigation has been added,
linking directly to BPR overlap detection.
Minimum size thresholds have been refined for market volatility.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✅ Balanced Price Range

1️⃣ Concept
In ICT, a BPR (Balanced Price Range) is the overlap
between a Bullish FVG and a Bearish FVG.

Opposing imbalances cancel out, creating an equilibrium zone
that tends to produce strong reactions once direction is decided.

2️⃣ How It Works
When a new FVG is detected, it's checked for overlap
with existing opposite-direction FVGs by price and time.
If overlap exists, a BPR zone is created.

The FVG lifecycle (active → mitigated/IFVG → BPR) is managed
as an integrated system. BPR invalidation is tracked independently
from the original FVG.

3️⃣ Usage
Bullish BPR is a green box, Bearish BPR is a red box,
with a dotted border and BPR label.

BPR is invalidated when price pushes through.
BPR overlapping with other features adds stronger reaction evidence.

Bullish/Bearish BPR count is individually adjustable.
Mitigated BPR display can be toggled on/off.

4️⃣ Changes from Open Source
FVG lifecycle is managed as a unified system in the integrated environment.
BPR invalidation is tracked independently from the source FVG,
with retest detection alerts supported.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

快照

✅ Liquidity Zone

1️⃣ Concept
In ICT, Liquidity refers to clusters of stop-losses
sitting around swing highs and lows.

Liquidity above swing highs is BSL (Buyside Liquidity).
Liquidity below swing lows is SSL (Sellside Liquidity).

Smart money drives price into these levels to trigger stops
and absorb liquidity, then reverses in its intended direction.

When a wick pierces a liquidity level but the candle closes back inside,
that's a Liquidity Sweep — one of the strongest reversal signals.

2️⃣ How It Works
Pivot highs/lows within the lookback period are registered as liquidity levels.
Up to 50 levels per type are tracked in a pool.
When price interacts with a level, the close position determines
whether it's a sweep (wick through, close inside) or a breakout (close outside).

LTF and HTF levels each run their own independent tracking pool.

3️⃣ Usage
BSL appears as a red box with 💰 Buyside Liquidity text.
SSL appears as a green box with 💰 Sellside Liquidity text.
HTF levels include a timeframe prefix (e.g., (D) 💰 Buyside Liquidity).

When a sweep is detected, you'll see a dotted horizontal connector (level → sweep candle),
a vertical line highlighting the sweep candle's wick, a circle marker,
and a Sweep label with direction arrow (⇩/⇧).
The key signal is price reversal right after a sweep.
Cross-referencing with other features improves reliability.

Two timeframes (LTF/HTF) can be displayed at once.
BSL/SSL count is individually adjustable.
Mitigated Liquidity can be set to Remove or Show.

4️⃣ Changes from Open Source
The open-source version only detects liquidity levels and breaks.
This version adds a Sweep detection system based on close position analysis,
distinguishing sweeps from breakouts.
Sweeps display a dotted horizontal connector, a wick highlight line, a circle marker,
and a Sweep label with direction arrow (⇩/⇧).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✅ Rejection Block

1️⃣ Concept
In ICT, a Rejection Block is a zone where a long-wicked candle
at a pivot point rejected price.

It's evidence that buying or selling pressure was firmly shut down,
and price tends to react when it comes back to that area.

2️⃣ How It Works
Pivot points are detected within the lookback period.
If a candle's wick exceeds an ATR-based threshold,
it qualifies as a Rejection Block.

A long lower wick = Bullish RjB (support).
A long upper wick = Bearish RjB (resistance).

3️⃣ Usage
Bullish RjBs are green gradient boxes, Bearish RjBs are red gradient boxes.
Labels follow the format ⚡ (timeframe) Rj-B price (e.g., ⚡ (15) Rj-B 97,234.5).

RjBs inside kill zones are more reliable.
Overlap with other features creates a high-conviction reaction zone.

Two timeframes (LTF/HTF) can be displayed at once.
RjB count is adjustable.
Mitigated RjB display can be toggled on/off.
RjB is invalidated when price pushes through.

4️⃣ Changes from Open Source
Automatically activated by presets at the 15m/5m stage.
Minor parameter adjustments applied for the integrated environment.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

快照

✅ Market Structure

1️⃣ Concept
In ICT, Market Structure reads trend direction and turning points
through swing high/low patterns.

CHoCH (Change of Character) is the first signal that a trend may be shifting.
BOS (Break of Structure) confirms continuation in the new direction.

2️⃣ How It Works
Two independent swing detection algorithms run in parallel:
Internal (shorter lookback) and External (longer lookback).

When price closes beyond a previous swing point,
it's classified as CHoCH or BOS based on the prior break direction.

When highs or lows repeat at the same level within an ATR threshold,
they're flagged as EQH (Equal Highs) / EQL (Equal Lows) —
marking concentrated liquidity.

3️⃣ Usage
Bullish breaks show in green, Bearish in red.
Internal labels are lowercase (choch, bos).
External labels are uppercase (CHOCH, BOS) —
so you can tell the structure level at a glance.

When CHoCH appears, a trend shift may be underway.
When BOS follows, the new direction is confirmed.
Check HTF direction first, then time entries with LTF CHoCH/BOS.

Structure Type: INTERNAL / EXTERNAL / ALL / NONE.
EQH/EQL display toggles separately.
Swing Point labels (HH/HL/LH/LL) can also be toggled.

4️⃣ Changes from Open Source
Multi-timeframe independent calculations were added for the dashboard.
Each of D/4H/1H/15m/5m gets its own request.security() call,
feeding structure data directly into the dashboard.
Swing detection sensitivity parameters have been recalibrated.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✅ Trend Candles

1️⃣ Description
Candle colors shift automatically based on Market Structure direction.

2️⃣ Usage
The Bullish color (default green) and Bearish color (default red)
from your Market Structure settings are applied to all candles.

After a bullish structure break, candles paint in the Bullish color.
After a bearish structure break, they switch to the Bearish color.
Since the color flip matches the structural shift,
you can read trend direction across the entire chart by color alone.

Choose between INTERNAL or EXTERNAL structure type.
Internal reacts faster off short-term structure.
External gives a smoother read off long-term structure.

3️⃣ Changes from Open Source
The open-source version uses its own color inputs.
This version auto-syncs with the Market Structure module's colors
for visual consistency across features.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

快照

✅ Premium & Discount

1️⃣ Concept
In ICT, Premium & Discount tells you whether current price
sits in overvalued (Premium) or undervalued (Discount) territory
relative to the swing range.

Above the 50% Equilibrium line is Premium; below is Discount.
Smart money tends to buy in Discount and sell in Premium.

2️⃣ How It Works
The highest high and lowest low within the lookback period
define the swing range.

The upper half is marked Premium, the lower half Discount,
and the midpoint is Equilibrium.
The lookback window auto-adjusts by timeframe.

3️⃣ Usage
Premium zones have a red background with a Premium label.
Discount zones have a green background with a Discount label.
Equilibrium is a gray dashed line with an Equilibrium label.
Each label includes a timeframe prefix (e.g., 15 Premium).

On the dashboard: 🔴 Premium, 🟡 Equilibrium, 🟢 Discount.

Look for buys in Discount and sells in Premium.
When other features land inside a Discount or Premium zone,
confluence forms and reliability increases.

Two timeframes (LTF/HTF) can be displayed at once.

4️⃣ Changes from Open Source
Timeframe-specific lookback window auto-adjustment has been applied.
Zone status feeds into the dashboard in real time.
Automatically activated by presets at the appropriate analysis stage.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

✅ OTE (Optimal Trade Entry)

1️⃣ Concept
In ICT, OTE is the Fibonacci zone that offers
optimal entry timing on pullbacks with the trend.

The 61.8%–79% retracement area is the OTE zone,
with 70.5% as the key reaction level.

In uptrends, this zone tends to hold as support on dips.
In downtrends, it tends to cap bounces as resistance.

2️⃣ How It Works
When a high forms after a swing low, an uptrend is identified
and the 70.5% retracement is plotted as OTE support.

When a low forms after a swing high, a downtrend is identified
and the 70.5% retracement is plotted as OTE resistance.

3️⃣ Usage
Uptrend OTE shows as a green line with an OTE (price) label.
Downtrend OTE shows as a red line with an OTE (price) label.
Timeframe is included in the label (e.g., 15 OTE (97,234.5)).

Watch for reactions when price reaches the OTE level.
Overlap with other features tends to boost reaction probability.
Pullbacks that fall short of OTE may signal weak retracements.

Two timeframes (LTF/HTF) can be displayed at once.

4️⃣ Changes from Open Source
Direction detection is tied to Market Structure swing data,
allowing faster updates on trend changes.
Automatically activated by presets at the appropriate analysis stage.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

快照

✅ Kill Zone

1️⃣ Concept
In ICT, Kill Zones are the opening hours of major financial centers —
when institutional activity is at its peak.

Liquidity concentrates in these windows,
and the day's defining moves tend to start here.

2️⃣ How It Works
4 sessions are tracked (UTC, DST Off):
  • AS KZ (Asian): 01:00–03:00 — Low volatility, range formation
  • LDN KZ (London): 07:00–10:00 — European open, liquidity surge
  • NY KZ (New York): 12:00–15:00 — US/Europe overlap, strongest moves
  • LDN CL KZ (London Close): 15:00–17:00 — London close, position unwinding

With DST On, each session shifts 1 hour earlier.

3️⃣ Usage
Kill zones appear as boxes spanning the session's high/low range.
AS KZ is orange, LDN KZ / LDN CL KZ are teal, NY KZ is blue,
with session names labeled at the center.

Colored squares and labels at the bottom of the chart
show which kill zone is currently active.

Signals from other features carry more weight inside a kill zone.
Watch for Asian range breakouts during London and New York sessions.

Market Hours ON adds full session overlays (AS MKT, LDN MKT, NY MKT).
Show Latest Data Only: ON for today only, OFF for the past 7 days.
Daylight Saving Time toggle covers US Eastern DST (March–November).
Only displays on 15m or lower timeframes — a notice appears otherwise.

4️⃣ Changes from Open Source
Active session status is shown on the dashboard in real time.
Automatically activated by presets at the 15m/5m stage.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

快照

✅ HTF Candles

1️⃣ Description
Displays higher-timeframe candles in real time on the right side of your chart.

2️⃣ Usage
Two timeframes can run simultaneously (e.g., 4H + 1D).
Candle count per timeframe is adjustable.
Bullish candles are green, Bearish candles are red.

OHLC updates live.
Trace Lines show where current price sits relative to HTF levels.
A close countdown timer helps you time decisions around HTF candle closes.

3️⃣ Changes from Open Source
Candle direction and close timer feed into the dashboard.
Automatically activated by presets at the 1H/15m/5m stage.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🔄 Top-Down Workflow Guide

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

STEP 1. Direction (Daily)
Check D/4H trend on the dashboard.
Mark key zones with OB, Liquidity, S&D.
Locate current price within P&D.

STEP 2. Setup (4H)
Confirm 4H trend aligns with Daily.
Identify key OB/FVG/OTE zones.

STEP 3. Zone Approach (1H)
Confirm price has reached an HTF key zone.
Monitor higher-timeframe flow with HTF Candles.

STEP 4. Entry (15m/5m)
Wait for CHoCH/BOS inside a Kill Zone.
Enter on reactions at an FVG or Rejection Block.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🔔 40+ Alert Conditions

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

OB creation/touch, Liquidity sweep/break, FVG detection/mitigation,
BPR detection/retest, P&D zone entry, OTE touch, Kill Zone start,
CHoCH/BOS (Internal/External), EQH/EQL,
Rejection Block detection, S&D detection/break, HTF candle start

Setup: ALT + A → Select 【ICT Ultimate】💰 → Create alert

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Code Source

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

The open-source scripts listed above were developed
and published by me to the community.

This script builds on top of those with logic optimization
and inter-feature integration applied.
The preset system, multi-timeframe dashboard, and Liquidity Sweep detection
were additionally implemented during consolidation.
Detailed changes per feature are documented in the sections above.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Limitations

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  • Kill Zones only display on 15-minute or lower timeframes
  • All request.security() calls use barmerge.lookahead_off


━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

⚠️ Disclaimer

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

This indicator is an analysis tool, not a trade signal service.
Default settings are a starting point — not optimized for any specific market.
Past zone reactions do not guarantee future reactions.
No profits or specific outcomes are promised.
All trading decisions and associated risks are the user's responsibility.

免责声明

这些信息和出版物并非旨在提供,也不构成TradingView提供或认可的任何形式的财务、投资、交易或其他类型的建议或推荐。请阅读使用条款了解更多信息。