ICT Algo: Sweep + MSS + High Prob FVG/IFVGThis script is a comprehensive execution tool based on Inner Circle Trader (ICT) concepts, specifically designed to identify high-probability entries by combining Liquidity Sweeps, Market Structure Shifts (MSS), and Fair Value Gaps (FVG/IFVG).
Unlike standard FVG indicators that highlight every gap on the chart, this "Algo" version filters for gaps that occur specifically after a liquidity purge and a shift in structure, ensuring you are only looking at setups with institutional backing.
How It Works
The script follows a strict 3-step validation process before plotting a signal:
Liquidity Sweep (The Context): The script tracks Higher Timeframe (HTF) levels including Previous Day High/Low, Weekly High/Low, and Monthly High/Low. A setup is only considered valid if price has recently "swept" one of these levels, indicating a hunt for liquidity.
Market Structure Shift (The Confirmation): Once a sweep occurs, the script looks for a displacement in the opposite direction. It identifies a "Pivot High/Low" (customizable length) and waits for a candle body to close beyond it (MSS).
Filtered Entry (The Trigger): * FVG: Plots a standard Fair Value Gap if it forms within a "Deep Value" zone (Discount for longs, Premium for shorts).
IFVG (Inversion FVG): Highlights failed FVGs that have been reclaimed by price to act as support or resistance.
Key Features
Multi-Timeframe Liquidity Filters: Automatically plots PDH/L, PWH/L, PMH/L, and PYH/L. You can toggle which levels act as your sweep triggers.
Deep Value Logic: The script uses built-in logic to ensure Bullish FVGs are only highlighted when price is below a key liquidity level (Discount), and Bearish FVGs when price is above (Premium).
Dynamic Box Management: To keep your chart clean, boxes for FVGs and IFVGs are automatically shortened ("cut") once they are mitigated by price.
Inversion Logic: Includes a specialized toggle for Inversion Fair Value Gaps, allowing you to trade "failed" gaps that flip their polarity.
Settings & Customization
Entry Setup Bias: Choose to see only Bullish, only Bearish, or Both setups.
MSS Pivot Length: Adjust how "sensitive" the Market Structure Shift detection is. A higher number requires a more significant swing to be broken.
Sweep Lookback: Defines how many bars back the script looks for a liquidity sweep to remain "active" for a setup.
Include Opens: Optional toggle to include Previous Day/Week/Month Opens as liquidity points.
Usage Tips
The Golden Setup: Look for a sweep of a Previous Day High, followed by a Bearish MSS, and an entry at the Red FVG box.
Risk Management: This indicator is designed for entry identification. Always use stop losses (usually placed above/below the candle that created the FVG or the MSS swing point).
Timeframes: Best used on execution timeframes (1m, 5m, 15m) while the script handles the HTF levels automatically.
Disclaimer: This script is an educational tool and does not constitute financial advice. Trading involves significant risk. Past performance of a strategy does not guarantee future results.
Credits: Concepts based on the teachings of Michael J. Huddleston (ICT).
Liquidity
Smart Fixed Volume Profile [MarkitTick]💡 This comprehensive analysis suite integrates Auction Market Theory, structural gap analysis, and statistical liquidity strain modeling into a single, cohesive toolkit. Designed for traders who require a granular view of institutional order flow, this indicator overlays a Fixed Range Volume Profile with intelligent price gap classification and a volatility-adjusted exhaustion detector. By combining these three distinct analytical dimensions, it allows users to identify value consensus, structural breakouts, and potential market turns driven by liquidity shortages.
✨ Originality and Utility
While standard Volume Profiles display where trading occurred, this script advances the concept by contextually analyzing *how* price arrived at those levels. It solves the problem of isolated analysis by fusing three disparate methodologies:
Contextual Integration: It does not merely show support and resistance; it qualifies moves using "Smart Gaps" (classifying gaps based on market structure) and "Liquidity Strain" (identifying unsustainable price velocity).
Institutional Footprint: The inclusion of an "Unusual Volume" highlighter within the profile bars helps traders spot hidden institutional accumulation or distribution blocks that standard profiles miss.
Hybrid Logic: By combining a fixed-time profile (anchored to specific dates) with dynamic, developing gap analysis, it provides both a static roadmap of the past and a dynamic interpretation of current price action.
🔬 Methodology and Concepts
• Fixed Volume Profile Engine
The core of the indicator constructs a volume distribution histogram over a user-defined time window. It utilizes a custom aggregation engine that:
Fetches higher-timeframe volume and price data to ensure accuracy.
Segments the price range into specific "bins" or rows.
Allocates volume to these bins based on price action within the bar, separating Buying Volume (Up bars) from Selling Volume (Down bars).
Calculates the Point of Control (POC) —the price level with the highest traded volume—and the Value Area , which contains 70% (customizable) of the total volume centered around the POC.
• Smart Gap Logic
The script systematically identifies price gaps and classifies them based on their location relative to market pivots (Highs/Lows):
Breakaway Gaps: Occur when price gaps beyond a significant structural pivot (Lookback High/Low), signaling a potential trend initiation.
Runaway Gaps: Occur within an existing trend without breaking structure, indicating trend continuation.
Exhaustion Gaps: Identified when a gap occurs late in a mature trend (measured by bar count since the last pivot) accompanied by a volume spike, suggesting the trend is overextended.
• Liquidity Strain Detector
This module utilizes a statistical approach to measure market stress. It calculates "Illiquidity" by analyzing the ratio of True Range to Volume (Price Impact).
It applies a Logarithmic transformation to normalize the data.
It calculates a Z-Score (Standard Deviation from the mean) of this impact.
If the Z-Score exceeds a threshold (e.g., 2.0 Sigma) while the trend opposes the price move, it triggers an exhaustion signal, indicating that price is moving too easily on too little volume (thin liquidity).
🎨 Visual Guide
• Volume Profile Elements
Histogram Bars: Horizontal bars representing volume at price. Cyan indicates bullish volume; Red indicates bearish volume.
Unusual Volume Highlight: Bars with volume exceeding the average by a set factor (default 2x) are highlighted with brighter, distinct overlays to denote institutional interest.
POC Line: A solid Yellow line marking the price level with the highest volume.
VAH / VAL Lines: Dashed Blue lines marking the Value Area High and Value Area Low.
Background Box: A grey shaded area encapsulating the entire time and price range of the profile.
• Smart Gap Boxes
Blue Box (Breakaway): Marks the start of a new structural move.
Orange Box (Runaway): Marks continuation gaps in the middle of a trend.
Red Box (Exhaustion): Marks potential trend termination points.
Dotted Lines: Extend from the center of gap boxes to serve as future support/resistance levels. These boxes are automatically deleted if price "fills" or violates the gap level.
Note: This tool incorporates core components from [ Smart Gap Concepts ], optimized for this specific strategy.
• Liquidity Signals
Green Label (SE): "Seller Exhaustion" – Appears below bars in a downtrend when selling pressure is statistically overextended.
Red Label (BE): "Buyer Exhaustion" – Appears above bars in an uptrend when buying pressure is statistically overextended.
Note: This tool incorporates core components from [ Liquidity Strain Detector ], optimized for this specific strategy.
📖 How to Use
• Interactive Range Selection: This indicator features a flexible, interactive input system. Upon adding the script to your chart, execution is paused until the analysis range is defined. You will be prompted to click on the chart twice: first to establish the Start Date and second to establish the End Date. Once these anchor points are confirmed, the indicator will automatically load the data and generate the profile for the selected specific period.
● Strategies for Optimal Anchoring
the optimal starting and ending points for high-probability setups:
Swing Highs and Lows (Trend Analysis):
Anchor the Start Date at a major structural swing high or low and the End Date at the current price using the Extend to Present feature. This identifies the "Fair Value" for the entire price move .
Consolidation/Range Anchoring:
Set the Start Date at the first bar of a sideways range and the End Date at the breakout candle. This reveals the high-node volume clusters that will act as future support or resistance.
Session-Based Anchoring (Intraday):
Align the Start Date with the session open (e.g., London or New York open) to track institutional flow for that specific day .
Event-Driven Anchoring:
Place the Start Date on a significant news event or a Breakaway Gap identified by the script's Gap Engine. This helps determine if the new volume supports the direction of the gap.
Correction Cycles:
During a pullback, anchor the Start Date at the start of the correction to find the Value Area Low (VAL), which often serves as a tactical entry point for a trend continuation.
• Identifying Value:
Use the Value Area to gauge market consensus. Acceptance of price within the VA indicates balance. A breakout above VAH or below VAL suggests the market is searching for new value. The POC often acts as a magnet for price correction.
• Trading Breakouts:
Watch for Breakaway Gaps (Blue) that align with a move out of the Volume Profile's Value Area. This confluence increases the probability of a sustained trend.
• Spotting Reversals:
Combine Exhaustion Gaps (Red) with Liquidity Strain Signals (SE/BE) . If price gaps up into a low-volume node on the profile and prints a "Buyer Exhaustion" signal, it suggests the move is unsupported by liquidity and liable to reverse.
• Support and Resistance:
The extended dotted lines from the Smart Gap boxes act as dynamic support/resistance. A retest of a "Runaway Gap" is often a viable entry point for trend continuation.
⚙️ Inputs and Settings
• Global Profile:
Start/End Date: Define the exact window for the volume profile calculation.
Extend to Present: If checked, the profile updates with live data beyond the end date.
• Profile Settings:
Number of Rows: Determines the vertical resolution (granularity) of the histogram.
Value Area %: Default is 70%, representing one standard deviation of volume distribution.
Placement: Position the profile on the Left or Right of the defined range.
• Liquidity & Gaps:
Unusual Threshold: Multiplier of average volume to highlight institutional bars (default 2.0x).
Structure Lookback: Adjusts the sensitivity of pivot detection for gap classification.
Stress Threshold (Sigma): The Z-Score limit for triggering Liquidity Strain signals (default 2.0).
🔍 Deconstruction of the Underlying Scientific and Academic Framework
• Auction Market Theory (AMT):
The script is grounded in AMT, which posits that the market's primary function is to facilitate trade. The Volume Profile visualizes this by displaying a bell curve of price distribution. The Value Area (typically 70%) corresponds to the First Standard Deviation in a normal Gaussian distribution, representing the area of "Fair Value" where buyers and sellers agree.
• Market Microstructure & Kyle’s Lambda:
The Liquidity Strain module draws conceptually from Kyle’s Lambda, a metric in market microstructure that measures market depth and price impact (Illiquidity). By calculating the ratio of price change (True Range) to Volume, the script approximates the "cost" of moving the market.
• Statistical Z-Score Normalization:
To make the liquidity data actionable, the script applies Z-Score normalization: Z = (X - μ) / σ . This converts raw illiquidity values into standard deviations from the mean. A Z-Score above +2.0 signifies a statistically significant anomaly—an outlier event where price moved excessively relative to the volume traded, often preceding a mean-reversion event.
⚠️ 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.
TrendlinesTrendline S&R
This indicator is an automated technical analysis tool designed to identify the most relevant Support and Resistance (S&R) zones based on market pivots. Unlike standard pivot indicators that clutter the chart with historic lines, this script uses a "Closest-to-Price" algorithm to display only the single most relevant Support (Green) and Resistance (Red) zone currently interacting with price action.
It solves common frustrations with automated trendlines—specifically the issue of lines disappearing immediately upon a breakout—by introducing a Stability Buffer.
Key Features & Importance
The script scans hundreds of potential trendlines but only draws the one geographically closest to the current price.
Importance: This ensures you are looking at the zone that matters right now. It filters out distant or irrelevant historic lines, keeping your chart clean and focused on immediate price action.
🛡️ 5-Bar Stability Buffer (Anti-Flicker)
Feature: A hardcoded 5-bar "memory" prevents the zone from disappearing the moment price touches or breaks it.
Importance: This is critical for trading breakouts. It allows you to see the zone persist while price breaches it, helping you distinguish between a true breakout, a fakeout, or a retest, without the reference level vanishing from your screen.
🔍 Dynamic Pivot Filtering
Feature: Uses a restricted Pivot Strength (5-15) and Minimum Confirmation (2-8 touches).
Importance: By enforcing these limits, the indicator ignores insignificant market noise and micro-swings, ensuring that drawn zones represent structural market levels with genuine liquidity.
🔔 Integrated Alert System
Feature: Built-in alerts for "Zone Breakout" (candle close crossing the zone) and "Zone Touch" (wick entering the zone).
Importance: Allows you to set the indicator and walk away. You will be notified instantly when price interacts with these key levels, removing the need to stare at the chart.
📉 Adaptive Tolerance (Fixed ATR)
Feature: Uses a fixed ATR multiplier internally to determine the width of the zone.
Importance: This automatically adjusts the thickness of the support/resistance zone based on the asset's volatility.
Settings Guide
Bars to Apply: How far back in history the script looks for pivots (Default: 300).
Pivot Source: Choose between calculating from "High/Low" (wicks) or "Close" (bodies).
Pivot Strength: The number of bars required on each side to define a swing point (Range: 5–15).
Min Pivot Confirmation: The minimum number of touches required to validate a trendline (Range: 2–8).
How to Use
Add the indicator to your chart.
Adjust Pivot Strength if you want to catch smaller swings (lower number) or major structures (higher number).
Set an alert in TradingView by clicking the "Clock" icon, selecting this indicator, and choosing "Zone Breakout" or "Zone Touch".
Range Indicator Golden Pocket, Liquidity, FairValueGapOverview
This indicator is a comprehensive institutional market structure toolkit. It is designed to identify high-probability reversal zones by merging three powerful technical analysis concepts: Fibonacci Golden Pockets (61.8% - 65%), Liquidity Pool Analysis (Swing Failure Patterns), and Fair Value Gaps (FVG). By automating the detection of price inefficiencies and "stop runs," it helps traders navigate complex price action with objective, rule-based confirmation.
What the Script Does
The script continuously monitors a user-defined lookback period to define a trading range. Within this range, it dynamically plots:
Golden Pockets: High-confluence retracement zones (calculated as 0.35 - 0.382 internal range levels).
Liquidity Zones: Highlighted regions at the absolute high and low (Top/Bottom 5%) where institutional orders and retail stops are typically concentrated.
Swing Failure Patterns (SFP): Real-time detection of liquidity grabs where price breaches a range extreme but fails to close outside, signaling a potential trap.
Fair Value Gaps (FVG): Visualizes 3-candle price imbalances, showing areas of aggressive buying or selling that often act as future magnets or support/resistance.
2-Candle Confirmation: A momentum-based filter requiring a candle-close confirmation before a reversal signal is generated.
For Whom is it?
Smart Money Concepts (SMC) & ICT Students: Traders looking for automated liquidity sweeps and market inefficiencies.
Fibonacci & Mean Reversion Traders: Those seeking a clean, professional visualization of the Golden Pocket across multiple timeframes.
Systematic Day Traders: Who require strict price-action confirmation (SFP and 2-candle rules) to remove emotional bias from their entries.
Functions and Input Options
1. Market Structure & Visuals
Lookback Period (Default: 100): Defines the window for calculating the range extremes.
Box Offset Right (Default: 50): Extends all zones into the future for better anticipatory trading.
Show Price Lines & Labels: Displays the exact price for every zone boundary on the right axis for precise execution.
2. Fair Value Gap (FVG) Settings
Show Fair Value Gaps: A toggle to enable/disable the plotting of price imbalances.
FVG Extension (Default: 10): Determines how many bars into the future the FVG box remains visible.
Custom Colors: Separate color inputs for Bullish (Gap Up) and Bearish (Gap Down) inefficiencies.
3. Professional Alert System
The script includes five specific alert conditions:
GP Touch: Early warning when price enters a Golden Pocket.
2-Candle Pattern: Confirmed momentum shift within a Golden Pocket.
SFP Long/Short: Alerts when a Liquidity Grab (Swing Failure) is confirmed at the range high or low.
Transparency and Compliance (Moderator Info)
Non-Repainting Logic: All signals (SFP, 2-Candle, and FVG) are calculated and triggered based on confirmed candle closes. Drawings use barstate.islast purely for visual efficiency without altering historical data integrity.
Educational Context: The script visualizes well-known market principles (Fibonacci, SFPs, and FVGs) to aid traders in their analysis; it does not provide automated financial advice or "black-box" buy/sell signals.
Resource Management: Optimized for Pine Script v5, using efficient array and box handling to ensure smooth performance even on lower timeframes.
DLR - Daily Liquidity Range Framework (v1.3)Daily Level Ranges
This strategy targets discounted premiums for buying Call/Put Options in discounted areas based on liquidity levels that form ranges.
Opening Range creates the strongest liquidity for the day.
Premarket Highs/Lows are strong liquidity points.
Previous Day Highs/Lows are reliable liquidity points.
PMH/PML and PDH/PDL may alternate positions relative to OR.
* Discounted Calls are taken under the OR in Bullish conditions
* Discounted Puts are taken above the OR in bearish conditions.
- Momentum Calls are taken at the OR in Bullish Conditions
- Momentum Puts are taken at the OR in Bearish Conditions
eBacktesting - Learning: Liquidity GrabseBacktesting - Learning: Liquidity Grabs highlights moments when price pushes just beyond a recent swing high or swing low (where many stops tend to sit) and then quickly returns back inside the level. This behavior is often called a stop run, sweep, or liquidity grab.
Traders study these events because they can reveal:
- Where liquidity is “resting” (obvious highs/lows)
- A quick sweep and rejection (often a wick)
- When a breakout attempt is actually a trap
- A full candle close through the level, followed by an immediate reversal back inside (classic breakout trap)
- Potential areas where price may reverse or accelerate after stops are taken
Use it as a training tool to build pattern recognition and improve your patience around key levels, especially during active sessions where sweeps happen frequently.
These indicators are built to pair perfectly with the eBacktesting extension, where traders can practice these concepts step-by-step. Backtesting concepts visually like this is one of the fastest ways to learn, build confidence, and improve trading performance.
Educational use only. Not financial advice.
eBacktesting - Learning: Buy/Sell-side LiquidityeBacktesting - Learning: Buy/Sell-side Liquidity
Buy-side and sell-side liquidity are some of the most important “magnets” in day trading. When price forms obvious swing highs and swing lows, stop-loss orders often build up just above those highs (buy-side liquidity) and just below those lows (sell-side liquidity). Markets frequently move into these areas to “take” that liquidity before making the next meaningful move.
This indicator helps you spot those potential liquidity pools and highlights when price reaches them. Use it to study:
- where stops are likely resting above highs / below lows
- how often price sweeps those areas before reversing
- how liquidity runs can trigger the next expansion or trend continuation
These indicators are built to pair perfectly with the eBacktesting extension, where traders can practice these concepts step-by-step. Backtesting concepts visually like this is one of the fastest ways to learn, build confidence, and improve trading performance.
Educational use only. Not financial advice.
Orion Time Matrix | ICT Macros [by AK]ORION TIME MATRIX | ICT MACRO SUITE
The Orion Time Matrix is a precision timing instrument designed to decipher the algorithmic "Heartbeat" and the timing of institutional order flow in US Index Futures markets, specifically Nasdaq (NQ) and S&P 500 (ES).
Inspired by the "Time & Price" teachings of Michael J. Huddleston (The Inner Circle Trader), this tool maps out the specific time windows where algorithms seek liquidity and price delivery is most efficient.
Liquidity Trend Horizon [Pineify]Pineify - Liquidity Trend Horizon
The Liquidity Trend Horizon is a sophisticated trend-following indicator designed to identify potential liquidity sweep zones while providing clear visual trend direction. It combines adaptive volatility bands with smart liquidity detection to help traders spot high-probability reversal points where institutional activity may be occurring.
Key Features
Dynamic trend baseline using WMA and EMA smoothing
ATR-based volatility bands that adapt to market conditions
Automatic liquidity sweep detection with visual alerts
Gradient-filled channels for intuitive trend visualization
Real-time candle coloring based on trend direction
How It Works
The indicator calculates a weighted moving average (WMA) of the closing price, then applies exponential smoothing (EMA) to create a responsive yet stable baseline. This dual-smoothing approach filters out market noise while maintaining sensitivity to genuine trend changes.
Volatility bands are constructed using a 200-period Average True Range (ATR) multiplied by a user-defined factor. This creates dynamic support and resistance zones that automatically widen during volatile periods and contract during consolidation.
How Multiple Indicators Work Together
The synergy between WMA, EMA, and ATR creates a comprehensive trend analysis system:
The WMA provides the initial trend estimation with emphasis on recent price action
The EMA layer adds smoothness to reduce false signals
The ATR bands define probabilistic boundaries where price is likely to find support or resistance
Trading Ideas and Insights
Liquidity sweeps occur when price wicks beyond the volatility bands but closes back within the channel. These events often indicate:
Stop-loss hunting by larger market participants
False breakouts that may lead to reversals
Areas of accumulated liquidity being absorbed
A bullish sweep (wick below lower band, close above) suggests potential buying opportunity. A bearish sweep (wick above upper band, close below) may signal selling pressure.
Unique Aspects
Unlike traditional channel indicators, the Liquidity Trend Horizon specifically identifies sweep events where price temporarily breaks boundaries before reverting. This behavior is commonly associated with institutional order flow and smart money concepts.
How to Use
Observe the baseline color for overall trend direction (cyan for bullish, purple for bearish)
Watch for sweep markers (🚀 BULL / 📉 BEAR) at band extremes
Use background flashes as immediate alerts for sweep events
Consider entries when sweeps align with the prevailing trend direction
Customization
Trend Period - Adjust baseline sensitivity (default: 24)
Channel Width Multiplier - Control band distance from baseline (default: 2.0)
Smoothness - Fine-tune signal responsiveness (default: 5)
Color Settings - Personalize bullish/bearish colors and transparency
Conclusion
The Liquidity Trend Horizon bridges technical analysis with liquidity concepts, offering traders a unique perspective on market structure. By highlighting potential sweep zones within an adaptive trend framework, it helps identify areas where reversals are statistically more likely to occur.
Smart Money Flow Oscillator [MarkitTick]💡This script introduces a sophisticated method for analyzing market liquidity and institutional order flow. Unlike traditional volume indicators that treat all market activity equally, the Smart Money Flow Oscillator (SMFO) employs a Logic Flow Architecture (LFA) to filter out market noise and "churn," focusing exclusively on high-impact, high-efficiency price movements. By synthesizing price action, volume, and relative efficiency, this tool aims to visualize the accumulation and distribution activities that are often attributed to "smart money" participants.
✨ Originality and Utility
Standard indicators like On-Balance Volume (OBV) or Money Flow Index (MFI) often suffer from noise because they aggregate volume based simply on the close price relative to the previous close, regardless of the quality of the move. This script differentiates itself by introducing an "Efficiency Multiplier" and a "Momentum Threshold." It only registers volume flow when a price move is considered statistically significant and structurally efficient. This creates a cleaner signal that highlights genuine supply and demand imbalances while ignoring indecisive trading ranges. It combines the trend-following nature of cumulative delta with the mean-reverting insights of an In/Out ratio, offering a dual-mode perspective on market dynamics.
🔬 Methodology
The underlying calculation of the SMFO relies on several distinct quantitative layers:
• Efficiency Analysis
The script calculates a "Relative Efficiency" ratio for every candle. This compares the current price displacement (body size) per unit of volume against the historical average.
If price moves significantly with relatively low volume, or proportional volume, it is deemed "efficient."
If significant volume occurs with little price movement (churn/absorption), the efficiency score drops.
This score is clamped between a user-defined minimum and maximum (Efficiency Cap) to prevent outliers from distorting the data.
• Momentum Thresholding
Before adding any data to the flow, the script checks if the current price change exceeds a volatility threshold derived from the previous candle's open-close range. This acts as a gatekeeper, ensuring that only "strong" moves contribute to the oscillator.
• Variable Flow Calculation
If a move passes the threshold, the script calculates the flow value by multiplying the Typical Price and Volume (Money Flow) by the calculated Efficiency Multiplier.
Bullish Flow: Strong upward movement adds to the positive delta.
Bearish Flow: Strong downward movement adds to the negative delta.
Neutral: Bars that fail the momentum threshold contribute zero flow, effectively flattening the line during consolidation.
• Calculation Modes
Cumulative Delta Flow (CDF): Sums the flow values over a rolling period. This creates a trend-following oscillator similar to OBV but smoother and more responsive to real momentum.
In/Out Ratio: Calculates the percentage of bullish inflow relative to the total absolute flow over the period. This oscillates between 0 and 100, useful for identifying overextended conditions.
📖 How to Use
Traders can utilize this oscillator to identify trend strength and potential reversals through the following signals:
• Signal Line Crossovers
The indicator plots the main Flow line (colored gradient) and a Signal line (grey).
Bullish (Green Cloud): When the Flow line crosses above the Signal line, it suggests rising buying pressure and efficient upward movement.
Bearish (Red Cloud): When the Flow line crosses below the Signal line, it suggests dominating selling pressure.
• Divergences
The script automatically detects and plots divergences between price and the oscillator:
Regular Divergence (Solid Lines): Suggests a potential trend reversal (e.g., Price makes a Lower Low while Oscillator makes a Higher Low).
Hidden Divergence (Dashed Lines): Suggests a potential trend continuation (e.g., Price makes a Higher Low while Oscillator makes a Lower Low).
"R" labels denote Regular, and "H" labels denote Hidden divergences.
• Dashboard
A dashboard table is displayed on the chart, providing real-time metrics including the current Efficiency Multiplier, Net Flow value, and the active mode status.
• In/Out Ratio Levels
When using the Ratio mode:
Values above 50 indicate net buying pressure.
Values below 50 indicate net selling pressure.
Approaching 70 or 30 can indicate overbought or oversold conditions involving volume exhaustion.
⚙️ Inputs and Settings
Calculation Mode: Choose between "Cumulative Delta Flow" (Trend focus) or "In/Out Ratio" (Oscillator focus).
Auto-Adjust Period: If enabled, automatically sets the lookback period based on the chart timeframe (e.g., 21 for Daily, 52 for Weekly).
Manual Period: The rolling lookback length for calculations if Auto-Adjust is disabled.
Efficiency Length: The period used to calculate the average body and volume for the efficiency baseline.
Eff. Min/Max Cap: Limits the impact of the efficiency multiplier to prevent extreme skewing during anomaly candles.
Momentum Threshold: A factor determining how much price must move relative to the previous candle to be considered a "strong" move.
Show Dashboard/Divergences: Toggles for visual elements.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
This indicator represents a hybrid synthesis of academic Market Microstructure theory and classical technical analysis. It utilizes an advanced algorithm to quantify "Price Impact," leveraging the following theoretical frameworks:
• 1. The Amihud Illiquidity Ratio (2002)
The core logic (calculating body / volume) functions as a dynamic implementation of Yakov Amihud’s Illiquidity Ratio. It measures price displacement per unit of volume. A high efficiency score indicates that "Smart Money" has moved the price significantly with minimal resistance, effectively highlighting liquidity gaps or institutional control.
• 2. Kyle’s Lambda (1985) & Market Depth
Drawing from Albert Kyle’s research on market microstructure, the indicator approximates Kyle's Lambda to measure the elasticity of price in response to order flow. By analyzing the "efficiency" of a move, it identifies asymmetries—specifically where price reacts disproportionately to low volume—signaling potential manipulation or specific Market Maker activity.
• 3. Wyckoff’s Law of Effort vs. Result
From a classical perspective, the algorithm codifies Richard Wyckoff’s "Effort vs. Result" logic. It acts as an oscillator that detects anomalies where "Effort" (Volume) diverges from the "Result" (Price Range), predicting potential reversals.
• 4. Quantitative Advantage: Efficiency-Weighted Volume
Unlike linear indicators such as OBV or Chaikin Money Flow—which treat all volume equally—this indicator (LFA) utilizes Efficiency-Weighted Volume. By applying the efficiency_mult factor, the algorithm filters out market noise and assigns higher weight to volume that drives structural price changes, adopting a modern quantitative approach to flow analysis.
● 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.
Institutional PointOverview Institutional Point is a sophisticated data-mining indicator designed to identify and track "institutional footprints" by isolating the single candle with the highest volume relative to a specific time anchor. Unlike traditional volume profiles that aggregate data into price bins, this script pinpoints the exact temporal origin of massive liquidity injections.
Core Methodology The script operates on a multi-timeframe analysis engine (MTF). It scans sub-chart data (2-minute or 15-minute intervals) to find the absolute maximum volume peak within a defined period. Once the "Institutional Point" is identified:
Source Identification: The origin candle is highlighted in white, signaling a high-conviction entry or exit by large-scale market participants.
Zone Projection: A borderless "Institutional Zone" is projected forward from the spike’s high/low range.
Dynamic Interaction: The zone remains active until the price revisits the area (mitigation) or until the time-based expiration is reached.
Anchor Modes & Precision
8-Hour Cycle: Optimized for high-frequency scalping. Anchors reset at 00:00, 08:00, and 16:00. Utilizes ultra-precise 2-minute volume detection.
Daily Session: Designed for intraday and swing traders. Anchors to the Daily Open. Utilizes 2-minute volume detection to isolate precise institutional orders.
Weekly Cycle: Built for identifying major structural pivots. Anchors to the Weekly Open. Utilizes 15-minute volume detection for macro-liquidity analysis.
Key Features
Naked Level Tracking: Zones automatically stop extending the moment they are "hit" by price action, providing a clean visual of unmitigated liquidity.
Anti-Noise Filter: Automatically excludes Saturday and Sunday data to maintain statistical integrity across global markets.
Minimalist Interface: High-contrast visual design focused on scannability and professional chart aesthetics.
Use Cases
Data Science & Backtesting: Ideal for measuring the "Z-Score" or "Percentile Distance" from institutional peaks.
Supply & Demand Trading: Automated identification of the "Origin of the Move."
Magnet Analysis: Tracking "Naked" volume spikes as high-probability magnets for future price mean reversion.
Session Liquidity Raid ModelSession Liquidity Raid Model
This indicator helps you understand what each market session is doing with liquidity — without guessing, predicting, or over-complicating things.
It tracks the Asia, London, and New York sessions and shows you:
Where each session’s highs and lows are
Whether those levels have been taken (raided) or are still untouched
When New York is likely cleaning up liquidity left by London
The basic idea (very simple)
If London moves price strongly without taking Asia’s opposite side, New York often comes back to raid London levels first before the real move happens.
This indicator makes that process visible at a glance.
What it shows on the chart
Asia High & Low
London High & Low
Whether each level is taken or not
A simple Bullish / Bearish / Neutral session bias
Clean horizontal lines for key session levels
No buy or sell signals.
No indicators stacked on top of each other.
Just context.
How to use it
Use it to avoid bad trades, not force trades
Wait for liquidity to be taken before looking for entries
Combine it with your own price action, structure, or FVGs
If you trade CME_MINI:NQ1! , this helps you stay aligned with what New York is actually doing, instead of reacting late.
Important note
This is not a trading strategy and it does not predict the future.
It simply shows which session still owes liquidity and which one has already been cleared.
LBMA London Gold Fix Times [Auto DST]## Overview
This lightweight indicator automatically marks the **LBMA Gold Price Fixing** times on your chart using vertical lines. It is designed specifically for **XAUUSD (Gold)** traders who need to monitor institutional liquidity and volatility shifts during the London session.
The indicator tracks the two key daily fixing moments:
* **AM Fix:** 10:30 (London Time)
* **PM Fix:** 15:00 (London Time)
## Key Features
* **🌍 Auto Daylight Saving Time (DST):** Built with the `Europe/London` timezone parameter. It automatically adjusts to British Summer Time (BST) and GMT, so you never have to manually change the UTC offset settings.
* **⚡ Minimalist Design:** Draws clean vertical lines without cluttering your chart with text labels.
* **🎨 Fully Customizable:** You can adjust the line color, width, and style (Solid, Dashed, Dotted) for both AM and PM sessions independently.
## Why are these times important?
The London Gold Fix (LBMA Gold Price) is the global benchmark for physical gold settlement. Major institutions, central banks, and mining companies settle contracts at these times. Consequently, **10:30** and **15:00** (London time) often witness:
1. Significant spikes in volatility.
2. Trend reversals or accelerations.
3. Massive volume injection.
## Usage Tips
* **Timeframe:** This indicator works best on **Intraday Timeframes** (1-minute to 30-minute charts).
* *Note:* It may not be visible on H1 (1-hour) charts or higher because the fix times (e.g., 10:30) occur in the middle of an hourly candle.
* **Setup:** Simply add it to your chart. No timezone configuration is required; the script calculates London time internally.
## Settings
* **AM Fix Color:** Default is Blue (London Morning).
* **PM Fix Color:** Default is Red (London Afternoon/US Morning overlap).
* **Line Style:** Choose between Solid, Dashed, or Dotted lines.
概述 (Overview)
这是一个轻量级的辅助指标,通过垂直线在图表上自动标记 LBMA 伦敦金定盘价(LBMA Gold Price Fixing) 的时刻。它是专为 XAUUSD(黄金) 交易者设计的,旨在帮助大家捕捉伦敦时段内机构流动性和市场波动的关键节点。
该指标会自动锁定每天两个核心的定盘时间:
上午定盘 (AM Fix): 10:30 (伦敦时间)
下午定盘 (PM Fix): 15:00 (伦敦时间)
主要功能 (Key Features)
🌍 自动识别夏令时 (Auto DST): 代码内置 Europe/London 时区参数。无论英国处于夏令时 (BST) 还是冬令时 (GMT),指标都会自动精准对齐,无需用户手动调整时区设置。
⚡ 极简主义设计: 仅绘制干净的垂直线,不显示任何文字标签,避免遮挡K线或干扰视线。
🎨 高度可定制: 您可以独立调整上午和下午定盘线的颜色、粗细以及样式(实线、虚线或点线)。
为什么要关注这两个时间点?
LBMA 伦敦金定盘价是全球实物黄金结算的基准价格。大型金融机构、中央银行和金矿公司通常会在这个时间点集中进行合约结算。因此,在伦敦时间 10:30 和 15:00 前后,市场经常会出现:
波动率瞬间激增。
短期趋势的反转或加速。
巨量成交量的涌入。
使用建议 (Usage Tips)
适用周期: 建议在 日内分时图(1分钟、5分钟、15分钟或30分钟)上使用。
注意: 在 1小时 (H1) 或更大的周期上,线条可能无法显示,因为定盘时间(如 10:30)发生在整点K线的内部,无法被单独标记。
设置方法: 加载指标即可使用。无论您本地电脑的时间设置如何,脚本内部会自动计算正确的伦敦时间。
参数设置 (Settings)
AM Fix Color: 上午定盘线颜色(默认为蓝色)。
PM Fix Color: 下午定盘线颜色(默认为红色,此时往往也是美盘初期的波动高峰)。
Line Style: 线条样式选择(实线、虚线、点线)。
Swing Failure Signals [AlgoAlpha]🟠 OVERVIEW
This script detects swing failure patterns by tracking how price interacts with recent swing highs and lows, then confirming those sweeps with a change in candle behavior. The goal is to highlight areas where price briefly breaks a key level, fails to continue, and then shifts direction. These events often occur around liquidity runs, where stops are triggered before price reverses. The script draws levels, colors bars, and prints clear markers to help visualize where these failures occur and when they are confirmed.
🟠 CONCEPTS
The logic starts with pivot-based swing detection. Recent swing highs and lows are stored and monitored. When price trades beyond one of these levels within a defined historical window, it is treated as a sweep. A sweep alone is not enough. The script then waits for a Change in State of Delivery (CISD), which is defined by a shift in candle structure that shows follow-through in the opposite direction. A tolerance filter measures how far price traveled beyond the level relative to the reaction that followed. If the reaction is strong enough and happens within a limited number of bars, the sweep is validated as a swing failure. In short: the swing defines the reference, the sweep shows intent, and the CISD confirms acceptance or rejection.
🟠 FEATURES
Sweep detection with a maximum lookback to avoid outdated levels
CISD confirmation using candle structure and price expansion
Alert conditions for bullish and bearish swing failures
🟠 USAGE
Setup : Add the script to your chart. It works on any market and timeframe. Lower timeframes highlight intraday liquidity runs, while higher timeframes show structural failures. Start with the default inputs before adjusting.
Read the chart : A bullish swing failure occurs when price sweeps a prior low, then reverses and confirms with a bullish CISD. A bearish swing failure is the opposite, sweeping a prior high and confirming with a bearish CISD. Dashed lines mark the swept swing. Solid lines mark the CISD level. Bars are colored while the SFP state is active.
Settings that matter : Increasing Pivot Detection Length finds more significant swings but fewer signals. Reducing Max Pivot Point Edge limits how far back sweeps are allowed, keeping signals more current. The Patience setting controls how many bars are allowed for confirmation after a sweep. The Trend Noise Filter raises or lowers how strong the reaction must be to qualify as a valid failure.
GLI Fed Plumbing Regime (v1.0)GLI Regime Index
Global Liquidity Intelligence for Risk Markets
The GLI Regime Index is a macro-liquidity regime engine that classifies the financial system based on where cash is actually flowing inside the Fed–Treasury plumbing.
Markets do not move on narratives.
They move on liquidity .
GLI measures that liquidity in real time by combining four institutional-grade signals:
• Fed Reverse Repo (RRP) – where excess cash is being parked
• 3-Month Treasury Bills – where short-term money prefers to earn yield
• IORB – the Federal Reserve’s policy floor
• SOFR – the true cost of funding in the system
By comparing these flows, GLI identifies which institution is currently in control of money:
Regime What It Means
FED DOMINANT Abundant reserves, liquidity flowing into risk assets
T-BILL DOMINANT Treasury absorbing liquidity, risk tightening
CASH GLUT Excess money trapped at the Fed (RRP high)
FUNDING STRESS Funding markets under pressure (SOFR > IORB)
NEUTRAL Transition state between regimes
Why this matters
Assets like NVDA, BTC, high-beta tech, and growth stocks don’t trade on earnings — they trade on marginal liquidity.
GLI tells you:
When rallies are supported by real money
When breakouts are likely to fail
When dips are being bought vs distributed
When risk is being quietly withdrawn
How to use it
Apply GLI to any chart.
When the background turns:
Green (Fed Dominant) → Risk assets are structurally supported
Orange (T-Bill Dominant) → Liquidity is draining from risk
Blue (Cash Glut) → Money is stuck at the Fed, rallies struggle
Red (Funding Stress) → Volatility and liquidation risk rise
The built-in Liquidity HUD shows:
RRP usage
Fed vs Treasury dominance
SOFR stress
Rate spreads in real time
No interpretation required.
What GLI is not
GLI is not a technical indicator.
It does not look at price, volume, or momentum .
It looks at the money behind the price .
That’s why it works.
Wyckoff Map (TR + S/D + Springs/Upthrusts)Wyckoff Map is a context-aware market structure overlay that visualizes key Wyckoff concepts directly on the price chart — without repainting and without relying on black-box signals.
Instead of generating isolated buy/sell alerts, this tool maps the environment in which price is operating, helping traders understand where supply and demand are interacting, where liquidity is being swept, and which phase the market is likely in.
What the script shows
Trading Range (TR)
Automatically detects a recent trading range
Displays the range as a shaded box for immediate context
Supply & Demand Zones
Demand zone near the range low (buyers’ area)
Supply zone near the range high (sellers’ area)
Zones adapt dynamically as the range evolves
Wyckoff Events
Spring: downside liquidity sweep followed by a reclaim (potential accumulation behavior)
Upthrust: upside liquidity sweep followed by failure (potential distribution behavior)
Events are filtered by range context and optional volume confirmation
Market Phase (Heuristic)
Labels the current environment as:
Accumulation
Distribution
Neutral Trading Range
Markup / Markdown
Phase is inferred from price position within the range and moving-average slope
Legend & Visual Guidance
A floating legend explains all zones and events
Designed to remain readable during replay and live trading
How to use
This script is not a standalone trading strategy.
It is best used to:
Avoid chasing breakouts into supply
Identify failed breakdowns near demand
Recognize accumulation vs distribution behavior
Add context to lower-timeframe entries
Combine with your own execution model (structure, risk, or order flow)
Higher-timeframe context is strongly recommended.
⚙️ Customization
You can adjust:
Trading range length
Zone thickness (ATR-based)
Pivot sensitivity
Volume confirmation
Event confirmation strictness
Visibility of zones, events, phase labels, and legend
Disclaimer
Wyckoff analysis is contextual and probabilistic, not deterministic.
This tool visualizes structural behavior — it does not predict future price.
Use proper risk management.
TL;DR (Short Description)
A non-repainting Wyckoff market structure overlay that maps trading ranges, supply/demand zones, Springs, Upthrusts, and accumulation/distribution phases directly on the chart.
Key Price Levels + Zones"Support and resistance are rarely exact lines; hey are zones where price reacts."
This indicator upgrades standard horizontal levels by visualizing Liquidity Zones around the most critical intraday reference points: Pre-Market, Previous Day, and Previous Week Highs/Lows.
Unlike basic scripts that just draw thin lines, this tool combines the precision of exact price levels with the reality of market volatility. It offers deep customization, allowing you to separate line colors from zone colors, perfect for keeping your charts clean and professional.
Key Features
1. Dual Zone Logic (Dynamic Sizing)
• Price Tier Mode (Default): Zones are sized based on the asset price (e.g., higher-priced stocks get wider zones automatically). This mimics "psychological" levels.
• ATR Volatility Mode: Switches calculation to use the Average True Range (ATR). Zones expand during high volatility and contract during chop, adapting to the market conditions in real-time.
2. Ultimate Customization
• Separate Colors: You can finally set your Line Color (e.g., Bright Green) independently from your Zone Fill (e.g., Faint Grey).
• Individual Toggles: Turn the Line, Zone, or Label on/off individually for every single level.
• Line Styles: Differentiate daily levels (Solid) from weekly levels (Dashed) instantly.
3. The "Smart" Levels
• PM High/Low: Real-time Pre-Market tracking that freezes at the open.
• PD High/Low: Previous Day’s range.
• PW High/Low: Previous Week’s range (Critical for swing points).
---
Settings Guide
• Extension Style:
- Individual: Keeps history of levels for backtesting.
- Most Recent: Keeps the chart minimal by extending only today's levels.
• Zone Thickness Mode: Switch between "Price Tier" and "ATR Volatility".
• ATR Settings: Fully adjustable Length and Multiplier (when in ATR mode).
• Transparency: Global slider to control how subtle or bold the zones appear.
How to Trade This
• The "Trap": If price breaks a Line but fails to close outside the Zone, it is often a liquidity grab (fakeout).
• The Retest: Watch for price to break a level and use the Zone as a cushion for a bounce/retest entry.
Options Liquidity Meter (OLM)❓ The question behind this indicator
When trading options, it is common to experience situations where price moves in the expected direction, yet the option contract does not increase in value as anticipated.
This typically happens when one or more of the following conditions is missing:
Insufficient liquidity participation
Lack of volatility expansion
Weak or passive order flow
Options Liquidity Meter (OLM) was created to address this specific question:
“If price moves from here, are there conditions for option premiums to actually expand?”
🎯 What this indicator does
Options Liquidity Meter is a context tool, not a trading system.
It evaluates whether the current market environment is favorable for option premium expansion , based on three core engines:
Liquidity (Relative Volume)
Measures whether price movement is supported by meaningful participation.
Volatility State
Identifies compression, release, and expansion phases, where options tend to respond differently.
Order Flow Activity (OBV-based)
Acts as a proxy for active vs. passive participation, helping filter hollow moves.
These components are combined into a single, easy-to-read options context.
🟢🟡🔴 Options Context Output
The indicator displays one consolidated state:
RED — NO EXPANSION
Price may move, but option premiums often do not respond.
YELLOW — BUILDING
Liquidity or volatility is developing. Conditions are improving but not fully aligned.
GREEN — EXPANSION LIKELY
Liquidity, volatility expansion, and active flow are aligned.
This is a favorable environment for option premium expansion.
The same logic is reflected visually through the background color and summarized in the dashboard.
📊 How to read the dashboard
The dashboard shows:
Liquidity: LOW / OK / HIGH
Volatility: COMPRESSED / RELEASED / EXPANDING
Order Flow: FLAT / ACTIVE
Options Context: NO EXPANSION / BUILDING / EXPANSION LIKELY
Below, a Background Color Meaning section explains what each color represents, making the indicator intuitive and educational.
📍 Where to apply this indicator
Options Liquidity Meter must be applied to the underlying asset chart, such as:
Indices (SPY, SPX, QQQ, etc.)
Stocks
Futures
ETFs
It is not designed to be applied to option contracts themselves.
The indicator evaluates the market conditions of the underlying, which are the drivers that influence option premium behavior.
Contract selection (strike, delta, gamma, expiration) remains the trader’s responsibility.
🧠 How to use it
Use your own methodology to define:
Direction
Structure
Entries and exits
Use Options Liquidity Meter to evaluate:
Whether the current environment supports option premium expansion
If the context is RED, be cautious — price may move without rewarding options.
If the context is GREEN, the environment is statistically more favorable for options responsiveness.
🔗 Complementary tools
Options Liquidity Meter is designed to complement, not replace, other tools.
It works well alongside:
Opening Path Selector (EMA200 Context Tool)
For deciding which asset offers the cleanest directional context.
Multi-Tool VWAP + EMAs (Multi-Timeframe) + Key Levels
For in-chart structure, bias, and reference levels.
Each tool addresses a different stage of the decision process and can be used independently.
⚠️ Important notes
This indicator provides context only
It does not generate trading signals
No indicator guarantees results
Use at your own risk.
Liquidity Strain Detector [MarkitTick]💡 This indicator provides a specialized method for detecting market anomalies where price movement becomes disconnected from typical volume profiles, signaling potential exhaustion events. By combining statistical analysis of liquidity (price impact) with a directional trend filter, the tool aims to highlight moments of extreme market stress, such as panic selling or euphoric buying, that often precede mean reversions or trend pauses.
● Originality and Utility
Standard volume indicators often look at raw volume levels, which can be misleading during different times of the day or across different assets. This script calculates the efficiency of moving price (Illiquidity) and normalizes it statistically. This allows the trader to see when the market is becoming thin or stressed relative to recent history. It is particularly useful for contrarian traders looking for capitulation points within established trends, offering a unique perspective beyond standard RSI or MACD divergence.
● Methodology
The core mechanism drives a custom Liquidity Engine that performs the following steps:
Price Impact Calculation: It computes the ratio of the True Range to Volume. High values indicate that price is moving significant distances on relatively low volume or that volatility is extreme relative to participation.
Normalization: The raw impact data is smoothed using a logarithmic scale to handle the wide variance in volume data.
Statistical Scoring (Z-Score): The script calculates the Z-Score of this normalized data over a user-defined lookback period. This determines how many standard deviations the current liquidity stress is away from the mean.
Trend Filtering: A standard Exponential Moving Average (EMA) determines the dominant market direction to contextualize the stress signal.
● How to Use
The indicator plots labels on the chart when specific High Stress conditions are met during a trend:
SE (Seller Exhaustion - Green Label): Appears when the market is in a downtrend (price below EMA), the current candle is bearish, and the liquidity stress Z-Score breaches the upper threshold. This suggests panic selling or a liquidity gap down, often marking a temporary bottom or reversal point.
BE (Buyer Exhaustion - Red Label): Appears when the market is in an uptrend (price above EMA), the current candle is bullish, and the liquidity stress Z-Score breaches the upper threshold. This suggests a melt-up or buying climax into thin liquidity, often preceding a pullback.
● Inputs
Trend Filter Length: The period for the EMA used to determine the baseline trend direction.
Statistical Lookback: The number of bars used to calculate the mean and standard deviation for the Z-Score.
Stress Threshold (Sigma): The Z-Score value required to trigger a high-stress signal. Higher values result in fewer, more extreme signals.
● 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.
SCOTTGO - Liquidity Zones (Sweeps + Tethers)
SCOTTGO - Liquidity Zones is a high-performance technical analysis tool designed to identify and track Institutional Liquidity Zones, Price Sweeps, and Pivot Levels with a clean, professional-grade interface.
Key Features
Dynamic Liquidity Zones: Automatically identifies Bullish and Bearish zones based on customizable pivot lookbacks.
Identify Liquidity Sweeps: Detects when price "pokes" through a zone but fails to close beyond it, marking the event with a distinct label and a visual tether line.
Active Tracking: Zones and LIQ lines track price in real-time until they are mitigated (broken by a candle close), at which point they visually "deactivate" to reduce clutter.
Professional UI: Features a compact, single-row styling menu (Color, Thickness, and Line Style) that mirrors TradingView’s native design.
Visual Elements
LIQ Lines: Solid or dashed lines tracking the exact pivot price within active zones.
Sweep Tethers: Vertical lines connecting the candle extreme to the "SWEEP" label for precise visual confirmation.
Detailed Tooltips: Hover over LIQ labels or Sweep tags to view specific price data and zone context.
Zone Titles: Clearly labeled "BULL ZONE" and "BEAR ZONE" tags with independent font size controls.
How to Use
Core Logic: Adjust the Pivot Lookback to define the strength of the levels you want to track.
Styling: Use the Inputs Tab for compact, specialized styling of Lines, Borders, and Sweeps.
Analysis: Look for "Sweeps" at zone boundaries as potential signs of reversal or stop-running.
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")
Liquidity Sweeps [Kodexius]Liquidity Sweeps is a price action indicator built to visualize and react to common “stop run” behavior around recent swing highs and swing lows. It continuously detects pivot-based liquidity levels (recent resistance and support), extends them forward in time, and then classifies the interaction when price probes beyond a level but fails to hold through it.
The script focuses on two outcomes:
Buy-Side Liquidity Sweep (BSL): price takes liquidity above a recent swing high (high breaks above the level) but closes back at or below the level.
Sell-Side Liquidity Sweep (SSL): price takes liquidity below a recent swing low (low breaks below the level) but closes back at or above the level.
To support real trading workflows, it keeps charts readable by limiting active levels, offers clean styling options, and optionally filters sweep signals using relative volume (RVOL) so you can require participation before a sweep is considered valid.
🔹 Features
🔸 Pivot-Based Liquidity Level Detection (Swing Highs and Swing Lows)
The indicator uses a user-defined Pivot Length to identify confirmed swing points:
Pivot Highs become resistance liquidity levels (buy-side liquidity above highs).
Pivot Lows become support liquidity levels (sell-side liquidity below lows).
Each detected level is drawn as a horizontal line and automatically extended to the current bar until it is swept or broken.
🔸 Automatic Level Management (De-Cluttering)
To prevent chart overload, the script stores levels in internal arrays and enforces Maximum Active Levels:
When new levels are added and the limit is exceeded, the oldest level is removed.
This keeps only the most relevant, recent liquidity zones visible.
🔸 Clear Sweep Classification (BSL and SSL)
The sweep logic is intentionally strict and practical:
- BSL Sweep triggers when the bar’s high is above resistance but the close is back below or at resistance.
- SSL Sweep triggers when the bar’s low is below support but the close is back above or at support.
This models the “probe and reject” behavior typical of liquidity grabs.
🔸 Optional Volume Confirmation Using RVOL
When Enable Volume Filter is turned on, sweeps are only valid if the current bar’s volume is strong relative to the last 20 bars:
The script computes a 20-period volume average.
You can require volume to exceed the average by a chosen Volume Multiplier (example: 1.5 means 150% of the average).
If the filter is disabled, sweeps are evaluated purely on price conditions.
🔸 Sweep Labels and Level Highlighting
On a valid sweep:
A label is printed on the sweep bar:
- ▼ BSL for buy-side liquidity sweeps (yellow)
- ▲ SSL for sell-side liquidity sweeps (blue)
The swept level is highlighted by drawing an additional colored line over the swept range.
The script also prints the bar’s RVOL percentage near the midpoint of the swept line segment:
- BSL volume text is placed above the line midpoint
- SSL volume text is placed below the line midpoint
This makes it easy to see whether a sweep was low-effort or supported by strong participation.
🔸 Styling Controls
You can fully tailor the visual output:
Resistance and support line colors
Line style selection: Solid, Dotted, Dashed
Toggle sweep labels on or off
🔸 Alerts
The indicator exposes alert conditions for both sweep types and also fires explicit alert messages once per bar close when a sweep is confirmed:
- Buy Liquidity Sweep (BSL)
- Sell Liquidity Sweep (SSL)
🔹 Calculations
1) Pivot High / Pivot Low Detection
float ph = ta.pivothigh(high, pivotPeriodInput, pivotPeriodInput)
float pl = ta.pivotlow(low, pivotPeriodInput, pivotPeriodInput)
Interpretation:
A pivot is only confirmed after pivotPeriodInput bars have passed.
Once confirmed, the level is anchored at the pivot bar and then extended forward.
2) Creating and Storing Liquidity Levels
New Resistance (Pivot High):
if not na(ph)
line newL = line.new(bar_index , ph, bar_index, ph,
color = resistanceColorInput, width = 1, style = getLineStyle(lineStyleInput))
resistanceLevels.push(LiquidityLevel.new(ph, bar_index , newL))
if resistanceLevels.size() > maxLinesInput
(resistanceLevels.shift()).delete()
New Support (Pivot Low):
if not na(pl)
line newL = line.new(bar_index , pl, bar_index, pl,
color = supportColorInput, width = 1, style = getLineStyle(lineStyleInput))
supportLevels.push(LiquidityLevel.new(pl, bar_index , newL))
if supportLevels.size() > maxLinesInput
(supportLevels.shift()).delete()
This enforces the “Maximum Active Levels” limit by deleting the oldest stored level when the cap is exceeded.
3) Relative Volume (RVOL) and Volume Filter
float volAvg = ta.sma(volume, 20)
float volRelative = (volume / volAvg) * 100
bool isVolStrong = not useVolFilterInput or (volume > volAvg * volMultiplierInput)
volRelative expresses the sweep bar’s volume as a percentage of the last 20-bar average.
If the filter is enabled, a sweep is valid only when isVolStrong is true.
4) Sweep Conditions (Core Logic)
Buy-Side Liquidity Sweep (Resistance Sweep)
A resistance level is considered swept when price trades above it but closes back at or below it.
bool priceSwept = high > lvl.price and close <= lvl.price
bool broken = close > lvl.price
priceSwept captures the “probe and reject” behavior.
broken invalidates the level if price closes above it.
The confirmation and cleanup flow:
if priceSwept and isVolStrong
buySweepOccurred := true
if showLabelsInput
label.new(bar_index, high, "▼ BSL",
style = label.style_label_down, color = #00000000,
textcolor = C_SWEEP_BUY, size = size.small)
line.new(lvl.startBar, lvl.price, bar_index, lvl.price, color = C_SWEEP_BUY, width = 1)
int midX = math.round((lvl.startBar + bar_index) / 2)
label.new(midX, lvl.price, str.tostring(volRelative, "#") + "% VOL",
color = #00000000, textcolor = color.new(C_SWEEP_BUY, 20),
style = label.style_label_down, size = size.tiny)
resistanceLevels.remove(i).delete()
else if broken
resistanceLevels.remove(i).delete()
Sell-Side Liquidity Sweep (Support Sweep)
A support level is considered swept when price trades below it but closes back at or above it.
bool priceSwept = low < lvl.price and close >= lvl.price
bool broken = close < lvl.price
The confirmation and cleanup flow:
if priceSwept and isVolStrong
sellSweepOccurred := true
if showLabelsInput
label.new(bar_index, low, "▲ SSL",
style = label.style_label_up, color = #00000000,
textcolor = C_SWEEP_SELL, size = size.small)
line.new(lvl.startBar, lvl.price, bar_index, lvl.price, color = C_SWEEP_SELL, width = 1)
int midX = math.round((lvl.startBar + bar_index) / 2)
label.new(midX, lvl.price, str.tostring(volRelative, "#") + "% VOL",
color = #00000000, textcolor = color.new(C_SWEEP_SELL, 20),
style = label.style_label_up, size = size.tiny)
supportLevels.remove(i).delete()
else if broken
supportLevels.remove(i).delete()
5) Level Extension to Current Bar
method update(LiquidityLevel this) =>
line.set_x2(this.lineObj, bar_index)
This keeps each active liquidity level extended to the current candle until it is swept or decisively broken.
6) Alerts
alertcondition(buySweepOccurred, "Buy Liquidity Sweep", "BSL Swept!")
alertcondition(sellSweepOccurred, "Sell Liquidity Sweep", "SSL Swept!")
if buySweepOccurred
alert("Kodexius BSL Sweep: " + str.tostring(close), alert.freq_once_per_bar_close)
if sellSweepOccurred
alert("Kodexius SSL Sweep: " + str.tostring(close), alert.freq_once_per_bar_close)
tncylyv - Improved Delta Volume BubbleThis script is a specialized modification and structural upgrade of the excellent "Delta Volume Bubble " by tncylyv.
While the original tool provided a fantastic foundation for statistical volume analysis, this "Zero Float" Edition was built to solve specific visual challenges faced by active traders—specifically the issue of indicators "floating" or disconnecting from price when zooming in on lower timeframes.
The Straight Improvements
This version turns a "Signal Indicator" into a complete "Trading System" with five specific upgrades:
1. Visual Stability (The "Zero Float" Fix)
Original: Used complex coordinates that could desynchronize, causing bubbles to drift or float away from candles on fast charts (1m/5m).
My Upgrade: Implemented "Magnetic Anchoring." Labels and bubbles are now physically locked to the candle wicks. They never drift, overlap, or float, no matter how much you zoom or resize the chart.
2. Cognitive Load (The HUD)
Original: Displayed raw numbers inside colored circles, requiring you to memorize color codes.
My Upgrade: Replaced numbers with Semantic Text Labels (e.g., "ABSORB", "SQUEEZE", "MOMENTUM"). You can read the market intent instantly without decoding it.
3. Regime Adaptation (AI Engine)
Original: Used a fixed threshold (e.g., Z-Score > 2.0).
My Upgrade: Added an Adaptive Learning Window. The script scans recent volatility to automatically raise the threshold during choppy markets (filtering noise) and lower it during quiet sessions (catching subtle entries).
4. Market Memory (Smart Structure)
Original: Signals disappeared into history.
My Upgrade: Draws Support/Resistance Rails extending from major volume events. This helps you visualize exactly where institutions are defending their positions.
5. Robust Data Handling
My Upgrade: Added a Hybrid Fallback Engine. If granular 1-minute data isn't available (e.g., on historical charts), the script seamlessly switches to an estimation model so the indicator never "breaks" or disappears.
Core Logic
Z-Score Normalization: We don't look at raw volume; we look at statistical anomalies (Standard Deviations).
Absorption: Detects "Effort vs. Result"—high volume with tiny price movement (Trapped Traders).
Squeeze: Highlights areas where a breakout is imminent due to volatility compression.
Credits
Original Concept & Code: tncylyv (Delta Volume Bubble ). This script would not exist without his brilliant groundwork.
Modifications: Visual Anchoring, HUD Text System, AI Thresholding, and Structure Rails added in this edition.
This script is open-source to keep the spirit of the original author alive. Use it to understand the "Why" behind the move.






















