Apex ICT Delivery & Session Flow ProDescription
The Apex ICT Delivery & Session Flow Pro is a high-precision technical analysis indicator designed for inner-circle traders who prioritize a clean, institutional-grade chart. This script specializes in identifying real-time liquidity levels and displacement zones while utilizing an automated "Cleanup Engine" to ensure that only the most relevant, unmitigated data remains visible.
Core Functionalities
Multi-Timeframe Displacement Engine: The script scans across multiple timeframes (1m, 5m, 15m, 1H) to identify Fair Value Gaps (FVG) created by high-displacement price action. It automatically plots the FVG boxes and the 50% Consequent Encroachment (CE) line for precise entry and target mapping.
Dynamic Session Liquidity: Automatically identifies and tracks the Highs and Lows of the Asia, London, and New York sessions. These levels are explicitly labeled and extended to act as magnet levels for price or points of liquidity reversal.
CISD (Change in State of Delivery): Visualizes shifts in order flow by marking the opening prices of the last opposite candle when price action confirms a change in delivery state. This provides immediate visual feedback on market sentiment shifts.
NY-Specific VWAP: Features a strict New York Session VWAP that resets daily at the NY open (08:00). This serves as the "Mean" for the session, helping traders identify premium and discount zones specifically within the high-volume New York hours.
The "Clean Chart" Cleanup Engine: Unlike standard indicators that clutter the screen with historical data, this script features an intelligent removal system:
FVGs & Order Blocks: Automatically deleted once price trades through them or if they move too far from current price (Proximity Filter).
Broken Session Levels: Highs and Lows are instantly removed once they are breached by price.
Temporal Decay: CISD markers are automatically cleared after 20 candles to keep the focus on immediate delivery.
Fvg
Apex ICT: Proximity & Delivery FlowThis indicator is a specialized ICT execution tool that automates the identification of Order Blocks, Fair Value Gaps, and Changes in State of Delivery (CISD). Unlike standard indicators that clutter the screen, this script uses a Proximity Logic Engine to ensure you only see tradeable levels. It automatically purges old data (50-candle CISD limit) and deletes mitigated zones the moment they are breached, leaving you with a clean, institutional-grade chart.
Apex ICT: Proximity & Delivery FlowSimple Description: This indicator is a specialized ICT execution tool that automates the identification of Order Blocks, Fair Value Gaps, and Changes in State of Delivery (CISD). Unlike standard indicators that clutter the screen, this script uses a Proximity Logic Engine to ensure you only see tradeable levels. It automatically purges old data (50-candle CISD limit) and deletes mitigated zones the moment they are breached, leaving you with a clean, institutional-grade chart.
ICT CISD+FVG+OBThis script is a high-performance ICT suite designed for traders who want a professional, "noise-free" chart. It identifies core institutional patterns—Order Blocks, Fair Value Gaps, and Changes in State of Delivery (CISD)—across multiple timeframes.
The script features a proprietary Proximity Cleanup Engine that automatically deletes old or broken levels, keeping your workspace focused only on price action that is currently tradeable. It strictly follows directional delivery rules for CISD and includes a 50-candle "freshness" limit to ensure you never have to manually clear old data from your past bars.
Core Features
Intelligent CISD: Only triggers Bullish CISD on green candles and Bearish CISD on red candles.
Proximity Filter: Automatically wipes away any levels that are "miles away" from the current price.
Clean Workspace: Removes broken session highs/lows and mitigated zones instantly.
Full Customization: Toggle visibility and colors for every component via the settings menu.
ICT Entry V1 [TS_Indie]📌 Description – ICT Entry V1
This trading system is based on price action, combined with FVG, iFVG, and liquidity, and it uses the mechanism from the indicator “Smallest Swing ” to validate swings that become liquidity.
⚙️ Core Logic & Working Mechanism
I won’t explain FVG in detail, as most traders are already familiar with it.
Let’s focus on the mechanism of iFVG instead.
The concept of iFVG is based on a supply-to-demand flip and a demand-to-supply flip within an FVG zone.
For an iFVG to be confirmed, the candle close must break through the FVG.
A wick alone does not count as a valid iFVG confirmation.
The confirmation of market structure swings uses a pivot length mechanism combined with price action.
It validates a swing by detecting a structure break formed by candles making new highs or new lows.
📈 Buy Setup
1.Liquidity sweep on the demand side, with price closing above the liquidity level.
2.A demand zone is formed as FVG and iFVG, where iFVG is located above FVG.
3.The gap between the upper box of FVG and the lower box of iFVG must be within the defined Min and Max range.
4.Market Structure must be in a Bullish trend.
5.Place a Pending Order at the upper box of FVG and set Stop Loss at the lower box of FVG (Entry and Stop Loss can be adjusted using Entry Zone and ATR-based Stop Loss).
📉 Sell Setup
1.Liquidity sweep on the supply side, with price closing below the liquidity level.
2.A supply zone is formed as FVG and iFVG, where iFVG is located below FVG.
3.The gap between the lower box of FVG and the upper box of iFVG must be within the defined Min and Max range.
4.Market Structure must be in a Bearish trend.
5.Place a Pending Order at the lower box of FVG and set Stop Loss at the upper box of FVG (Entry and Stop Loss can be adjusted using Entry Zone and ATR-based Stop Loss).
⚙️ Liquidity Sweep Conditions
➯ When a liquidity sweep occurs on the demand side, the system will start looking for Buy Setup conditions.
➯ When a liquidity sweep occurs on the supply side, the system will immediately switch to looking for Sell Setup conditions.
➯ The system will always prioritize the most recent liquidity sweep and search for setups based on that direction.
➯ The liquidity sweep condition will be invalidated when price closes back below (for demand sweep) or above (for supply sweep) the most recently swept liquidity level.
⭐ Pending Order Cancellation Conditions
A Pending Order will be canceled under the following conditions:
1.A new Price Action signal appears on either the Buy or Sell side.
2.When Time Session is enabled, the Pending Order is canceled once price exits the selected session.
🕹 Order Management Rule
When there is an active open position, the indicator restricts the creation of new Pending Orders to prevent overlapping positions.
⚠️ Disclaimer
This indicator is designed for educational and research purposes only. It does not guarantee profits and should not be considered financial advice. Trading in financial markets involves significant risk, including the potential loss of capital.
🥂 Community Sharing
If you find parameter settings that work well or produce strong statistical results, feel free to share them with the community so we can improve and develop this indicator together.
ICT Concepts [Kodexius]ICT Concepts is an all in one, chart overlay toolkit that combines several widely used ICT style components into a single, modular workflow. It is designed to help you map higher timeframe context, track directional structure, and refine execution areas with imbalance and liquidity concepts, without turning the chart into a cluttered drawing board.
Instead of plotting everything indefinitely, each module focuses on “live relevance” and chart readability. Zones, lines, and labels are managed with sensible limits so the most recent and most meaningful structures remain visible while older objects are automatically retired.
Because the system is modular, you can run it like a complete toolkit:
- Use multi timeframe Order Blocks to define high probability zones
- Use Market Structure (BOS and MSS) for bias and context
- Validate intent with SMT Divergence when you want intermarket confirmation
- Refine with Imbalances (FVG, BPR, CE) and Liquidity Sweeps
- Add timing structure via Killzones and risk structure via auto Fibonacci
🔹 Features
🔸 Multi Timeframe Order Blocks (3 candle displacement OB)
The OB engine detects a strict 3 candle displacement sequence (bull and bear) and projects the “order block candle” as a forward extending zone. Detection can run on the chart timeframe or on a user selected higher timeframe and then be displayed on your execution chart.
🔸 Overlap Control
Before adding a new OB, the script checks overlap against existing zones of the same direction. If a new zone intersects an existing one, it is ignored to reduce redundant stacking in the same price area.
🔸 Automatic Extension and Mitigation for Order Blocks
OB zones extend forward on every bar and are removed once mitigation is confirmed. Mitigation is evaluated by close breaking decisively beyond the relevant boundary:
- Bullish OB mitigates when close prints below the OB bottom
- Bearish OB mitigates when close prints above the OB top
🔸 Market Structure (BOS and MSS)
Market Structure is built from swing pivots using a configurable pivot length. When price closes through the latest swing, the script prints a structure event:
BOS (Break of Structure) for continuation
MSS (Market Structure Shift) for a directional change
To keep the chart readable, older structure drawings are capped by history limits.
🔸 SMT Divergence with optional mini panel
SMT can compare the current instrument with a user selected symbol to highlight divergence at swing points. A divergence is flagged when one market makes a new swing extreme while the other fails to confirm.
Optional: a compact right side “compare symbol” candle panel can be enabled so you can visually confirm what the secondary market is doing without leaving the chart.
🔸 Imbalances: FVG, BPR, and CE modes
You can choose between three imbalance views depending on your style:
FVG mode: Fair Value Gaps are plotted as extending zones
CE mode: Consequent Encroachment is visualized using a midpoint line and a half zone fill
BPR mode: Balanced Price Range is formed when a new FVG overlaps an opposing FVG, producing a “balanced” region that often behaves differently than a standalone gap
🔸 Automatic extension, limits, and mitigation for imbalances
Imbalance objects extend forward until mitigated. Mitigation uses wick based logic:
Bullish imbalance mitigates when price wicks below the zone bottom
Bearish imbalance mitigates when price wicks above the zone top
The script also enforces per side limits and removes older items to keep performance stable.
🔸 Liquidity sweeps (buyside and sellside)
The liquidity module tracks swing highs and lows and marks sweep events when price runs the level and then closes back through it, which often behaves like a rejection signal. Sweeps are visualized with a level line plus a small sweep highlight box, with an optional history cap.
🔸 Auto anchored Fibonacci (EQ and OTE focus)
Fibonacci levels are automatically anchored using the most recent structure context so you do not need to manually re draw fibs every time the market evolves. EQ and OTE focused bands are plotted to support common premium discount style workflows, with optional extra levels if desired.
🔸 Killzones (session boxes with optional range tracking)
Asian, London Open, New York AM, and New York PM killzones can be displayed using UTC-5 session definitions. Session boxes dynamically expand as new highs and lows are formed during the session, and historical zones can be retained up to a user set count. Rendering is restricted to intraday timeframes up to 60 minutes for clean scaling and performance.
🔹 Calculations
1) Order Block detection (3 candle displacement)
The OB pattern is defined inside detectLogic() . The zone boundaries always come from candle (the middle candle of the 3 candle sequence).
detectLogic() =>
bool isBull = open > close and close > open and close > open and low < low and close > high
bool isBear = open < close and close < open and close < open and high > high and close < low
[isBull, high , low , time , isBear, high , low , time ]
Interpretation (bullish side):
Candle is bearish
Candle is bullish (the OB candle)
Current candle is bullish and closes above high
low undercuts low to form the sweep style condition
Bearish logic is the mirrored inverse.
2) Multi timeframe projection and duplicate control
If the timeframe input is set, detections are computed on that timeframe and projected onto the current chart using request.security . A last processed time check prevents duplicate prints.
=
request.security(syminfo.tickerid, i_tf, detectLogic())
var int lastBullTime = 0
var int lastBearTime = 0
if mtf_isBull and mtf_bullTime != lastBullTime
lastBullTime := mtf_bullTime
if mtf_isBear and mtf_bearTime != lastBearTime
lastBearTime := mtf_bearTime
3) OB overlap validation and mitigation
Overlap is checked before pushing a new zone, then zones are extended and removed once mitigated by close.
method hasOverlap(array OBs, float top, float bottom) =>
bool overlap = false
if OBs.size() > 0
for i = 0 to OBs.size() - 1
OB item = OBs.get(i)
if (top < item.top and top > item.bottom) or (bottom > item.bottom and bottom < item.top)
overlap := true
break
overlap
method isMitigated(OB this, float currentClose) =>
this.isBull ? (currentClose < this.bottom) : (currentClose > this.top)
4) Market Structure: pivots, BOS, and MSS
Swings are derived from pivots; then BOS/MSS prints when price crosses the latest swing. The script tracks trend state to decide whether the break is continuation (BOS) or shift (MSS).
float ph = ta.pivothigh(i_structLen, i_structLen)
float pl = ta.pivotlow(i_structLen, i_structLen)
bool brokenHigh = ta.crossover(close, lastHigh)
bool brokenLow = ta.crossunder(close, lastLow)
// drawStructure(..., "BOS", ...) or drawStructure(..., "MSS", ...) depending on trend state
5) SMT Divergence conditions
SMT uses pivot highs/lows on both instruments. A bearish SMT prints when the main chart makes a higher high but the compare symbol fails to exceed its prior high. A bullish SMT prints when the main chart makes a lower low but the compare symbol fails to make a lower low.
bool bearishSmt = not na(smtAHighPrev) and not na(smtBHighPrev) and (smtAHighLast > smtAHighPrev) and (smtBHighLast <= smtBHighPrev)
bool bullishSmt = not na(smtALowPrev) and not na(smtBLowPrev) and (smtALowLast < smtALowPrev) and (smtBLowLast >= smtBLowPrev)
6) FVG detection, BPR construction, and CE level
FVGs are detected via a classic 3 bar gap condition. When a new FVG overlaps an opposing FVG, the script builds a BPR using the intersecting region. CE is the midpoint (top + bottom) / 2, plotted as a dashed line plus a half fill box.
bool fvgBullDetected = low > high
bool fvgBearDetected = high < low
// CE
float ceLevel = (this.top + this.bottom) / 2
Imbalance mitigation uses wick logic:
method isMitigated(FVG this, float currentHigh, float currentLow) =>
this.isBull ? (currentLow < this.bottom) : (currentHigh > this.top)
7) Liquidity sweep trigger
A sweep is confirmed only when price runs the pivot level and closes back through it (reject style).
bool sweepBull = i_showLiq and not na(liqLastLow) and not liqLastLowSwept and low < liqLastLow and close > liqLastLow
bool sweepBear = i_showLiq and not na(liqLastHigh) and not liqLastHighSwept and high > liqLastHigh and close < liqLastHigh
8) Killzone session mapping
Sessions are defined in UTC-5 using time() session strings.
string kzTz = "UTC-5"
kzInSession(string sess) =>
not na(time(timeframe.period, sess, kzTz))
bool inAsian = kzInSession("2000-0000")
bool inLondon = kzInSession("0200-0500")
bool inNY = kzInSession("0830-1100")
Smart Gap Concepts [MarkitTick]💡 This indicator automates the identification and classification of price gaps, commonly known as Fair Value Gaps (FVG) or Imbalances, by integrating market structure and volume analysis. Unlike standard gap detectors that simply highlight empty space on a chart, this script applies algorithmic filters to categorize gaps into three distinct phases of market movement: Breakaway, Runaway, and Exhaustion. This helps traders understand the potential context of a move rather than just seeing a support or resistance zone.
● Originality and Utility
The primary innovation of this tool is its dynamic classification system. It moves beyond visual detection by checking the "why" behind the gap. By referencing Swing Highs and Swing Lows (Market Structure) alongside Volume efficiency, it determines if a gap represents a breakout, a trend continuation, or a climatic end to a move. Additionally, the script features an automated mitigation tracking system that removes gaps from the chart once price has re-tested the midpoint, ensuring the visual workspace remains clean and relevant to current price action.
● Methodology
The script operates on a multi-stage logic engine:
• Gap Detection
It first identifies the core imbalance where the Low of the current bar does not overlap with the High of the bar two periods prior (for bullish gaps), ensuring the intervening candle represents a strong displacement.
• Structural Analysis (Breakaway Gaps)
The script monitors Pivot Highs and Lows. If a gap occurs simultaneously with a close beyond a key structural Pivot, it is classified as a "Breakaway Gap." This signals the potential start of a new trend.
• Volume and Time Analysis (Exhaustion Gaps)
To identify potential reversals, the script looks for "Trend Maturity." If a gap forms after a long duration since the last pivot and is accompanied by a volume spike (defined by the Volume Spike Multiplier), it is labeled as an "Exhaustion Gap."
• Continuation (Runaway Gaps)
If a gap is valid but meets neither the Breakaway nor Exhaustion criteria, it is considered a "Runaway Gap," typically found in the middle of an established trend.
• Dynamic Cleanup
The script tracks the midpoint of every active gap. If price creates a lower low (for bullish gaps) or higher high (for bearish gaps) beyond this midpoint, the gap is considered mitigated and is removed from the screen.
📖 How to Use
Traders can utilize the color-coded classifications to gauge market intent:
Breakaway (Default Blue): Watch these zones for potential trend initiations. These are often high-probability areas for a retest entry after a structure break.
Runaway (Default Orange): These indicate strong momentum. They can be used to trail stop-losses or add to winning positions, as price should ideally not close below these gaps in a healthy trend.
Exhaustion (Default Red): Be cautious when these appear. They suggest the current move is overextended and a reversal or complex pullback may be imminent.
• Exhaustion Gap : A Practical Case Study
• Breakaway Gap: A Practical Case Study
• Runaway Gap : A Practical Case Study
⚙️ Inputs and Settings
Min Gap Size (Points): Filters out insignificant gaps smaller than this threshold.
Structure Lookback: Defines the sensitivity of the Pivot detection (Swing High/Low).
Volume Avg Length & Multiplier: Determines what qualifies as a "Volume Spike" for exhaustion logic.
Trend Maturity: The minimum number of bars required to consider a trend "old" enough for an exhaustion signal.
Visual Settings: Custom colors for each gap type and box extension length.
● Disclaimer
All provided scripts and indicators are strictly for educational exploration and must not be interpreted as financial advice or a recommendation to execute trades. I expressly disclaim all liability for any financial losses or damages that may result, directly or indirectly, from the reliance on or application of these tools. Market participation carries inherent risk where past performance never guarantees future returns, leaving all investment decisions and due diligence solely at your own discretion.
Daytrading Suite: Neon TPO + FVG v6.1Here is the summary of the code and the trading guide in English.
---
### 1. Code Summary: What does the chart show?
The script combines three dimensions of trading into a single chart:
* **The Context (TPO / Market Profile - Yesterday):**
* **Gold Zone (Center):** Yesterday's **POC (Point of Control)**. This was the "fairest price". It often acts as a magnet.
* **White Dashed Lines:** The **VAH (Value Area High)** and **VAL (Value Area Low)**. Yesterday, 70% of all trading volume happened between these lines. This is the area of "Balance".
* **The Structure (HTF - 1 Hour+):**
* **Red/Green Boxes (Right Edge):** Automatic **Supply & Demand Zones** based on the 1-hour chart (or your setting). They indicate major resistance and support levels.
* **The Timing (Entries):**
* **Neon FVG Boxes (Small):** "Fair Value Gaps". These represent imbalances in price. If price revisits these, it is often your **entry signal**.
* **Lines (VWAP, EMA, PDH/PDL):** Act as dynamic support and trend indicators.
---
### 2. Trading Strategy: How to use it
Do not just trade every colored spot. You must combine **Location (TPO)** with **Signal (FVG)**.
#### Step A: The Open (Where are we?)
In the morning (or at the US Open), check where the price is relative to the **white TPO lines**.
1. **Inside the White Lines (In Balance):**
* The market is undecided. Expect ranging/choppy behavior.
* **Strategy:** Buy at the bottom edge (VAL), Sell at the top edge (VAH). The target is often the Gold Zone (POC) in the middle.
2. **Outside the White Lines (Imbalance):**
* The market is seeking new prices. Danger of a Trend!
* **Strategy:** If price breaks above VAH and tests it from above -> **Long**. If it breaks below VAL -> **Short**.
#### Step B: The Setup (The High Probability Scenario)
Here is the "Rejection" Setup (Long Example):
1. Price drops to the lower white line (**VAL**) or into a green **Demand Zone**.
2. It bounces (shows a wick).
3. In the process, a small **green Neon FVG** is formed.
4. **Entry:** Limit Order at the top of the Neon FVG.
5. **Target:** The Gold Zone (POC) or the upper white line (VAH).
6. **Stop Loss:** Below the recent swing low.
#### Step C: Warning Signals (When NOT to trade)
* **In "No Man's Land":** If the price is sitting right in the middle between Gold (POC) and White (VAH/VAL), do nothing. The risk is 50/50. Wait until price hits an edge.
* **Against the Flow:** If EMA 9 and 21 are pointing steeply downwards, do not buy blindly at the VAL just because the line is there. Wait for confirmation (FVG).
### Pre-Trade Checklist:
1. **Level:** Am I at a white line (VAH/VAL) or the Gold Zone (POC)?
2. **Structure:** Do I have an HTF Demand/Supply Zone backing me up?
3. **Trigger:** Do I see a Neon FVG pointing in my direction?
Fair Value Gap [Tradeuminati]Fair Value Gap
Fair Value Gap is a clean and rule-based Fair Value Gap indicator for TradingView, designed to display only valid and confirmed Fair Value Gaps (FVGs) and Inverted Fair Value Gaps (iFVGs).
The indicator is built on a strict 3-candle FVG definition and operates exclusively on candle close, ensuring no repainting and no premature signals.
🔹 Key Features
Valid Fair Value Gaps (FVG)
- Detects bullish and bearish Fair Value Gaps using a precise 3-candle structure
- FVGs are only plotted after the confirming candle has closed
- A Fair Value Gap remains visible only as long as it is valid
- Once price closes beyond the FVG, it is removed or converted
Inverted Fair Value Gaps (iFVG)
- When a valid FVG is invalidated by a candle close, it can be converted into an iFVG
- iFVGs retain the original price range and structure
- Only valid iFVGs are displayed
- As soon as price closes through an iFVG, it is automatically removed
Clean & Controlled Visualization
- Only the last N active FVGs are displayed (bullish + bearish combined)
- Only the last N valid iFVGs are shown
- Boxes automatically extend to the current price + configurable bars
- Labels are dynamically positioned at the right edge of each zone
🔹 Technical Notes
- No repainting
- No intrabar signals
- Close-based validation only
- Works on all markets and timeframes
- Lightweight and performance-friendly
⚠️ Disclaimer
This indicator is for technical analysis purposes only and does not constitute trading or investment advice.
Structure Lite - Automatic Major Trend LinesStructure Lite – Pivot-Based Market Structure Visualization
OVERVIEW
Structure Lite is an open-source charting tool designed to assist traders in visualizing higher-timeframe market structure. The script identifies major swing points using high-period pivot analysis and projects structural support and resistance lines directly on the chart. Its purpose is to highlight persistent market structure while minimizing visual noise.
CORE CONCEPTS & CALCULATIONS
Pivot Identification
The script uses Pine Script’s built-in ta.pivothigh() and ta.pivotlow() functions to identify confirmed swing highs and lows. A pivot is only validated after a user-defined number of bars (Major Pivot Lookback) have formed on both sides of the price extreme, ensuring that only structurally significant pivots are selected.
Structural Pairing
Each structural line is created only after two consecutive pivots of the same type are confirmed (high-to-high or low-to-low). The script stores the price and bar index of these pivots and uses them as fixed anchor points.
Line Projection
Once a valid pivot pair is formed, the script draws a line between the two points using line.new() and extends it forward using extend.right. These lines represent projected structural boundaries rather than trade signals.
Object Management
To maintain chart clarity and performance, the script manages all drawn objects through a line array. A FIFO (First-In, First-Out) method is applied so that only the three most recent structural lines remain visible. Older lines are automatically deleted as new ones are created.
DESIGN PHILOSOPHY & ORIGINALITY
While many indicators plot frequent swing points or short-term pivots, Structure Lite focuses on structural persistence. By filtering for higher-period pivots and limiting the number of displayed projections, the script emphasizes dominant market structure rather than short-term fluctuations. This approach is intended to support discretionary analysis, not replace it.
HOW TO USE
Major Pivot Lookback
Increase the value to focus on higher-timeframe structure (e.g., swing or position trading).
Decrease the value to visualize intraday structural levels.
Visual Encoding
Green lines represent projected structural support
Red lines represent projected structural resistance
Visibility Control
A boolean input allows all structure lines to be hidden instantly to restore a clean price chart.
LIMITATIONS & DISCLAIMER
This script is a visualization tool only. It does not generate trade signals, entry or exit points, alerts, or directional forecasts. All plotted levels are derived from historical price action and may change as new pivots form. The script is provided for educational and analytical purposes and should be used in conjunction with other forms of market analysis
ICT Unicorn Model [Kodexius]ICT Unicorn Model is a market structure and imbalance confluence tool that automatically detects high probability “Unicorn” setups by combining three key elements into a single, clean script:
-A first, clean break of that swing level (displacement style break)
-A Fair Value Gap that overlaps a breaker candle body range
Instead of plotting every pivot or every imbalance independently, the script waits for a specific sequence: price establishes a valid swing, breaks that swing for the first time, and prints a setup only when the resulting context aligns with a valid, volatility filtered FVG and a clearly defined breaker range.
Each detected setup is drawn directly on the chart with labeled zones (Breaker and FVG) and is then actively monitored. If price violates the breaker boundary based on your chosen invalidation basis (Close or Wick), the setup is marked inactive and can optionally be removed to keep the chart clean.
This indicator is designed for traders who work with ICT style concepts such as liquidity runs, displacement, breaker blocks, and imbalance reversion, and who want a structured, rules based visualization rather than discretionary drawing.
🔹 Features
🔸 Fair Value Gap Detection With Volatility Filtering
Bullish and bearish FVGs are detected using classic three candle imbalance logic. To avoid low quality gaps during compression, the script applies an ATR based minimum size filter using the “FVG Min Size (ATR Multiplier)” input. Only gaps larger than ATR * threshold are considered valid.
🔸 First Break Validation (Clean Break Logic)
A key part of the model is identifying a “first break” of a swing level. The script checks whether the swing price has already been invalidated between the swing bar and the current bar. If it has, the swing is ignored. This helps reduce repeated signals and focuses on fresh structural breaks.
🔸 Breaker and FVG Confluence With Overlap Requirement
After a valid break occurs, the script defines a breaker range using the body of the swing candle (open and close). A setup is only created if this breaker body range overlaps the detected FVG price range. This overlap requirement is what filters many “almost” conditions and keeps signals more selective.
Bullish Unicorn:
Bearish Unicorn:
🔸 Configurable Invalidation Basis (Close or Wick)
You can choose how a setup fails:
-Close: invalidation requires a candle close beyond the breaker boundary
-Wick: invalidation occurs as soon as any wick crosses beyond the breaker boundary
This allows the tool to adapt to different trading styles, from conservative confirmation to more sensitive risk control.
🔸 Automatic Cleanup of Failed Setups
If “Delete Invalidated Setups” is enabled, the script removes the breaker box, FVG box, and label as soon as the setup is invalidated. If disabled, the zones remain visible for review while the setup is marked inactive internally.
🔸 Clear Chart Visuals
Each setup plots:
-A labeled Breaker zone box
-A labeled FVG zone box
-A directional Unicorn label (Bull or Bear) that updates position as the chart advances
Colors for bullish and bearish structures are fully configurable.
🔸 Alert Conditions
Two alert conditions are provided:
-Bullish Unicorn Setup Detected
-Bearish Unicorn Setup Detected
Alerts trigger only on the bar a new setup is created.
🔹 Calculations
This section summarizes the main computations used internally. The goal here is to explain the model mechanics rather than reproduce every implementation detail.
1. Swing Detection (Pivot High / Pivot Low)
Swing levels are detected using a symmetric pivot definition with “Swing Length” bars on both sides:
float ph = ta.pivothigh(high, swingLength, swingLength)
float pl = ta.pivotlow(low, swingLength, swingLength)
When a pivot is confirmed, its price and originating bar index are stored:
-Swing High: price = pivot high, isHigh = true
-Swing Low: price = pivot low, isHigh = false
The script keeps a limited history (most recent swings) to stay efficient.
2. Fair Value Gap Detection
FVGs use the classic three candle displacement imbalance:
Bullish FVG condition
bool isBullFVG = high < low
Bullish gap range is defined as:
-Top = low
-Bottom = high
Bearish FVG condition
bool isBearFVG = low > high
Bearish gap range is defined as:
-Top = low
-Bottom = high
3. ATR Based Minimum Gap Filter
ATR is computed (length 14), then the gap size is compared against a user threshold:
float atr = ta.atr(14)
bool validBullFVG = isBullFVG and (bullFvgTop - bullFvgBot) > (atr * fvgThreshold)
bool validBearFVG = isBearFVG and (bearFvgTop - bearFvgBot) > (atr * fvgThreshold)
This prevents very small imbalances from generating setups in low volatility conditions.
4. “First Break” Check Using Level Invalidation Scan
Before accepting a swing break, the script scans forward from the swing bar to the current bar to confirm the level has not already been breached. The scan can be based on wick or close:
-Wick mode: uses high or low
-Close mode: uses close
Conceptually:
priceToCheck = mode == "Wick" ? (checkBelow ? low : high) : close
If a prior breach is found, the swing is treated as already invalidated and is ignored for setup creation.
5. Break Of Structure Condition
Bullish break requirement
A bullish setup requires breaking a stored swing high with bullish body intent:
-close > swingHighPrice
-open < close
Bearish break requirement
A bearish setup requires breaking a stored swing low with bearish body intent:
-close < swingLowPrice
-open > close
An additional proximity filter is applied in the bearish branch to reduce weak or overly extended breaks by requiring the prior close to be reasonably near the swing level.
6. Breaker Range Construction
Once a qualifying swing is found, the breaker range is derived from the body of the swing candle (the candle at the swing bar index). The body boundaries are:
float breakerTop = math.max(bOpen, bClose)
float breakerBot = math.min(bOpen, bClose)
This models the breaker as the candle body range rather than full wick range, which typically produces more practical invalidation boundaries.
7. Overlap Test Between Breaker and FVG
A setup is only created if the breaker body overlaps the FVG zone. Conceptually the script rejects cases where one range is fully above or fully below the other:
-If there is no overlap, no setup is created
-If overlap exists, the Unicorn setup is valid
8. Active Monitoring and Invalidation
Each setup remains active until invalidated. Invalidation is evaluated every bar using your selected basis:
-Close basis: compares close to breaker boundary
-Wick basis: compares high or low to breaker boundary
Bullish invalidation
Setup fails if price crosses below breaker bottom.
Bearish invalidation
Setup fails if price crosses above breaker top.
If deletion is enabled, all drawings related to that setup are removed immediately on invalidation.
9. Drawing Updates and Object Lifecycle
Breaker and FVG boxes are extended to the right while the setup is active to keep zones visible into the near future. The Unicorn label is also repositioned as new bars print so the most recent context stays readable.
FVG Heatmap [Hash Capital Research]FVG Map
FVG Map is a visual Fair Value Gap (FVG) mapping tool built to make displacement imbalances easy to see and manage in real time. It detects 3-candle FVG zones, plots them as clean heatmap boxes, tracks partial mitigation (how much of the zone has been filled), and summarizes recent “fill speed” behavior in a small regime dashboard.
This is an indicator (not a strategy). It does not place trades and it does not publish performance claims. It is a market-structure visualization tool intended to support discretionary or systematic workflows.
What this script detects
Bullish FVG (gap below price)
A bullish FVG is detected when the candle from two bars ago has a high below the current candle’s low.
The zone spans from that prior high up to the current low.
Bearish FVG (gap above price)
A bearish FVG is detected when the candle from two bars ago has a low above the current candle’s high.
The zone spans from the current high up to that prior low.
What makes it useful
Heatmap zones (clean, readable FVG boxes)
Bullish zones plot below price. Bearish zones plot above price.
Partial fill tracking (mitigation progress)
As price trades back into a zone, the script visually shows how much of the zone has been filled.
Mitigation modes (your definition of “filled”)
• Full Fill: price fully trades through the zone
• 50% Fill: price reaches the midpoint of the zone
• First Touch: price touches the zone one time
Optional auto-cleanup
Optionally remove zones once they’re mitigated to keep the chart clean.
Fill-Speed Regime Dashboard
When zones get mitigated, the script records how many bars it took to fill and summarizes the recent environment:
• Average fill time
• Median fill time
• % fast fills vs % slow fills
• Regime label: choppy/mean-revert, trending/displacement, or mixed
How to use
Use FVG zones as structure, not guaranteed signals.
• Bullish zones are often watched as potential support on pullbacks.
• Bearish zones are often watched as potential resistance on rallies.
The fill-speed dashboard helps provide context: fast fills tend to appear in more rotational conditions, while slow fills tend to appear in stronger trend/displacement conditions.
Alerts
Bullish FVG Created
Bearish FVG Created
Notes
FVGs are not guaranteed reversal points. Fill-speed/regime is descriptive of recent behavior and should be treated as context, not prediction. On realtime candles, visuals may update as the bar forms.
Fair Value Gap Signals [Kodexius]Fair Value Gap Signals is an advanced market structure tool that automatically detects and tracks Fair Value Gaps (FVGs), evaluates the quality of each gap, and highlights high value reaction zones with visual metrics and signal markers.
The script is designed for traders who focus on liquidity concepts, order flow and mean reversion. It goes beyond basic FVG plotting by continuously monitoring how price interacts with each gap and by quantifying three key aspects of each zone:
-Entry velocity inside the gap
-Volume absorption during tests
-Structural integrity and depth of penetration
The result is a dynamic, information rich visualization of which gaps are being respected, which are being absorbed, and where potential reversals or continuations are most likely to occur.
All visual elements are configurable, including the maximum number of visible gaps per direction, mitigation method (close or wick) and an ATR based filter to ignore insignificant gaps in low volatility environments.
🔹 Features
🔸 Automated Fair Value Gap Detection
The script detects both bullish and bearish FVGs based on classic three candle logic:
Bullish FVG: current low is strictly above the high from two bars ago
Bearish FVG: current high is strictly below the low from two bars ago
🔸 ATR Based Gap Filter
To avoid clutter and low quality signals, the script can ignore very small gaps using an ATR based filter.
🔸Per Gap State Machine and Lifecycle
Each gap is tracked with an internal status:
Fresh: gap has just formed and has not been tested
Testing: price is currently trading inside the gap
Tested: gap was tested and left, waiting for a potential new test
Rejected: price entered the gap and then rejected away from it
Filled: gap is considered fully mitigated and no longer active
This state machine allows the script to distinguish between simple touches, multiple tests and meaningful reversals, and to trigger different alerts accordingly.
🔸 Visual Ranking of Gaps by Metrics
For each active gap, three additional horizontal rank bars are drawn on top of the gap area:
Rank 1 (Vel): maximum entry velocity inside the gap
Rank 2 (Vol): relative test volume compared to average volume
Rank 3 (Dpt): remaining safety of the gap based on maximum penetration depth
These rank bars extend horizontally from the creation bar, and their length is a visual score between 0 and 1, scaled to the age of the gap. Longer bars represent stronger or more favorable conditions.
🔸Signals and Rejection Markers
When a gap shows signs of rejection (price enters the gap and then closes away from it with sufficient activity), the script can print a signal label at the reaction point. These markers summarize the internal metrics of the gap using a tooltip:
-Velocity percentage
-Volume percentage
-Safety score
-Number of tests
🔸 Flexible Mitigation Logic (Close or Wick)
You can choose how mitigation is defined via the Mitigation Method input:
Close: the gap is considered filled only when the closing price crosses the gap boundary
Wick: a full fill is detected as soon as any wick crosses the gap boundary
🔸 Alert Conditions
-New FVG formed
-Price entering a gap (testing)
-Gap fully filled and invalidated
-Rejection signal generated
🔹Calculations
This section summarizes the main calculations used under the hood. Only the core logic is covered.
1. ATR Filter and Gap Size
The script uses a configurable ATR length to filter out small gaps. First the ATR is computed:
float atrVal = ta.atr(atrLength)
Gap size for both directions is then measured:
float gapSizeBull = low - high
float gapSizeBear = low - high
If useAtrFilter is enabled, gaps smaller than atrVal are ignored. This ties the minimum gap size to the current volatility regime.
2. Fair Value Gap Detection
The basic FVG conditions use a three bar structure:
bool fvgBull = low > high
bool fvgBear = high < low
For bullish gaps the script stores:
-top as low of the current bar
-bottom as high
For bearish gaps:
-top as high of the current bar
-bottom as low
This defines the price range that is considered the imbalance area.
3. Depth and Safety Score
Depth measures how far price has penetrated into the gap since its creation. For each bar, the script computes a currentDepth and updates the maximum depth:
float currentDepth = 0.0
if g.isBullish
if l < g.top
currentDepth := g.top - l
else
if h > g.bottom
currentDepth := h - g.bottom
if currentDepth > g.maxDepth
g.maxDepth := currentDepth
The safety score expresses how much of the gap remains intact:
float depthRatio = g.maxDepth / gapSize
float safetyScore = math.max(0.0, 1.0 - depthRatio)
safetyScore near 1: gap is mostly untouched
safetyScore near 0: gap is mostly or fully filled
4. Velocity Metric
Velocity captures how aggressively price moves inside the gap. It is based on the body to range ratio of each bar that trades within the gap and rewards bars that move in the same direction as the gap:
float barRange = h - l
float bodyRatio = math.abs(close - open) / barRange
float directionBonus = 0.0
if g.isBullish and close > open
directionBonus := 0.2
else if not g.isBullish and close < open
directionBonus := 0.2
float currentVelocity = math.min(bodyRatio + directionBonus, 1.0)
The gap keeps track of the strongest observed value:
if currentVelocity > g.maxVelocity
g.maxVelocity := currentVelocity
This maximum is later used as velScore when building the velocity rank bar.
5. Volume Accumulation and Volume Score
While price is trading inside a gap, the script accumulates the traded volume:
if isInside
g.testVolume += volume
It also keeps track of the number of tests and the volume at the start of the first test:
if g.status == "Fresh"
g.status := "Testing"
g.testCount := 1
g.testStartVolume := volume
An average volume is computed using a 20 period SMA:
float volAvg = ta.sma(volume, 20)
The expected volume is approximated as:
float expectedVol = volAvg * math.max(1, (bar_index - g.index) / 2)
The volume score is then:
float volScore = math.min(g.testVolume / expectedVol, 1.0)
This produces a normalized 0 to 1 metric that shows whether the gap has attracted more or less volume than expected over its lifetime.
6. Rank Bar Scaling
All three scores are projected visually along the time axis as horizontal bars. The script uses the age of the gap in bars as the maximum width:
float maxWidth = math.max(bar_index - g.index, 1)
Then each metric is mapped to a bar length:
int len1 = int(math.max(1, maxWidth * velScore))
g.rankBox1.set_right(g.index + len1)
int len2 = int(math.max(1, maxWidth * volScore))
g.rankBox2.set_right(g.index + len2)
int len3 = int(math.max(1, maxWidth * safetyScore))
g.rankBox3.set_right(g.index + len3)
This creates an intuitive visual representation where stronger metrics produce longer rank bars, making it easy to quickly compare the relative quality of multiple FVGs on the chart.
Rolling Volume Profile [Matrix Volume Heatmap] by NXT2017Description
This indicator offers a unique visual approach to Volume Profile analysis. Instead of the traditional histogram bars or boxes, this script renders a Rolling Volume Profile as a background "Matrix Heatmap" directly on your chart.
By dividing the price action of the most recent N-candles into 30 horizontal zones (buckets), it visualizes where the most trading activity has occurred within your defined lookback period. The visualization uses dynamic transparency to highlight the Point of Control (POC) and high-volume nodes, while fading out low-volume areas.
🧠 How it Works
The script operates on a "Rolling Window" basis, meaning it recalculates the profile at every bar to reflect the immediate market context.
Dynamic Range: It calculates the highest High and lowest Low of the user-defined Lookback Length (default: 1000 bars).
Bucket Slicing: This vertical range is divided into 30 equal price buckets.
Volume Distribution (Overlap Logic): The script iterates through the historical data. If a candle is large and spans multiple buckets, its volume is distributed proportionally across those buckets. This ensures a more realistic profile compared to simply assigning volume to the close price.
Heatmap Visualization:
The script calculates the Maximum Volume (POC) within the profile.
It uses a Reference Length to normalize this maximum.
Dynamic Opacity: Zones with volume close to the maximum are rendered opaque (solid). Zones with low relative volume become highly transparent. This creates an automatic "Heatmap" effect, allowing you to instantly spot the most significant price levels.
⚙️ Settings
Lookback Length (candles): Defines how far back the profile calculates volume (e.g., 1000 bars).
POC Reference Length: Defines the smoothing window for the 100% volume baseline. Increasing this stabilizes the color changes; decreasing it makes the heatmap more reactive to sudden volume spikes.
Profil Color: Choose the base color for the matrix. The transparency is calculated automatically.
💡 Use Case
This tool is ideal for traders who want to see the "Value Area" of the current range without cluttering the chart with complex boxes or side-bars. It works excellent as a background context tool to identify:
High Volume Nodes (Support/Resistance)
Low Volume Nodes (Price gaps/Rejection areas)
Migrating Points of Control (Trend direction)
Imbalance Heatmap (Free) – pc75A clean, efficient visualisation of liquidity voids, 3-bar imbalances, and price inefficiency zones.
This indicator highlights where the market left gaps in the order flow — areas price often revisits to rebalance.
Imbalances are displayed as stacked horizontal “heatmap strips,” making it easy to see:
Where aggressive buying/selling left a void
Whether multiple voids overlap (stronger zones)
Whether price is likely to return to fill the imbalance
How old a void is (older zones are marked differently)
This is a refined v6 rewrite based on a script I liked, completely modernised with cleaner logic, better performance, and optional labels.
🔍 Features
3-bar liquidity void detection (ICT-style logic)
Bullish imbalance when price displaces upward with no wick overlap
Bearish imbalance for downward displacement
✔ Heatmap-style visualisation
Each imbalance is sliced into multiple thin horizontal bands to create a visual density effect.
✔ Stacking intelligence
If a new void overlaps previous ones, the heatmap is drawn brighter, showing areas where the market left multiple inefficiencies.
✔ “Void xN” labels
Optional labels show how many overlapping voids existed at the moment the imbalance formed.
✔ Automatic deletion when filled
As soon as price trades back through a slice, that slice is removed.
This keeps the chart clean and focuses only on active inefficiencies.
✔ Smart ageing
Older voids are marked with a subtle border so you can distinguish freshly formed inefficiencies from historical ones.
✔ Alerts
Set alerts for when price taps a stacked imbalance zone (“Void x2” and above).
⚙ Inputs & Customisation
ATR threshold (optional)
Minimum tick size gap
Number of heatmap slices
Bullish / bearish toggles
Label toggles
Colour and transparency configuration
Max slice memory for performance
💡 How to Use
Imbalance zones often behave as:
Magnets → price gravitates toward them
Support/resistance → structure respects inefficiencies
Continuity points → used with market structure shifts
Targets → for both scalpers and swing traders
Strong (stacked) voids typically represent areas of institutional displacement, where the market is more likely to return for rebalancing.
📢 Notes
This is the free version.
Educational only — not financial advice.
Multi-Timeframe Fair Value Gap by Vigna📊 Multi-Timeframe Fair Value Gap (FVG) Indicator
This indicator displays Fair Value Gaps (FVGs) from multiple timeframes simultaneously on your chart. FVGs are price gaps that occur when the market moves quickly and skips certain price levels. These gaps tend to be "filled" later and often serve as important support and resistance zones.
🎯 What are Fair Value Gaps?
A Fair Value Gap occurs when:
Bullish FVG: The current low is higher than the high from 2 candles ago (gap upward)
Bearish FVG: The current high is lower than the low from 2 candles ago (gap downward)
⏱️ Supported Timeframes:
1 Hour (1H)
2 Hours (2H)
3 Hours (3H)
4 Hours (4H)
1 Day (1D)
1 Week (1W)
🎨 Features:
✅ All timeframes visible simultaneously
✅ Each timeframe has its own color (bullish & bearish)
✅ Labels show the timeframe of each gap
✅ Automatic deletion when gap is filled
✅ Optional: MidPoint Fill (gap marked as filled at 50%)
✅ Extend right: Gaps extend to the right until filled
✅ All colors fully customizable
⚙️ Settings:
Timeframes: Enable/disable individual timeframes as needed
MidPoint Fill: Mark gap as filled when 50% is reached
Delete On Fill: Automatically remove filled gaps from chart
Label Timeframes: Show labels with timeframe names
Colors: Customize all colors to your preferences
💡 Application:
FVGs often serve as magnetic attraction points for price
Higher timeframe FVGs (4H, 1D, 1W) are typically more significant
Use FVGs as potential entry/exit zones
Combine with other indicators for better confirmation
📈 Recommended Use:
Works best on timeframes from 15min to 1H
Ideal for Forex, Crypto, and Stocks
Especially useful for Swing Trading and Day Trading
🔧 Technical Details:
Uses optimized request.security() calls (12 total, under the 40 limit)
Employs tuple syntax for efficient data fetching
Real-time gap detection and filling mechanism
Memory-efficient array management with var keyword
Obsidian Flux Matrix# Obsidian Flux Matrix | JackOfAllTrades
Made with my Senior Level AI Pine Script v6 coding bot for the community!
Narrative Overview
Obsidian Flux Matrix (OFM) is an open-source Pine Script v6 study that fuses social sentiment, higher timeframe trend bias, fair-value-gap detection, liquidity raids, VWAP gravitation, session profiling, and a diagnostic HUD. The layout keeps the obsidian palette so critical overlays stay readable without overwhelming a price chart.
Purpose & Scope
OFM focuses on actionable structure rather than marketing claims. It documents every driver that powers its confluence engine so reviewers understand what triggers each visual.
Core Analytical Pillars
1. Social Pulse Engine
Sentiment Webhook Feed: Accepts normalized scores (-1 to +1). Signals only arm when the EMA-smoothed value exceeds the `sentimentMin` input (0.35 by default).
Volume Confirmation: Requires local volume > 30-bar average × `volSpikeMult` (default 2.0) before sentiment flags.
EMA Cross Validation: Fast EMA 8 crossing above/below slow EMA 21 keeps momentum aligned with flow.
Momentum Alignment: Multi-timeframe momentum composite must agree (positive for longs, negative for shorts).
2. Peer Momentum Heatmap
Multi-Timeframe Blend: RSI + Stoch RSI fetched via request.security() on 1H/4H/1D by default.
Composite Scoring: Each timeframe votes +1/-1/0; totals are clamped between -3 and +3.
Intraday Readability: Configurable band thickness (1-5) so scalpers see context without losing space.
Dynamic Opacity: Stronger agreement boosts column opacity for quick bias checks.
3. Trend & Displacement Framework
Dual EMA Ribbon: Cyan/magenta ribbon highlights immediate posture.
HTF Bias: A higher-timeframe EMA (default 55 on 4H) sets macro direction.
Displacement Score: Body-to-ATR ratio (>1.4 default) detects impulses that seed FVGs or VWAP raids.
ATR Normalization: All thresholds float with volatility so the study adapts to assets and regimes.
4. Intelligent Fair Value Gap (FVG) System
Gap Detection: Three-candle logic (bullish: low > high ; bearish: high < low ) with ATR-sized minimums (0.15 × ATR default).
Overlap Prevention: Price-range checks stop redundant boxes.
Spacing Control: `fvgMinSpacing` (default 5) avoids stacking from the same impulse.
Storage Caps: Max three FVGs per side unless the user widens the limit.
Session Awareness: Kill zone filters keep taps focused on London/NY if desired.
Auto Cleanup: Boxes delete when price closes beyond their invalidation level.
5. VWAP Magnet + Liquidity Raid Engine
Session or Rolling VWAP: Toggle resets to match intraday or rolling preferences.
Equal High/Low Scanner: Looks back 20 bars by default for liquidity pools.
Displacement Filter: ATR multiplier ensures raids represent genuine liquidity sweeps.
Mean Reversion Focus: Signals fire when price displaces back toward VWAP following a raid.
6. Session Range Breakout System
Initial Balance Tracking: First N bars (15 default) define the session box.
Breakout Logic: Requires simultaneous liquidity spikes, nearby FVG activity, and supportive momentum.
Z-Score Volume Filter: >1.5σ by default to filter noisy moves.
7. Lifestyle Liquidity Scanner
Volume Z-Scores: 50-bar baseline highlights statistically significant spikes.
Smart Money Footprints: Bottom-of-chart squares color-code buy vs sell participation.
Panel Memory: HUD logs the last five raid timestamps, direction, and normalized size.
8. Risk Matrix & Diagnostic HUD
HUD Structure: Table in the top-right summarizes HTF bias, sentiment, momentum, range state, liquidity memory, and current risk references.
Signal Tags: Aggregates SPS, FVG, VWAP, Range, and Liquidity states into a compact string.
Risk Metrics: Swing-based stops (5-bar lookback) + ATR targets (1.5× default) keep risk transparent.
Signal Families & Alerts
Social Pulse (SPS): Volume-confirmed sentiment alignment; triangle markers with “SPS”.
Kill-Zone FVG: Session + HTF alignment + FVG tap; arrow markers plus SL/TP labels.
Local FVG: Captures local reversals when HTF bias has not flipped yet.
VWAP Raid: Equal-high/low raids that snap toward VWAP; “VWAP” label markers.
Range Breakout: Initial balance violations with liquidity and imbalance confirmation; circle markers.
Liquidity Spike: Z-score spikes ≥ threshold; square markers along the baseline.
Visual Design & Customization
Theme Palette: Primary background RGB (12,6,24). Accent shading RGB (26,10,48). Long accents RGB (88,174,255). Short accents RGB (219,109,255).
Stylized Candles: Optional overlay using theme colors.
Signal Toggles: Independently enable markers, heatmap, and diagnostics.
Label Spacing: Auto-spacing enforces ≥4-bar gaps to prevent text overlap.
Customization & Workflow Notes
Adjust ATR/FVG thresholds when volatility shifts.
Re-anchor sentiment to your webhook cadence; EMA smoothing (default 5) dampens noise.
Reposition the HUD by editing the `table.new` coordinates.
Use multiples of the chart timeframe for HTF requests to minimize load.
Session inputs accept exchange-local time; align them to your market.
Performance & Compliance
Pure Pine v6: Single-line statements, no `lookahead_on`.
Resource Safe: Arrays trimmed, boxes limited, `request.security` cached.
Repaint Awareness: Signals confirm on close; alerts mirror on-chart logic.
Runtime Safety: Arrays/loops guard against `na`.
Use Cases
Measure when social sentiment aligns with structure.
Plan ICT-style intraday rebalances around session-specific FVG taps.
Fade VWAP raids when displacement shows exhaustion.
Watch initial balance breaks backed by statistical volume.
Keep risk/target references anchored in ATR logic.
Signal Logic Snapshot
Social Pulse Long/Short: `sentimentEMA` gated by `sentimentMin`, `volSpike`, EMA 8/21 cross, and `momoComposite` sign agreement. Keeps hype tied to structural follow-through.
Kill-Zone FVG Long/Short: Requires session filter, HTF EMA bias alignment, and an active FVG tap (`bullFvgTap` / `bearFvgTap`). Labels include swing stops + ATR targets pulled from `swingLookback` and `liqTargetMultiple`.
Local FVG Long/Short: Uses `localBullish` / `localBearish` heuristics (EMA slope, displacement, sequential closes) to surface intraday reversals even when HTF bias has not flipped.
VWAP Raids: Detect equal-high/equal-low sweeps (`raidHigh`, `raidLow`) that revert toward `sessionVwap` or rolling VWAP when displacement exceeds `vwapAlertDisplace`.
Range Breakouts: Combine `rangeComplete`, breakout confirmation, liquidity spikes, and nearby FVG activity for statistically backed initial balance breaks.
Liquidity Spikes: Volume Z-score > `zScoreThreshold` logs direction, size, and timestamp for the HUD and optional review workflows.
Session Logic & VWAP Handling
Kill zone + NY session inputs use TradingView’s session strings; `f_inSession()` drives both visual shading and whether FVG taps are tradeable when `killZoneOnly` is true.
Session VWAP resets using cumulative price × volume sums that restart when the daily timestamp changes; rolling VWAP falls back to `ta.vwap(hlc3)` for instruments where daily resets are less relevant.
Initial balance box (`rangeBars` input) locks once complete, extends forward, and stays on chart to contextualize later liquidity raids or breakouts.
Parameter Reference
Trend: `emaFastLen`, `emaSlowLen`, `htfResolution`, `htfEmaLen`, `showEmaRibbon`, `showHtfBiasLine`.
Momentum: `tf1`, `tf2`, `tf3`, `rsiLen`, `stochLen`, `stochSmooth`, `heatmapHeight`.
Volume/Liquidity: `volLookback`, `volSpikeMult`, `zScoreLen`, `zScoreThreshold`, `equalLookback`.
VWAP & Sessions: `vwapMode`, `showVwapLine`, `vwapAlertDisplace`, `killSession`, `nySession`, `showSessionShade`, `rangeBars`.
FVG/Risk: `fvgMinTicks`, `fvgLookback`, `fvgMinSpacing`, `killZoneOnly`, `liqTargetMultiple`, `swingLookback`.
Visualization Toggles: `showSignalMarkers`, `showHeatmapBand`, `showInfoPanel`, `showStylizedCandles`.
Workflow Recipes
Kill-Zone Continuation: During the defined kill session, look for `killFvgLong` or `killFvgShort` arrows that line up with `sentimentValid` and positive `momoComposite`. Use the HUD’s risk readout to confirm SL/TP distances before entering.
VWAP Raid Fade: Outside kill zone, track `raidToVwapLong/Short`. Confirm the candle body exceeds the displacement multiplier, and price crosses back toward VWAP before considering reversions.
Range Break Monitor: After the initial balance locks, mark `rangeBreakLong/Short` circles only when the momentum band is >0 or <0 respectively and a fresh FVG box sits near price.
Liquidity Spike Review: When the HUD shows “Liquidity” timestamps, hover the plotted squares at chart bottom to see whether spikes were buy/sell oriented and if local FVGs formed immediately after.
Metadata
Author: officialjackofalltrades
Platform: TradingView (Pine Script v6)
Category: Sentiment + Liquidity Intelligence
Hope you Enjoy!
ICT Asian & London Range + First Presented FVGIndicator: ICT Sessions + First Presented FVG
What it does: This tool automates the markup of key ICT (Inner Circle Trader) timeframes and entry signals. It allows you to trade on higher timeframes (like the 5m or 15m) while the script automatically "looks inside" the 1-minute chart to find specific setups for you.
Key Features:
Session Ranges (Asian & London)
Automatically highlights the Asian Session (8 PM - Midnight NY) and London Open (2 AM - 5 AM NY).
Draws a shaded box for the session's High and Low.
New: Extends the High and Low lines to 4:00 PM NY (end of the trading day) so you can use them as liquidity targets.
The "First Presented" FVG (Sniper Logic)
It detects the very first Fair Value Gap (FVG) that forms on the 1-minute chart immediately after a session starts.
It draws this 1-minute gap on your current chart, regardless of what timeframe you are viewing.
The FVG box automatically extends to the end of the trading day (4 PM NY), showing you where price might return to "mitigate" or react later in the day.
Direction via Zone Break [by rukich]🟠 OVERVIEW
The indicator shows the direction of movement and zones: SSL, BSL, FVG.
Zones serve as support/resistance and as validation/invalidation of a movement reversal.
🟠 COMPONENTS
The direction of movement is built based on a three-candle swing high (BSL) and swing low (SSL) pattern. If swing high (BSL) and swing low (SSL) are formed, and then an internal swing high/low is formed (depending on the direction of movement), then in case the initial movement continues — for example, in an upward movement — the new swing low (SSL) will be the minimum before the update, i.e., the internal low, while the swing high (BSL) will be formed according to the three-candle pattern.
A change of direction is considered when a candle closes beyond the key swing high/low (BSL/SSL), depending on the direction of movement. For example, in an upward movement, a break occurs when a candle closes beyond the swing low (SSL). After that, the swing high (BSL) will be the nearest fractal (swing high), and the swing low (SSL) will be formed according to the three-candle pattern.
All the above logic also applies to downward movements.
Within each movement, there can be FVG zones, which can act as support/resistance or indicate weakness in the movement direction.
Note: if the movement is upward, only bullish FVG+ will be displayed; if the movement is downward, only bearish FVG- will be displayed.
Weakness of movement direction.
For example, consider an upward impulse with the nearest FVG+ zone. If the price closes beyond the lower boundary of the zone, it will be considered invalidated (inv. FVG-), which in turn indicates weakness in the movement direction and a possible local short, which may subsequently lead to a break of the entire movement.
🟠 HOW TO USE
There are only two visual settings in the configuration:
Show previous SSL/BSL – enables/disables the display of all previous SSL/BSL zones
Show Bullish/Bearish trend – enables/disables background shading between SSL and BSL for visual understanding of the movement direction
On the chart, the following are displayed:
Labels with current SSL/BSL
FVG+- / inv. FVG+- zones, for trading in the movement direction
In case the nearest FVG is invalidated, a label will appear with the text: Weak bullish/bearish & local short/long (this is not a signal, but only indicates the probability of a potential move based on the weakness of the nearest zone)
🟠 CONCLUSION
The indicator helps determine the current movement with zones for trading in the direction, and also indicates movement weakness through invalidation of the nearest zones.
Volumetric Inverse Fair Value Gap (IFVG) [Kodexius]The Volumetric Inverse Fair Value Gap (IFVG) indicator detects and visualizes inverse fair value gaps (IFVGs) zones where previous inefficiencies in price (fair value gaps) are later invalidated or “inverted.”
Unlike traditional FVG indicators, this tool integrates volume-based analysis to quantify the bullish, bearish, and overall strength of each inversion. It visually represents these metrics within a dynamically updating box on the chart, giving traders deeper insight into market reactions when liquidity imbalances are filled and reversed.
Features
Inverse fair value gap detection
The script identifies bullish and bearish fair value gaps, stores them as pending zones, and turns them into inverse fair value gaps when price trades back through the gap in the opposite direction. Each valid inversion becomes an active IFVG zone on the chart.
Sensitivity control with ATR filter and strict mode
A minimum gap size based on ATR is used to filter out small and noisy gaps. Strict mode can be enabled so that any wick contact between the relevant candles prevents the gap from being accepted as a fair value gap. This lets you decide how clean and selective the zones should be.
Show Last N Boxes control
The indicator can keep only the most recent N IFVG zones visible. Older zones are removed from the chart once the number of active objects exceeds the user setting. This prevents clutter on higher timeframes or long histories and keeps attention on the most relevant recent zones.
Ghost box for the original gap
When the ghost option is enabled, the script draws a faint box that marks the original fair value gap from which the inverse zone came. This makes it easy to see where the initial imbalance appeared and how price later inverted that area.
Volumetric bull, bear and strength metrics
For each IFVG, the script estimates how much of the bar volume is associated with buying and how much with selling, then computes bull percentage, bear percentage and a strength score that uses a percentile rank of volume. These values are stored with the IFVG object and drive the visualization inside the zone.
Three band visual layout inside each IFVG
Each active IFVG is drawn as a container with three horizontal sections. The top band represents the bull percentage, the middle band the bear percentage and the bottom band the strength metric. The width of each bar reflects its respective value so you can read the structure of the zone at a glance.
Customizable colors and label text
Colors for bull, bear, strength, the empty background area, the ghost box and label text can be adjusted in the inputs. This allows you to match the indicator to different chart themes or highlight specific aspects such as strength or direction.
Automatic invalidation and cleanup
When price clearly closes beyond the IFVG in a way that breaks the logic of that zone, the script marks it as inactive and deletes all boxes and labels linked to it. Only valid and active IFVGs remain on the chart, which keeps the display clean and focused.
Calculations
1. Detecting Fair Value Gaps (FVGs)
A fair value gap is identified when price action leaves an imbalance between candle wicks. Depending on the mode:
Bullish FVG: When low > high
Bearish FVG: When high < low
Optionally, the strict mode ensures wicks do not touch.
The gap’s significance is filtered using the ATR multiplier input to exclude minor noise.
Once detected, FVGs are stored as pending zones until inverted by opposite movement (price crossing through).
bool bull_cond = strict_mode ? (low > high ) : (close > high )
bool bear_cond = strict_mode ? (high < low ) : (close < low )
float gap_size = 0.0
if bull_cond and close > open
gap_size := low - high
if bear_cond and close < open
gap_size := low - high
2. Creating IFVGs (Inversions)
When price later moves through a previous FVG in the opposite direction, an Inverse FVG (IFVG) is created.
For example:
A previous bearish FVG becomes bullish IFVG if price moves upward through it.
A previous bullish FVG becomes bearish IFVG if price moves downward through it.
The IFVG is initialized with structural boundaries (top, bottom) and timestamp metadata to anchor visualization.
if not p.is_bull_gap and close > p.top
inverted := true
to_bull := true
if p.is_bull_gap and close < p.btm
inverted := true
to_bull := false
3. Volume Metrics (Bull, Bear, Strength)
Each IFVG calculates buy and sell volumes from the current bar’s price spread and total volume.
Bull % = proportion of upward (buy) volume
Bear % = proportion of downward (sell) volume
Strength % = normalized percentile rank of total volume
These are obtained through a custom function that estimates directional volume contribution:
calc_metrics(float o, float h, float l, float c, float v) =>
float rng = h - l
float buy_v = 0.0
if rng == 0
buy_v := v * 0.5
else
if c >= o
buy_v := v * ((math.abs(c - o) + (math.min(o, c) - l)) / rng)
else
buy_v := v * ((h - math.max(o, c)) / rng)
float sell_v = v - buy_v
float total = buy_v + sell_v
float p_bull = total > 0 ? buy_v / total : 0
float p_bear = total > 0 ? sell_v / total : 0
float p_str = ta.percentrank(v, 100) / 100.0
Smart Money Concepts [Modern Neon V2]This is a visually overhauled version of the popular Smart Money Concepts (SMC) indicator, designed specifically for traders who prefer Dark Mode, High Contrast, and Maximum Visibility.
While the underlying logic preserves the robust structure detection of the original LuxAlgo script, the visual presentation has been completely modernized. The default "dull" colors have been replaced with a vibrant Cyberpunk Neon palette, and text labels have been significantly upscaled to ensure market structure is readable at a glance, even on high-resolution monitors.
🎨 Visual & Style Enhancements:
Neon Palette:
Bullish: Electric Cyan (#00F5FF)
Bearish: Neon Hot Pink (#FF007F)
Neutral/Levels: Bright Gold (#FFD700)
High Visibility Text: Market Structure labels (BOS, CHoCH, HH/LL) have been upgraded from "Tiny" to Normal size. Key Swing Points (Strong High/Low) are set to Large.
Modern "Solid" Blocks: Order Blocks and FVGs feature reduced transparency (60%) for a bolder, solid look that doesn't get washed out on dark backgrounds.
Decluttered: Removed unnecessary "Small" elements and dotted lines to focus on price action.
🛠 Key Features:
Real-Time Structure: Automatic detection of Internal and Swing structure (BOS & CHoCH) with trend coloring.
Order Blocks: Highlights Bullish and Bearish Order Blocks with new mitigation logic.
Fair Value Gaps (FVG): Auto-threshold detection for high-probability gaps.
Premium & Discount Zones: Automatically plots equilibrium zones for better entry targeting.
Multi-Timeframe Levels: Display Daily, Weekly, and Monthly highs/lows.
Trend Dashboard: (If you added the dashboard code) A clean panel displaying the current Internal and Swing trend bias.
CREDITS & LICENSE: This script is a modification of the "Smart Money Concepts " indicator.
Original Author: © LuxAlgo
License: Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
creativecommons.org
ICT Fair Value Gap (FVG) Detector │ Auto-Mitigated │ 2025Accurate ICT / Smart Money Concepts Fair Value Gap (FVG) detector
Features:
• Detects both Bullish (-FVG) and Bearish (+FVG) using strict 3-candle rule
• Boxes automatically extend right until price mitigates them
• Boxes auto-delete when price closes inside the gap (true mitigation)
• No repainting – 100% reliable
• Clean, lightweight, and works on all markets & timeframes
• Fully customizable colors and transparency
How to use:
– Bullish FVG (green) = potential support / buy zone in uptrend
– Bearish FVG (red) = potential resistance / sell zone in downtrend
Exactly matches The Inner Circle Trader (ICT) methodology used by thousands of SMC traders in 2024–2025.
Enjoy and trade safe!
Fair Value Gaps (FVG)This indicator automatically detects Fair Value Gaps (FVGs) using the classic 3-candle structure (ICT-style).
It is designed for traders who want clean charts and relevant FVGs only, without the usual clutter from past sessions or tiny, meaningless gaps.
Key Features
• Bullish & Bearish FVG detection
Identifies imbalances where price fails to trade efficiently between candles.
• Automatic FVG removal when filled
As soon as price trades back into the gap, the box is deleted in real time – no more outdated zones on the chart.
• Only shows FVGs from the current session
At the start of each new session, all previous FVGs are cleared.
Perfect for intraday traders who only care about today’s liquidity map.
• Flexible minimum gap size filter
Avoid noise by filtering FVGs using one of three modes:
Ticks (based on market tick size)
Percent (relative to current price)
Points (absolute price distance)
• Right-extension option
Keep gaps extended forward in time or limit them to the candles that created them.
Why This Indicator?
Many FVG indicators overwhelm the chart with zones from previous days or tiny imbalances that don’t matter.
This version keeps things clean, meaningful, and real-time accurate, ideal for day traders who rely on market structure and liquidity.






















