Absorption SignalsAbsorption Signals by QuantShok (JacobS369)
This script detects absorption candles — bars where aggressive selling is absorbed by buyers (bullish) or aggressive buying is absorbed by sellers (bearish). It uses PulseWire's built-in volume delta to measure the net buying/selling pressure within each bar, then flags bars where the delta diverges from the price action on abnormally high volume. Each signal is scored on a 1–5 star confidence system so you can filter for only the highest-quality setups.
The core logic: a bullish absorption fires when the bar closes green (or flat) despite net negative delta on a volume spike — meaning sellers pushed hard but buyers absorbed it all and held price up. A bearish absorption is the mirror — the bar closes red despite net positive delta on a volume spike, meaning buyers pushed but sellers absorbed the pressure and drove price down.
Default settings are optimized for NQ (Nasdaq 100 Futures).
Settings Breakdown
Absorption Settings — "Volume Lookback Period" (default 20) is the number of bars on your current chart timeframe used to calculate average volume and standard deviation for the z-score. On a 5-minute chart, that's the last 20 five-minute bars. "Volume Z-Score Threshold" (default 1.5) sets how many standard deviations above average the current bar's volume needs to be to qualify as a spike — raise it to only catch bigger volume anomalies, lower it for more signals. "Minimum Wick Size %" is the input for wick filtering though the confidence system handles wick scoring internally at the 40% level. "Delta Timeframe" (default 1 minute) controls the resolution used to estimate volume delta — this is independent of your chart timeframe and pulls 1-minute data to approximate buy vs sell volume within each bar.
Confidence Settings — "Minimum Stars to Display" (default 2) filters out low-confidence signals so only setups meeting your threshold appear on the chart. The confidence scoring works by starting at 1 star for any valid absorption signal, then adding stars for: volume z-score above 2.0 (+1), volume z-score above 3.0 (+1), delta z-score above 2.0 (+1), significant wick size above 40% of bar range (+1), and multi-bar confirmation (+1), capped at 5. "Require Multi-Bar Confirmation" checks whether consecutive bars show absorption at the same price level. "Multi-Bar Tolerance" controls how close those consecutive bars need to be (as a percentage of ATR) to count as confirming each other.
Visuals — Toggle bubbles, confidence labels, and the dashboard independently. Bubble size scales with confidence (tiny for 1 star up to huge for 5 stars), and color intensity increases with higher confidence. The dashboard in the top right shows live volume z-score, delta z-score, net delta, current absorption signal, and multi-bar confirmation status. Hovering over any label shows a detailed tooltip with all the underlying stats for that signal.
Adapting to Other Instruments
The main settings to consider adjusting are the volume lookback period (shorter for faster-moving instruments, longer for steadier ones), the z-score threshold (lower it for instruments with less volatile volume patterns, raise it for noisier ones), and the multi-bar tolerance (widen it for instruments with larger ATR). The delta timeframe can stay at 1 minute for most instruments but you might try a higher resolution if your broker provides it.
How to Use
This is not a buy/sell signal generator — it identifies where institutional-level absorption is likely occurring. Use these signals as confluence with your existing strategy. A 4–5 star bullish absorption at a known support level or LVN is a very different setup than a 2-star signal in the middle of nowhere. The tooltip on each label gives you the full breakdown so you can evaluate the quality yourself. Indicator

APEX V2 [JOAT]APEX V2
Introduction
APEX V2 Enhanced is an advanced open-source algorithmic trading strategy that synthesizes 9 proprietary analytical concepts through a sophisticated confluence system to generate high-probability trade signals. This strategy integrates Flow Absorption Module (FAM), Directional Bias Engine (DBE), Structure Mapping System (SMS), Volatility Classification (VCL), Momentum Divergence Module (MDM), Statistical Reversion Zones (SRZ), Order Flow Analysis (OFA), Anchor Deviation Bands, and Trend Momentum Signals into a unified trading framework with comprehensive risk management.
Unlike single-indicator strategies that produce frequent false signals, APEX V2 requires multi-dimensional confluence before executing trades. This confluence-based approach dramatically reduces false positives while capturing high-conviction institutional moves. The strategy includes adaptive position sizing based on risk percentage, dynamic stop loss and take profit levels, trailing stops, and real-time performance tracking through a comprehensive dashboard.
Why This Strategy Exists
This strategy addresses the fundamental challenge of trading: distinguishing high-probability setups from market noise. Individual analytical methods often produce conflicting signals, leading to whipsaws and losses. APEX V2 solves this by requiring multiple independent confirmation signals before entering trades, ensuring that:
Institutional Activity is Confirmed: FAM and OFA detect when large players are positioning
Directional Bias is Established: DBE quantifies market sentiment through probabilistic analysis
Structural Context is Validated: SMS identifies key support/resistance levels
Volatility Regime is Appropriate: VCL ensures trades occur in favorable volatility conditions
Momentum Divergence is Present: MDM confirms smart money positioning through multi-oscillator divergence
Mean Reversion Opportunity Exists: SRZ identifies statistical extremes for reversal trades
Order Flow is Toxic: OFA detects aggressive institutional buying/selling
Anchor Deviation is Extreme: Multi-timeframe VWAP deviation signals absorption zones
Trend Momentum Confirmation: Trend-following signals with minimal lag
Each analytical module provides a unique perspective on market structure. By requiring confluence across multiple dimensions, APEX V2 captures only the highest-quality setups where institutional activity, technical structure, momentum, volatility, and order flow all align.
Strategy Components Explained
1. Flow Absorption Module (FAM)
FAM analyzes VWAP deviation across 2-minute, 5-minute, and 15-minute timeframes to identify institutional liquidity absorption zones. When price deviates significantly from VWAP (default: 8.0 sigma on 2m/5m, 4.0 sigma on 15m) combined with volume surges (2.25x average) and sufficient relative volume (0.6+), FAM signals institutional absorption.
The strategy requires 2+ timeframe confirmation for FAM signals. Buy signals occur when price is below VWAP with volume surge across multiple timeframes (institutions absorbing at lows). Sell signals occur when price is above VWAP with volume surge (institutions distributing at highs).
FAM contributes 1 point to the confluence score when absorption is detected, indicating institutional players are actively positioning at price extremes.
2. Directional Bias Engine (DBE)
DBE calculates directional bias by analyzing the ratio of bullish vs bearish bars over a lookback period (default: 100 bars) combined with momentum analysis. The engine weights directional bias (60%) and momentum bias (40%) to produce a combined bias score ranging from -1.0 (extreme bearish) to +1.0 (extreme bullish).
When combined bias exceeds the threshold (default: 0.65), DBE signals bullish bias. When below -0.65, it signals bearish bias. This probabilistic approach quantifies market sentiment and filters trades against the prevailing bias.
DBE contributes 1 point to confluence when bias aligns with trade direction, ensuring trades flow with statistical probability rather than against it.
3. Structure Mapping System (SMS)
SMS detects structural pivot highs and pivot lows using configurable left/right bar parameters (default: 10 bars each). The system maintains arrays of the 10 most recent resistance and support levels, then checks if current price is within 1% of any tracked level.
When price approaches support (within 1% of recent pivot lows), SMS signals potential bounce. When price approaches resistance (within 1% of recent pivot highs), SMS signals potential rejection. These structural levels represent areas where price previously reversed, making them high-probability zones for future reversals.
SMS contributes 1 point to confluence when price is near support (for longs) or resistance (for shorts), providing structural context for entries.
4. Volatility Classification (VCL)
VCL classifies current volatility regime using ATR percentile ranking over a lookback period (default: 100 bars). The system calculates normalized ATR (ATR / price * 100) and determines its percentile rank. High volatility is defined as 70th percentile or above, low volatility as 30th percentile or below.
While VCL doesn't directly contribute to confluence scoring, it provides critical context displayed in the dashboard. High volatility regimes may require wider stops, while low volatility regimes may produce more reliable mean reversion signals.
The strategy adapts to volatility by using ATR-based position sizing and stop loss placement, ensuring risk management scales with market conditions.
5. Momentum Divergence Module (MDM)
MDM detects multi-oscillator divergences by comparing price pivots with RSI pivots. Bullish divergence occurs when price makes lower lows but RSI makes higher lows (indicating weakening selling pressure). Bearish divergence occurs when price makes higher highs but RSI makes lower highs (indicating weakening buying pressure).
The system tracks divergence counts and requires a minimum number of divergences (default: 2) before signaling. This prevents single-divergence false signals and ensures sustained divergence patterns.
MDM contributes 1 point to confluence when divergence aligns with trade direction, confirming that smart money is positioning against the prevailing price trend.
6. Statistical Reversion Zones (SRZ)
SRZ combines Bollinger Bands with RSI to identify statistical extremes for mean reversion trades. The system calculates Bollinger Bands (default: 20-period, 2.0 standard deviations) and RSI (default: 14-period) to detect oversold and overbought conditions.
Oversold signals occur when price is below the lower Bollinger Band AND RSI is below 30. Overbought signals occur when price is above the upper Bollinger Band AND RSI is above 70. These dual conditions ensure both price and momentum are at extremes.
SRZ contributes 1 point to confluence when statistical extremes align with trade direction, identifying high-probability mean reversion opportunities.
7. Order Flow Analysis (OFA)
OFA detects institutional order flow through toxicity analysis and absorption coefficient calculation. The toxicity index measures aggressive vs passive order flow by analyzing candle position and volume. When toxicity exceeds threshold (default: 0.7), it indicates institutions are aggressively taking liquidity.
The absorption coefficient quantifies institutional absorption by measuring volume intensity relative to price movement. High absorption (default: 0.75+) with minimal price movement indicates institutions are positioning without moving price significantly.
OFA calculates a confidence score (0-100%) based on absorption strength and toxicity. When confidence exceeds minimum threshold (default: 75%), OFA signals high-probability institutional activity.
OFA contributes 1 point to confluence when institutional footprints are detected with high confidence, confirming large players are actively positioning.
8. Anchor Deviation Bands
Anchor Deviation analyzes multi-timeframe VWAP deviation (2m, 5m, 15m) combined with oscillator sigma gap confirmation. The system calculates VWAP deviation using configurable methods (Price Volatility, Z-Score, or Spread StDev) and measures the gap between VWAP deviation and oscillator z-scores.
Buy signals occur when 2+ timeframes show negative VWAP deviation (price below VWAP) with 2+ timeframes confirming oscillator gap. Sell signals occur when 2+ timeframes show positive VWAP deviation with gap confirmation.
Anchor Deviation contributes 1 point to confluence when multi-timeframe tension is detected, indicating price is at extreme deviation from institutional reference levels.
9. Trend Momentum Signals
Trend Momentum Signals use a zero-lag EMA combined with volatility bands and trend strength analysis. The system calculates a zero-lag EMA by compensating for lag (EMA of price + (price - price )), then applies volatility bands using ATR multiplier (default: 1.5x).
The trend strength score is calculated by comparing current zero-lag EMA with historical values over a loop range (default: 1-70 bars). Long signals occur when trend score exceeds uptrend threshold (default: 5) AND price is above the upper volatility band. Short signals occur when trend score is below downtrend threshold (default: -5) AND price is below the lower volatility band.
Trend Momentum contributes 1 point to confluence when trend signals align with trade direction, providing trend-following confirmation with minimal lag.
10. Deviation Reversion System Component
The Deviation Reversion System component calculates deviation levels from a moving average (configurable: WMA, SMA, RMA, EMA, HMA). Three deviation levels are defined (default: 1.3%, 7.5%, 13.3%) representing progressively extreme deviations from the mean.
Buy signals occur when price drops below the first deviation level (mean - 1.3%). Sell signals occur when price rises above the first deviation level (mean + 1.3%). This component identifies when price has deviated sufficiently from its mean to warrant mean reversion trades.
Deviation Reversion contributes 1 point to confluence when price is at deviation extremes, complementing the SRZ module with a simpler percentage-based approach.
Confluence System & Signal Aggregation
APEX V2's core innovation is its confluence system. The strategy counts bullish and bearish signals from all 9 analytical modules:
FAM: Absorption buy/sell (2+ timeframe confirmation)
DBE: Bullish/bearish bias (>0.65 or <-0.65)
SMS: Near support/resistance (within 1%)
MDM: Bullish/bearish divergence (2+ divergences)
SRZ: Oversold/overbought (BB + RSI extremes)
OFA: Institutional buy/sell (75%+ confidence)
Anchor Deviation: Tension buy/sell (2+ timeframe + gap confirmation)
Deviation Reversion: Buy/sell signal (price at deviation levels)
Trend Momentum: Long/short signal (trend score + volatility bands)
When confluence mode is enabled (default: ON), the strategy requires a minimum number of modules to agree (default: 3 out of 9) before executing trades. This dramatically reduces false signals by ensuring multiple independent perspectives confirm the setup.
If both long and short signals meet confluence requirements simultaneously, the strategy selects the direction with more confirming modules. If tied, no trade is executed to avoid ambiguous setups.
Risk Management System
APEX V2 includes comprehensive risk management:
Position Sizing: Calculated based on risk per trade percentage (default: 2% of equity). The system calculates stop distance using ATR and sizes positions so that if stopped out, the loss equals exactly 2% of account equity.
Stop Loss: Set at a percentage below entry (default: 2% for longs, 2% above for shorts). Stops are placed immediately upon entry to limit maximum loss per trade.
Take Profit: Set at a percentage above entry (default: 4% for longs, 4% below for shorts). This provides a 2:1 reward-to-risk ratio.
Trailing Stop: Activates when take profit level is reached, then trails price by a percentage (default: 1.5%). This locks in profits while allowing winners to run.
Reversal Exits: If an opposite signal meets confluence requirements while in a position, the strategy immediately closes the current position. This prevents holding losing positions when market structure shifts.
Strategy Properties & Backtesting Parameters
The strategy uses realistic backtesting parameters to avoid misleading results:
Initial Capital: $10,000 (realistic for average retail trader)
Position Size: 100% of equity (controlled by risk-based position sizing)
Pyramiding: 3 (allows up to 3 positions in same direction)
Commission: Should be set to realistic levels (0.1% for crypto, 0.05% for forex, $1-5 per trade for stocks)
Slippage: Should be set to realistic levels (5-10 ticks for liquid markets)
Risk Per Trade: 2% (sustainable risk level)
Stop Loss: 2% (prevents catastrophic losses)
Take Profit: 4% (2:1 reward-to-risk ratio)
These parameters ensure backtesting results reflect realistic trading conditions. The strategy is designed to generate 100+ trades over a sufficient dataset to produce statistically significant results.
Visual Elements
FAM Gradient Ribbon: 5-layer cyan/magenta ribbon showing liquidity absorption intensity around VWAP
OFA Gradient Ribbon: 5-layer gold/indigo ribbon showing institutional order flow intensity
Anchor Deviation Ribbon: 5-layer teal/purple ribbon showing multi-timeframe VWAP tension
Entry Signals: Green triangle up for LONG entries, red triangle down for SHORT entries
Position Markers: Small circles below/above bars indicating active positions
Stop Loss Lines: Red lines showing stop loss levels for active positions
Take Profit Lines: Green lines showing take profit targets for active positions
Average Entry Price: White line showing average entry price for active positions
Comprehensive Dashboard: Real-time metrics including position status, P&L, signal confluence, individual module status, and performance metrics
Dashboard Metrics
The dashboard displays 20+ real-time metrics:
Position Status:
Status: LONG, SHORT, or FLAT
Position Size: Current position quantity
P&L: Open profit/loss in currency and percentage
Signal Confluence:
Bull Signals: Count of bullish indicators (X/9) with checkmark if confluence met
Bear Signals: Count of bearish indicators (X/9) with checkmark if confluence met
Individual Indicator Status:
FAM: BUY/SELL with deviation value
DBE: BULL/BEAR with bias score
SMS: SUP/RES (support/resistance proximity)
VCL: HIGH/LOW/NORM with percentile
MDM: BULL/BEAR with RSI value
SRZ: OS/OB (oversold/overbought) with RSI value
OFA: INST+/INST-/TOX+/TOX- with confidence percentage
ADB: BUY/SELL with deviation value
TMS: LONG/SHORT with trend score
Performance Metrics:
Win Rate: Percentage and win/loss ratio
Net Profit: Currency and percentage return
Equity: Current equity and percentage change from initial capital
Input Parameters
Strategy Settings:
Enable LONG/SHORT Trades: Toggle trade directions
Require Multi-Module Confluence: Enable/disable confluence requirement
Minimum Confluence Count: Number of modules that must agree (1-7, default: 3)
FAM Settings:
Enable FAM, VWAP Mode, Deviation Method, Volume Lookback, Volume Surge Multiplier, RVOL Threshold, 2m/5m/15m Thresholds, Show Gradient Ribbon
DBE Settings:
Enable DBE, Bias Lookback, Bias Threshold, Momentum Weight
SMS Settings:
Enable SMS, Pivot Left/Right Bars, Structure Lookback
VCL Settings:
Enable VCL, ATR Length, Regime Lookback, High/Low Vol Thresholds
MDM Settings:
Enable MDM, RSI Length, Pivot Lookback, Min Divergences
SRZ Settings:
Enable SRZ, Bollinger Length/Multiplier, RSI Length, RSI Overbought/Oversold
OFA Settings:
Enable OFA, Toxicity Lookback/Threshold, Min Absorption Coefficient, Minimum Confidence %, Show Gradient Ribbon
Anchor Deviation Settings:
Enable Anchor Deviation, VWAP Dev Mode, 2m/5m/15m VWAP Thresholds, 2m/5m/15m Osc σ-Gap Thresholds, Show Gradient Ribbon
Deviation Reversion Settings:
Enable Deviation Reversion System, MA Type, MA Period, Deviation 1/2/3 percentages
Trend Momentum Settings:
Enable Trend Momentum Signals, Zero Lag Length, Volatility Multiplier, Loop Start/End, Threshold Uptrend/Downtrend
Risk Management Settings:
Enable Stop Loss, Stop Loss %, Enable Take Profit, Take Profit %, Enable Trailing Stop, Trailing Stop %, Risk Per Trade %
Visualization Settings:
Show Entry/Exit Signals, Show Dashboard, Show All Gradient Ribbons, Ribbon Brightness Adjust
How to Use This Strategy
Step 1: Configure Backtesting Parameters
Set realistic commission and slippage in Strategy Properties. For crypto: 0.1% commission, 10 ticks slippage. For forex: 0.05% commission, 5 ticks slippage. For stocks: $1-5 per trade commission, 5 ticks slippage.
Step 2: Set Risk Parameters
Configure Risk Per Trade (default: 2%), Stop Loss (default: 2%), and Take Profit (default: 4%). These provide sustainable risk management with 2:1 reward-to-risk ratio.
Step 3: Choose Confluence Level
Set Minimum Confluence Count based on your risk tolerance. Higher confluence (4-5 indicators) produces fewer but higher-quality signals. Lower confluence (2-3 indicators) produces more signals but with more false positives.
Step 4: Enable/Disable Indicators
Toggle individual modules based on market conditions and your trading style. For trending markets, emphasize DBE, Trend Momentum, and Anchor Deviation. For ranging markets, emphasize SRZ, MDM, and Deviation Reversion.
Step 5: Monitor Dashboard
Watch the dashboard for signal confluence. When Bull Signals shows 3+/9 with checkmark, the strategy is ready to enter long. When Bear Signals shows 3+/9 with checkmark, ready to enter short.
Step 6: Review Individual Indicators
Check which specific modules are signaling. High-quality setups show alignment across multiple module types (institutional + technical + momentum + volatility).
Step 7: Backtest on Sufficient Data
Run backtests on datasets that generate 100+ trades for statistical significance. Review win rate, net profit, maximum drawdown, and profit factor.
Step 8: Optimize Parameters
Adjust module parameters for your specific instrument and timeframe. Avoid over-optimization - parameters should work across multiple instruments and time periods.
Step 9: Forward Test
After backtesting, forward test on paper trading or small live positions to validate strategy performance in real market conditions.
Step 10: Monitor Performance
Track Win Rate, Net Profit, and Equity metrics in the dashboard. If performance degrades, re-evaluate parameters or market conditions.
Best Practices
Use on liquid instruments with sufficient volume for reliable signals
Higher confluence (4-5 modules) is recommended for beginners to reduce false signals
Lower confluence (2-3 modules) can be used by experienced traders who can filter signals manually
Backtest on multiple timeframes (5m, 15m, 1h, 4h) to find optimal timeframe for your instrument
Use realistic commission and slippage - overly optimistic parameters produce misleading results
Risk no more than 2% per trade to ensure account survival during drawdown periods
Monitor VCL (Volatility Classification) - high volatility may require wider stops or reduced position size
Combine with higher timeframe trend analysis - trading with the trend improves win rate
Review individual module signals to understand why confluence was met
Disable modules that consistently produce false signals for your specific instrument
Enable trailing stops to lock in profits on winning trades
Use pyramiding (default: 3) to add to winning positions when additional confluence signals appear
Avoid trading during major news events - volatility spikes can invalidate technical signals
Backtest over multiple market conditions (trending, ranging, high volatility, low volatility)
Forward test for at least 100 trades before committing significant capital
Strategy Limitations
Requires sufficient historical data for all modules - may not work well on newly listed instruments
Multi-timeframe analysis (FAM, Anchor Deviation) requires data availability on 2m, 5m, 15m timeframes
Confluence requirement reduces trade frequency - may produce few signals on some instruments/timeframes
Backtesting results are historical and do not guarantee future performance
Strategy performance degrades during extreme volatility events (flash crashes, circuit breakers)
Commission and slippage significantly impact profitability - must use realistic values
Pyramiding can amplify losses if market reverses after adding to position
Stop loss placement using fixed percentage may be suboptimal during volatility regime changes
Module parameters optimized for one instrument may not work on others
Requires regular monitoring and parameter adjustment as market conditions evolve
Dashboard metrics are real-time snapshots and can change rapidly during volatile periods
Strategy assumes sufficient liquidity to execute at desired prices - may not work on illiquid instruments
Trailing stops can be triggered by normal volatility, closing winning trades prematurely
Reversal exits may close positions too early if opposite signal is temporary
Technical Implementation
Built with Pine Script v6 using:
9 independent analytical modules with individual enable/disable controls
Multi-timeframe security requests for FAM and Anchor Deviation (2m, 5m, 15m)
Confluence-based signal aggregation with configurable minimum threshold
Risk-based position sizing using ATR and account equity
Dynamic stop loss, take profit, and trailing stop management
Strategy.entry and strategy.exit functions for automated trade execution
Reversal exit logic to close positions when opposite confluence is met
Three 5-layer gradient ribbons (FAM, OFA, Anchor Deviation) with progressive transparency
Comprehensive dashboard with 20+ real-time metrics using table visualization
5 alert conditions for trade signals and position changes
Performance tracking (win rate, net profit, equity) displayed in dashboard
Pyramiding support (up to 3 positions) for scaling into winning trades
The code is fully open-source and can be modified to suit individual trading styles and risk tolerances.
Originality Statement
This strategy is original in its multi-confluence approach to algorithmic trading. The strategy synthesizes multiple analytical concepts into a unified framework:
It synthesizes 9 proprietary analytical concepts into a unified confluence system
The confluence requirement dramatically reduces false signals compared to single-method strategies
Each concept provides a unique perspective: institutional activity (FAM, OFA), directional bias (DBE), structural context (SMS), volatility regime (VCL), momentum divergence (MDM), mean reversion (SRZ), anchor deviation (multi-timeframe), and trend following (Trend Momentum)
Risk management system uses ATR-based position sizing to risk exactly 2% per trade regardless of stop distance
Reversal exit logic closes positions when opposite confluence is met, preventing holding losing positions during structure shifts
Comprehensive dashboard synthesizes 20+ metrics into actionable intelligence
Three gradient ribbons (FAM, OFA, Anchor Deviation) provide visual confirmation of institutional activity and order flow
Strategy is designed with realistic backtesting parameters (commission, slippage, position sizing) to avoid misleading results
Pyramiding support allows scaling into winning positions when additional confluence appears
Individual module enable/disable controls allow customization for different market conditions and trading styles
The strategy's value lies in its systematic approach to trade selection through multi-dimensional confluence. By requiring agreement across institutional activity, technical structure, momentum, volatility, and order flow, APEX V2 captures only the highest-quality setups where all factors align. This reduces emotional decision-making and provides a repeatable, testable framework for algorithmic trading.
Disclaimer
This strategy is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss. Past performance does not guarantee future results. Backtesting results are hypothetical and may not reflect actual trading performance. Always use proper risk management, never risk more than you can afford to lose, and thoroughly test any strategy on paper before committing real capital. Commission, slippage, and market conditions significantly impact profitability. No strategy works in all market conditions. Regular monitoring and parameter adjustment are required.
-Made with passion by officialjackofalltrades
Strategy

Institutional Footprint Scanner [JOAT]Institutional Footprint Scanner
Introduction
The Institutional Footprint Scanner (IFS) is an advanced open-source order flow analysis indicator that detects institutional trading activity through multi-dimensional market microstructure analysis. This indicator combines Order Flow Toxicity Index, Volume Profile with Point of Control (POC), Absorption Coefficient analysis, Smart Money Divergence detection, Liquidity Void identification, Footprint Clustering, Tape Reading metrics, and Iceberg Order detection to reveal when large institutional players are actively positioning in the market.
Unlike basic volume indicators that simply show volume bars, IFS quantifies institutional behavior through sophisticated algorithms that analyze aggressive vs passive order flow, volume distribution across price levels, absorption patterns, market depth proxies, and hidden liquidity. The indicator synthesizes these multiple perspectives into a unified confidence score and visualizes institutional activity through a dynamic 9-layer gradient ribbon, color-coded chart overlays, and a comprehensive real-time dashboard.
Why This Indicator Exists
This indicator addresses the challenge of identifying institutional order flow in real-time without access to Level 2 order book data. When large institutional players enter positions, they create detectable signatures across multiple market dimensions. IFS systematically detects these patterns to reveal:
Order Flow Toxicity: Measures aggressive vs passive flow to identify when institutions are aggressively taking liquidity
Volume Profile Analysis: Identifies Point of Control (POC), Value Area High/Low, and high/low volume nodes
Absorption Coefficient: Quantifies institutional absorption strength when high volume produces minimal price movement
Market Microstructure: Analyzes spread dynamics and market depth to detect market maker behavior
Smart Money Divergence: Detects multi-oscillator divergences (RSI, MFI, CVD) indicating institutional positioning
Liquidity Void Detection: Identifies areas with no institutional interest (low volume + narrow range)
Footprint Clustering: Tracks and clusters institutional footprints to identify accumulation/distribution zones
Tape Reading Metrics: Simulates Level 2 order book analysis through aggressive/passive volume classification
Iceberg Order Detection: Identifies hidden institutional liquidity through repeated absorption at same price levels
9-Layer Gradient Ribbon: Visualizes order flow intensity through dynamic color-coded ribbon around institutional VWAP
Institutional Dashboard: Displays 13+ real-time metrics including confidence, toxicity, absorption, POC distance, and more
Each component provides unique intelligence. Toxicity shows aggressive flow, Volume Profile shows price acceptance, Absorption shows institutional positioning, Microstructure shows market maker behavior, Divergence shows smart money positioning, and Clustering shows conviction. Together, they create a comprehensive institutional detection system.
Core Components Explained
1. Order Flow Toxicity Index
The Toxicity Index measures the ratio of aggressive order flow (market orders taking liquidity) vs passive flow (limit orders providing liquidity). The algorithm analyzes each candle's closing position within its range to classify order flow:
Aggressive Buy Flow: Candles that close in the top 25% of their range (above 75% threshold) with volume are classified as aggressive buying. This indicates buyers are urgently taking liquidity by hitting ask prices, pushing price toward the high.
Aggressive Sell Flow: Candles that close in the bottom 25% of their range (below 25% threshold) with volume are classified as aggressive selling. This indicates sellers are urgently taking liquidity by hitting bid prices, pushing price toward the low.
Passive Flow: Candles closing in the middle 50% of their range are classified as passive flow, indicating balanced limit order activity without urgency.
The system accumulates volume-weighted flow over the lookback period (default: 20 bars) and calculates toxicity ratios. When buy toxicity exceeds threshold (default: 0.7 or 70%), it signals institutions are aggressively accumulating. When sell toxicity exceeds threshold, it signals aggressive distribution.
High toxicity indicates institutional urgency - large players are willing to pay the spread and move price to establish positions quickly, typically preceding significant directional moves.
2. Volume Profile with POC Detection
IFS calculates a volume profile by dividing the price range into bins (default: 20 bins) and accumulating volume at each price level over the lookback period (default: 100 bars). This creates a histogram showing which price levels attracted the most trading activity.
How Volume Profile Works:
The algorithm divides the price range (highest high to lowest low) into equal-sized bins. For each historical bar, it determines which bin the price falls into and adds that bar's volume to the bin's total. After processing all bars, the result is a distribution showing volume concentration across price levels.
Point of Control (POC): `The price level with the highest accumulated volume`. This represents the price where the most trading occurred - a critical support/resistance level. Institutions often defend POC levels because they represent fair value where significant positions were established.
Value Area High (VAH) and Value Area Low (VAL): These define the range containing approximately 70% of total volume. The Value Area represents the price range where the majority of trading activity occurred. Price outside the Value Area is considered at extremes.
Trading Significance:
When price approaches POC (within 2% by default), expect strong support or resistance. POC acts as a magnet - price tends to gravitate toward high-volume nodes. When price is above VAH, it's in overbought territory. When below VAL, it's in oversold territory. Inside the Value Area indicates balanced, fair-value trading.
The indicator tracks POC distance in real-time and displays it in the dashboard, alerting traders when price approaches this high-probability reversal zone.
3. Absorption Coefficient Analysis
The Absorption Coefficient quantifies institutional absorption by measuring volume intensity relative to price movement. This reveals when large players are accumulating or distributing positions without moving price significantly.
How Absorption Works:
The algorithm calculates two key ratios:
Body Ratio: Measures the candle body size relative to total range. A small body ratio (close near open) indicates price didn't move much despite trading activity.
Volume Ratio: Compares current volume to the 20-bar average. A high volume ratio (2x, 3x, or more) indicates elevated trading activity.
Absorption Calculation:
Absorption coefficient = Volume Ratio × (1 - Body Ratio)
This formula produces high values when volume is elevated BUT price movement is minimal. This is the signature of institutional absorption - large players are patiently absorbing available liquidity at a specific price level without pushing price away.
Directional Absorption:
The system determines direction based on candle color. Bullish candles (close > open) produce positive directional absorption, indicating institutional buying. Bearish candles produce negative directional absorption, indicating institutional selling.
Trading Significance:
High absorption (above 0.75 by default) indicates institutions are positioning. When combined with high volume but minimal price movement, it suggests large players are absorbing all available liquidity at current levels. This often precedes significant moves once absorption is complete and institutions begin actively moving price.
4. Market Microstructure Analysis
IFS analyzes market microstructure through spread dynamics and depth proxies to detect market maker behavior and order book depth without requiring Level 2 data.
Spread Analysis:
The algorithm calculates the candle range (high - low) as a percentage of close price, then compares it to the average spread over the lookback period (default: 20 bars). The spread z-score measures how many standard deviations current spread is from average.
Tight Spreads (< 70% of average): Indicate market makers are actively providing liquidity. This is normal, healthy market conditions where bid-ask spreads are narrow and order book depth is good. Tight spreads suggest low risk and stable conditions.
Wide Spreads (> 150% of average): Indicate market makers are withdrawing liquidity. This occurs during risk-off events, before major moves, or when institutions are positioning. Wide spreads signal caution - liquidity is drying up and volatility may spike.
Depth Proxy:
The system estimates order book depth by calculating volume relative to spread. High volume with tight spreads indicates deep order book - many limit orders providing liquidity. Low volume with wide spreads indicates shallow order book - few limit orders, high slippage risk.
Market Maker Activity Detection:
The indicator classifies market maker behavior as "Providing" (tight spreads, deep market), "Withdrawing" (wide spreads, shallow market), or "Neutral". Market maker withdrawal often precedes significant moves as institutions clear out liquidity before pushing price.
Trading Significance:
Deep markets with tight spreads are ideal for entries - low slippage, good liquidity. Shallow markets with wide spreads require caution - entries may experience significant slippage. Market maker withdrawal signals potential volatility ahead.
5. Smart Money Divergence Engine
IFS detects divergences across multiple oscillators (RSI, MFI, Cumulative Volume Delta) to identify when smart money is positioning against the prevailing price trend. Divergences reveal hidden strength or weakness not visible in price action alone.
Three Oscillators Analyzed:
RSI (Relative Strength Index): Measures momentum on a 0-100 scale. RSI above 70 indicates overbought, below 30 indicates oversold. RSI divergence shows momentum weakening despite price movement.
MFI (Money Flow Index): Similar to RSI but volume-weighted, measuring money flow pressure. MFI divergence shows money flow weakening despite price movement, indicating institutions are not participating in the move.
CVD (Cumulative Volume Delta): Tracks cumulative buy vs sell volume. Positive CVD indicates net buying pressure, negative indicates net selling. CVD divergence shows order flow weakening despite price movement.
Bullish Divergence Detection:
Occurs when price makes lower lows BUT oscillators make higher lows. This indicates selling pressure is weakening despite lower prices - smart money is accumulating while retail panics. Requires 2+ oscillators confirming for high-probability signal.
Bearish Divergence Detection:
Occurs when price makes higher highs BUT oscillators make lower highs. This indicates buying pressure is weakening despite higher prices - smart money is distributing while retail chases. Requires 2+ oscillators confirming for high-probability signal.
Trading Significance:
Multi-oscillator divergence (2 or 3 oscillators confirming) is one of the most reliable reversal signals. It reveals that while price appears to be trending, the underlying momentum, money flow, and order flow are deteriorating. This often precedes major reversals as smart money has already positioned for the turn.
6. Liquidity Void Detection
Liquidity voids are areas with minimal institutional interest, identified by the combination of low volume and narrow price range. These zones represent areas where institutions are not interested in trading, creating vacuums that price moves through quickly.
How Void Detection Works:
Low Volume Threshold: Volume must be below (average - 1 standard deviation) to qualify as low volume. This ensures volume is statistically low, not just slightly below average.
Narrow Range Threshold: The candle range (high - low) must be less than 50% of the average range. This indicates price consolidation with minimal movement.
Liquidity Void Confirmation: Both conditions must be met simultaneously - low volume AND narrow range. This combination indicates no institutional interest at current price levels.
Consecutive Void Tracking:
The system tracks consecutive void bars. When 3+ consecutive bars meet void criteria, it signals a significant liquidity void. These multi-bar voids are particularly important as they represent extended periods of institutional disinterest.
Trading Significance:
Liquidity voids should be avoided for entries. When price revisits void zones, it typically moves through them quickly with minimal support or resistance - there's no institutional interest to slow price movement. Voids often become gaps on higher timeframes or result in fast, one-directional price action.
Traders should wait for price to exit void zones before entering positions. Voids can also be used as targets - if entering below a void, expect price to move quickly through the void to the next area of institutional interest above it.
7. Footprint Clustering Analysis
IFS tracks institutional footprints (high-confidence absorption or toxicity events) and identifies clusters where multiple footprints occur within a short time period. Clustering indicates sustained institutional conviction rather than isolated events.
How Clustering Works:
Footprint Tracking: Every time the indicator detects institutional activity (absorption + toxicity + high confidence), it records a "footprint" with the bar index and type (buy or sell). The system maintains a rolling history of the last 50 footprints.
Cluster Detection: The algorithm counts how many footprints occurred within the cluster distance (default: 15 bars) of the current bar. If 3+ footprints are found within this window, a cluster is detected.
Dominant Type Classification: The system analyzes the types of footprints in the cluster. If more buy footprints than sell footprints, it's classified as a "Bullish Cluster" (accumulation zone). If more sell footprints, it's a "Bearish Cluster" (distribution zone).
Trading Significance:
Footprint clusters reveal areas where institutions repeatedly positioned over multiple bars. This indicates conviction - not a single large order, but sustained accumulation or distribution.
Bullish clusters (3+ buy footprints within 15 bars) suggest institutions are building long positions in this price zone. These areas often become strong support levels.
Bearish clusters (3+ sell footprints within 15 bars) suggest institutions are building short positions or distributing longs. These areas often become strong resistance levels.
Clusters with 5+ footprints indicate extreme institutional conviction and are the highest-probability support/resistance zones.
8. Tape Reading Metrics
IFS simulates Level 2 order book tape reading by analyzing candle position within its range combined with volume intensity. This reveals whether orders are aggressive (taking liquidity) or passive (providing liquidity) without requiring actual order book data.
How Tape Reading Works:
Candle Position Calculation: Measures where the close is within the candle's range. Position = (close - low) / (high - low). A value of 1.0 means close at high, 0.0 means close at low, 0.5 means close at midpoint.
Aggressive Buy Detection:
Occurs when candle closes in top 20% of range (position > 0.8) AND close > open AND volume exceeds 20-bar average. This indicates buyers aggressively hit ask prices, pushing price to the high. Institutions are urgently taking liquidity on the buy side.
Aggressive Sell Detection:
Occurs when candle closes in bottom 20% of range (position < 0.2) AND close < open AND volume exceeds 20-bar average. This indicates sellers aggressively hit bid prices, pushing price to the low. Institutions are urgently taking liquidity on the sell side.
Passive Absorption Detection:
Occurs when candle closes in middle 20% of range (position 0.4-0.6) AND volume exceeds 1.5x the 20-bar average. This indicates high volume but price didn't move much - institutions are patiently absorbing liquidity at current levels without pushing price away.
Trading Significance:
Aggressive buying/selling indicates institutional urgency - large players are willing to pay the spread and move price to establish positions quickly. This often precedes continued directional movement.
Passive absorption indicates institutional patience - large players are absorbing all available liquidity at a specific price level. This often occurs at support/resistance where institutions defend levels. Once absorption is complete, price typically reverses or breaks through.
9. Iceberg Order Detection
Iceberg orders are large hidden institutional orders that absorb liquidity repeatedly at the same price level. The name comes from the iceberg analogy - only a small portion is visible in the order book, while the bulk remains hidden. IFS detects icebergs by identifying repeated passive absorption at the same price.
How Iceberg Detection Works:
Passive Absorption Tracking: The system monitors for passive absorption events (high volume, mid-range close). Each time passive absorption occurs, it records the price level.
Price Proximity Check: When a new passive absorption event occurs, the algorithm checks if it's at the same price as the previous event. "Same price" is defined as within 0.2% (20 basis points) to account for minor price fluctuations.
Hit Counter: If absorption occurs at the same price level, the hit counter increments. If absorption occurs at a different price (more than 0.2% away), the counter resets and tracking begins at the new price.
Iceberg Confirmation: When 3+ passive absorption events occur at the same price level, an iceberg order is detected. This indicates a large hidden order is repeatedly absorbing all available liquidity at this specific price.
Trading Significance:
Iceberg orders represent major institutional interest at a specific price level. They act as strong support (buy icebergs) or resistance (sell icebergs).
Buy icebergs indicate institutions are defending a price level - every time price drops to this level, the iceberg absorbs all selling pressure. This creates a floor that's difficult to break.
Sell icebergs indicate institutions are capping price - every time price rises to this level, the iceberg absorbs all buying pressure. This creates a ceiling that's difficult to break.
Iceberg detection provides high-probability entry zones (buy near buy icebergs) and exit zones (sell near sell icebergs). When icebergs are finally consumed (price breaks through), it often results in explosive moves as the major support/resistance is removed.
10. Confidence Score System
IFS calculates a multi-factor confidence score to quantify signal quality:
float confidence = 0.0
confidence += strong_absorption ? 25.0 : 0.0
confidence += (toxic_buy_flow or toxic_sell_flow) ? 20.0 : 0.0
confidence += deep_market ? 15.0 : 0.0
confidence += (bull_div or bear_div) ? 20.0 : 0.0
confidence += in_cluster ? 10.0 : 0.0
confidence += near_poc ? 10.0 : 0.0
bool high_confidence = confidence >= min_confidence // Default 75%
Confidence score combines all detection methods. Scores above 75% indicate high-probability institutional activity. Scores above 90% indicate extreme conviction.
11. 9-Layer Gradient Ribbon Visualization
The gradient ribbon visualizes order flow intensity through 9 transparent layers between institutional VWAP and a wave level:
float vwap_inst = ta.vwap(hlc3)
float flow_intensity = math.min(confidence / 100, 1.0)
float toxicity_intensity = math.abs(toxicity_imbalance)
float combined_intensity = (flow_intensity + toxicity_intensity) / 2.0
float wave_ratio = math.min(0.65, combined_intensity)
float wave_level = vwap_inst + ((close - vwap_inst) * wave_ratio)
// 9 layers with progressive transparency
float ribbon_step = (wave_level - vwap_inst) / 9.0
Ribbon color indicates direction (gold for institutional buy, indigo for institutional sell). Ribbon intensity increases with confidence and toxicity. The VWAP line itself changes color dynamically based on institutional activity.
Visual Elements
Institutional VWAP Line: Dynamic color (gold for inst buy, indigo for inst sell, matrix green for toxic buy, hot pink for toxic sell)
9-Layer Gradient Ribbon: Progressive transparency showing order flow intensity around VWAP
Toxicity Heatmap: Background gradient (hot pink to orange) showing toxicity intensity
Absorption Wave Zones: Dynamic boxes showing absorption strength (gold for buy, indigo for sell)
Cluster Intensity Zones: Background coloring (matrix green for bullish, hot pink for bearish) with intensity based on cluster size
Liquidity Void Highlighting: Dark zones indicating areas with no institutional interest
Toxicity Flow Lines: Dynamic gradient lines showing flow direction and intensity
Absorption Flow Lines: Gradient lines showing absorption strength and direction
Microstructure Spread Bands: Circles showing market depth (blue for deep, orange for shallow)
Institutional Footprint Markers: "INST" labels at high-confidence footprints with detailed tooltips
Toxicity Level Labels: "TOXIC BUY/SELL" labels at extreme toxicity events
Absorption Strength Labels: "ABS" labels showing absorption coefficient
Cluster Formation Labels: "CLUSTER" labels marking significant footprint clusters
POC Proximity Labels: "POC" labels when price approaches Point of Control
Liquidity Void Labels: "VOID" labels marking significant voids
Iceberg Order Markers: "◆ ICE" diamond markers at iceberg detection
Market Maker Activity Labels: "MM OUT" labels when market makers withdraw liquidity
Bar Coloring: Gradient bar colors based on institutional activity intensity
Dashboard: Real-time institutional metrics in top-right corner (13+ metrics)
Input Parameters
Order Flow Analysis:
Toxicity Lookback: Period for toxicity calculation (default: 20, range: 10-50)
Toxicity Threshold: Threshold for toxic flow detection (default: 0.7, range: 0.5-0.9)
Volume Profile:
Volume Profile Bins: Number of price bins for volume distribution (default: 20, range: 10-50)
VP Lookback Period: Bars to analyze for volume profile (default: 100, range: 50-200)
POC Sensitivity: Distance threshold for POC proximity (default: 0.02, range: 0.01-0.05)
Market Microstructure:
Spread Analysis Period: Lookback for spread analysis (default: 20, range: 10-50)
Depth Threshold: Multiplier for deep market detection (default: 1.5, range: 1.0-3.0)
Footprint Detection:
Min Absorption Coefficient: Minimum absorption for detection (default: 0.75, range: 0.5-1.0)
Cluster Distance: Bars to consider for clustering (default: 15, range: 5-30)
Minimum Confidence %: Minimum confidence for signals (default: 75%, range: 60-95%)
Visualization:
Show Order Flow Ribbon: Toggle 9-layer gradient ribbon display
Show POC Levels: Toggle Point of Control level display
Show Footprint Markers: Toggle institutional footprint labels and markers
How to Use This Indicator
Step 1: Monitor Dashboard Confidence
Watch the dashboard confidence score in the top-right corner. Scores above 75% indicate high-probability institutional activity. Scores above 90% indicate extreme conviction.
Step 2: Identify Institutional Footprints
Look for "INST" labels (gold for buy, indigo for sell) marking high-confidence institutional footprints. Hover over labels to see detailed metrics including confidence, absorption coefficient, and toxicity.
Step 3: Check Order Flow Toxicity
Monitor the Toxicity row in the dashboard. "BUY" with high value indicates aggressive institutional buying. "SELL" with high value indicates aggressive institutional selling. Toxicity above 0.7 is significant.
Step 4: Analyze Absorption Coefficient
Check the Absorption row in the dashboard. Values above 0.75 indicate strong institutional absorption. Look for "ABS" labels on the chart showing absorption events. High absorption with minimal price movement indicates institutions are positioning.
Step 5: Use Volume Profile Context
Monitor POC Distance in the dashboard. When price approaches POC (distance <2%), expect strong support/resistance. Check Value Area position - price outside value area is at extremes. Look for "POC" labels when price approaches Point of Control.
Step 6: Watch for Footprint Clusters
Look for "CLUSTER" labels indicating 3+ footprints within cluster distance. Bullish clusters suggest institutional accumulation. Bearish clusters suggest institutional distribution. Cluster zones are highlighted with background coloring.
Step 7: Monitor Market Microstructure
Check the Spread and Depth rows in the dashboard. Deep markets with tight spreads indicate healthy liquidity. Shallow markets with wide spreads indicate market maker withdrawal. "MM OUT" labels warn of liquidity withdrawal.
Step 8: Identify Iceberg Orders
Watch for "◆ ICE" diamond markers indicating iceberg order detection. These mark hidden institutional liquidity providing strong support/resistance. Iceberg orders indicate institutions are patiently absorbing at specific price levels.
Step 9: Use Gradient Ribbon for Flow Intensity
The 9-layer gradient ribbon shows order flow intensity. Brighter, more opaque ribbon indicates stronger institutional activity. Gold/green ribbon indicates bullish flow. Indigo/pink ribbon indicates bearish flow.
Step 10: Avoid Liquidity Voids
Watch for "VOID" labels and dark background zones indicating liquidity voids. These areas have minimal institutional interest and often result in fast price movement or gaps. Avoid entering positions in void zones.
Step 11: Confirm with Smart Money Divergence
Check dashboard for divergence signals. Multi-oscillator divergence (2+ oscillators) indicates smart money positioning against the trend. Bullish divergence at lows suggests institutional accumulation. Bearish divergence at highs suggests institutional distribution.
Step 12: Use Tape Reading Metrics
Monitor the Tape row in the dashboard. "Agg Buy" indicates aggressive institutional buying. "Agg Sell" indicates aggressive institutional selling. "Passive" indicates patient absorption at current price levels.
Best Practices
Use on liquid instruments (major forex pairs, large-cap stocks, major crypto) for reliable signals
Institutional footprints work best at price extremes (near POC, outside value area, at support/resistance)
Combine with higher timeframe trend analysis - institutional activity against trend is lower probability
High confidence signals (>90%) have highest win rate but occur less frequently
Footprint clusters indicate institutional conviction - wait for 3+ footprints before acting
Iceberg orders provide strong support/resistance - use as entry/exit zones
Market maker withdrawal (wide spreads) often precedes significant moves - be cautious
Liquidity voids should be avoided for entries - price moves quickly through these zones
Toxic flow above 0.8 indicates extreme institutional urgency - strong directional signal
Absorption coefficient above 0.85 indicates very strong institutional positioning
POC proximity (<2% distance) provides high-probability reversal zones
Smart money divergence requires 2+ oscillator confirmation for reliability
Use gradient ribbon intensity to gauge institutional conviction - brighter = stronger
Dashboard metrics provide context - monitor multiple metrics simultaneously for best results
Combine absorption with toxicity for highest conviction signals
Indicator Limitations
Requires sufficient volume data - may not work well on illiquid instruments or off-market hours
Volume Profile calculation is computationally intensive - optimized to recalculate every 10 bars
Toxicity Index is a proxy for order flow - not actual Level 2 order book data
Absorption Coefficient assumes volume intensity indicates institutional activity - can produce false signals during news events
Market microstructure analysis (spread/depth) is estimated from OHLCV data - not actual order book depth
Iceberg detection requires repeated absorption at same price - may miss single large orders
Footprint clustering requires sufficient historical data - may not work well on new instruments
Smart money divergence adds lag - early signals may not have divergence confirmation yet
Confidence score is multi-factor - high confidence doesn't guarantee immediate price movement
Gradient ribbon visualization requires sufficient price movement to display properly
Dashboard metrics are real-time snapshots and can change rapidly during volatile periods
POC and Value Area calculations require sufficient lookback data - may be less reliable on very low timeframes
Liquidity void detection may produce false signals during consolidation periods
Tape reading metrics simulate order book behavior - not actual tape data
Technical Implementation
Built with Pine Script v6 using:
Order Flow Toxicity Index with aggressive vs passive flow classification
Optimized Volume Profile calculation with POC, VAH, VAL detection (recalculates every 10 bars for performance)
Absorption Coefficient algorithm combining volume intensity and price movement
Market Microstructure analysis with spread z-score and depth proxy calculations
Smart Money Divergence Engine using RSI, MFI, and Cumulative Volume Delta
Liquidity Void Detection with consecutive void bar tracking
Footprint Clustering system with dominant type classification
Tape Reading Metrics simulating Level 2 order book behavior
Iceberg Order Detection through repeated absorption pattern recognition
Multi-factor Confidence Score system (6 components, 0-100% scale)
9-layer gradient ribbon with progressive transparency and dynamic coloring
Institutional VWAP with dynamic color based on activity type
Comprehensive visualization system with 15+ chart overlay types
Real-time dashboard with 13+ institutional metrics
13 alert conditions for institutional events
Dynamic bar coloring based on institutional activity intensity
The code is fully open-source and can be modified to suit individual trading styles.
Originality Statement
This indicator is original in its comprehensive institutional order flow detection approach. While volume analysis and VWAP are established concepts, this indicator is justified because:
It combines 9 distinct institutional detection methods (Toxicity, Volume Profile, Absorption, Microstructure, Divergence, Void Detection, Clustering, Tape Reading, Iceberg Detection) into a unified system
The Order Flow Toxicity Index quantifies aggressive vs passive flow through candle position and volume weighting - a unique approach not found in standard volume indicators
Absorption Coefficient algorithm specifically quantifies institutional absorption by measuring volume intensity relative to price movement
Market Microstructure analysis estimates spread and depth from OHLCV data without requiring Level 2 order book access
Iceberg Order Detection identifies hidden institutional liquidity through repeated absorption pattern recognition
Footprint Clustering system tracks and classifies institutional footprints to identify accumulation/distribution zones
Multi-factor Confidence Score synthesizes 6 independent detection methods into a single 0-100% quality metric
9-layer gradient ribbon provides intuitive visualization of order flow intensity with dynamic coloring based on activity type
Comprehensive dashboard synthesizes 13+ metrics (Confidence, Toxicity, Absorption, POC Distance, Value Area, Spread, Depth, MM Activity, Imbalance, Cluster, Liquidity, Tape, Iceberg) into actionable intelligence
Integration of Volume Profile POC with absorption and toxicity creates unique confluence zones
Tape Reading Metrics simulate Level 2 order book behavior using only OHLCV data
Smart Money Divergence Engine combines RSI, MFI, and CVD for multi-oscillator confirmation
Each component contributes unique information: Toxicity shows aggressive flow, Volume Profile shows price acceptance, Absorption shows institutional positioning, Microstructure shows market maker behavior, Divergence shows smart money positioning, Void Detection shows areas to avoid, Clustering shows conviction, Tape Reading shows order urgency, and Iceberg Detection shows hidden liquidity. The indicator's value lies in presenting these complementary perspectives simultaneously with a unified confidence scoring system and intuitive visualization.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss. Past performance does not guarantee future results. Always use proper risk management and never risk more than you can afford to lose.
-Made with passion by officialjackofalltrades
Indicator

Liquidity Absorption Detector [JOAT]Liquidity Absorption Detector
Introduction
The Liquidity Absorption Detector (LAD) is an advanced open-source multi-timeframe volume analysis indicator that identifies institutional liquidity absorption zones through VWAP deviation analysis, volume surge detection, and oscillator sigma gap confirmation. This indicator reveals when smart money is actively absorbing liquidity at extreme price deviations from VWAP across 2-minute, 5-minute, and 15-minute timeframes, providing traders with high-probability reversal zones where institutional players are positioning.
Unlike basic VWAP indicators that simply plot a mean line, LAD quantifies the statistical deviation from VWAP using three calculation methods (Price Volatility, Z-Score, Spread StDev), detects volume surges relative to historical averages, and confirms absorption through oscillator divergence analysis. The indicator aggregates signals across multiple timeframes to identify zones where 2 or more timeframes show simultaneous absorption, indicating institutional-grade conviction.
ETH chart 45m Timeframe with VOL Signals for huge institutional candlesticks
Why This Indicator Exists
This indicator addresses the challenge of identifying institutional liquidity absorption in real-time. When large players enter positions, they create detectable signatures: extreme VWAP deviations combined with volume surges and oscillator divergences. LAD systematically detects these patterns across multiple timeframes to reveal:
Multi-Timeframe VWAP Deviation: Tracks price deviation from VWAP on 2m, 5m, and 15m timeframes using adaptive thresholds
Volume Surge Detection: Identifies when volume exceeds historical average by customizable multiplier (default 2.25x)
Relative Volume Filtering: Ensures absorption occurs during meaningful volume periods (RVOL >= 0.6)
Oscillator Sigma Gap: Confirms absorption through divergence between VWAP deviation and oscillator z-scores
9-Layer Gradient Ribbon: Visualizes absorption intensity through dynamic color-coded ribbon
Institutional Dashboard: Displays real-time metrics including order flow, liquidity pressure, absorption strength, and signal quality
Each component provides unique intelligence. VWAP deviation shows price extremes, volume surge shows institutional activity, RVOL filters noise, oscillator gap confirms divergence, and timeframe alignment shows conviction. Together, they create a comprehensive institutional absorption detection system.
Core Components Explained
1. Multi-Timeframe VWAP Deviation Analysis
LAD calculates VWAP deviation across three timeframes using your selected method:
f_calculate_vwap_deviation(float price, float vwap_val, string method) =>
float result = 0.0
if method == "Price Volatility"
price_stdev = ta.stdev(price, 20)
denominator = price_stdev * 1.5
result := (price - vwap_val) / denominator
// Additional methods: Z-Score, Spread StDev
result
The indicator requests data from 2m, 5m, and 15m timeframes and applies adaptive thresholds based on volatility regime. When deviation exceeds threshold AND volume surge is detected, an absorption signal is generated.
2. Volume Surge & RVOL Filtering
Volume surge detection identifies when current volume exceeds the moving average by your specified multiplier:
f_volume_surge_detected(int lookback, float multiplier) =>
float avg_vol = ta.sma(volume, lookback)
bool surge = volume > avg_vol * multiplier
surge
RVOL (Relative Volume) filtering ensures signals occur during meaningful volume periods, eliminating low-liquidity false signals.
3. Oscillator Sigma Gap Confirmation
LAD calculates the sigma gap between VWAP deviation and oscillator z-scores (Williams %R and CVD):
float gap_willr = math.abs(dev_5m - willr_zscore)
float gap_cvd = math.abs(dev_5m - cvd_zscore)
float osc_sigma_gap = math.max(gap_willr, gap_cvd)
bool gap_confirmed = osc_sigma_gap >= gap_threshold
When oscillators diverge from VWAP deviation by 4.5+ sigma, it confirms institutional absorption is occurring despite price extremes.
4. Signal Aggregation & Confluence
LAD aggregates signals across all three timeframes:
int buy_signals = (signal_2m and dev_2m < 0 ? 1 : 0) +
(signal_5m and dev_5m < 0 ? 1 : 0) +
(signal_15m and dev_15m < 0 ? 1 : 0)
bool absorption_buy_zone = buy_signals >= 2
Absorption zones require 2+ timeframe confirmation, ensuring high-probability setups. Buy zones occur when price is below VWAP with volume surge across multiple timeframes. Sell zones occur when price is above VWAP with volume surge.
5. 9-Layer Gradient Ribbon Visualization
The gradient ribbon visualizes absorption intensity through 9 transparent layers between VWAP and the wave level:
float wave_ratio = math.min(0.65, math.abs(dev_5m) / threshold_5m)
float wave_level = current_vwap + ((close - current_vwap) * wave_ratio)
// 9 layers calculated with progressive transparency
Ribbon color indicates direction (cyan for buy absorption, magenta for sell absorption) and intensity increases with deviation magnitude.
6. Institutional Dashboard Metrics
The dashboard displays four key institutional metrics:
Order Flow: CVD z-score measuring buy/sell imbalance (threshold: 1.5)
Liquidity Pressure: Average deviation across timeframes vs threshold
Absorption Strength: Number of timeframe confirmations (2/3 or 3/3)
Signal Quality: Deviation strength relative to threshold as percentage
Additional metrics include Oscillator Gap confirmation, RVOL status, and zone classification (Buy Zone, Sell Zone, Neutral).
Showing Liquidity Sell Zone about to occur based of confluences:
Visual Elements
VWAP Line: Dynamic color (cyan for buy zones, magenta for sell zones, neutral otherwise)
Threshold Bands: 2m, 5m, and 15m deviation bands showing absorption thresholds
9-Layer Gradient Ribbon: Progressive transparency showing absorption intensity
Background Zones: Cyan for buy absorption zones, magenta for sell absorption zones
Absorption Labels: "LIQUIDITY ABSORPTION" or "LIQUIDITY DISTRIBUTION" with signal details
Extreme Labels: "EXTREME ABSORPTION/DISTRIBUTION" for highest conviction signals
Dashboard: Real-time institutional metrics in top-right corner
Input Parameters
Core Parameters:
VWAP Calculation: Session Anchored or Continuous
Deviation Method: Price Volatility, Z-Score, or Spread StDev
Volume Lookback: Period for volume average (default: 45)
Volume Surge Multiplier: Threshold for surge detection (default: 2.25x)
RVOL Threshold: Minimum relative volume (default: 0.6)
Multi-Timeframe Thresholds:
2m Threshold: Deviation threshold for 2-minute timeframe (default: 8.0)
5m Threshold: Deviation threshold for 5-minute timeframe (default: 8.0)
15m Threshold: Deviation threshold for 15-minute timeframe (default: 4.0)
Visualization:
Show Absorption Zones: Toggle background coloring
Show VWAP Line: Toggle VWAP display
Zone Transparency: Adjust background opacity (default: 85%)
Ribbon Brightness: Adjust gradient ribbon intensity (-30 to +30)
How to Use This Indicator
Step 1: Identify Absorption Zones
Watch for cyan (buy) or magenta (sell) background zones indicating 2+ timeframe confirmation of absorption.
Step 2: Check Dashboard Metrics
Verify Order Flow, Liquidity Pressure, and Absorption Strength align with the zone direction. Signal Quality >100% indicates strong deviation.
Step 3: Confirm with Oscillator Gap
Look for "CONF" status in Osc Gap row, indicating oscillator divergence confirms absorption.
Step 4: Monitor RVOL
Ensure RVOL shows "HIGH" status, confirming absorption occurs during meaningful volume.
Step 5: Use Gradient Ribbon for Intensity
Brighter, more opaque ribbon indicates stronger absorption. Ribbon direction shows whether absorption is bullish (cyan) or bearish (magenta).
Step 6: Wait for Extreme Signals
Highest probability setups occur when "EXTREME ABSORPTION" or "EXTREME DISTRIBUTION" labels appear with 2+ timeframe confirmation.
Best Practices
Use on liquid instruments (major forex pairs, large-cap stocks, major crypto) for reliable signals
Absorption zones work best as reversal signals at price extremes
Combine with higher timeframe trend analysis - absorption against trend is lower probability
RVOL filter is critical - disable only on very low timeframe charts where volume is erratic
Oscillator gap confirmation adds significant edge - wait for "CONF" status when possible
Extreme signals (3/3 timeframe confirmation) have highest win rate but occur less frequently
Use gradient ribbon intensity to gauge absorption strength - brighter = stronger
Dashboard metrics provide context - high Signal Quality (>150%) indicates extreme deviation
Settings with all features turned on and with Continous VWAP Calculation instead of default Anchored Calculation & Deviation Method Z score:
Indicator Limitations
Requires sufficient volume data - may not work well on illiquid instruments or off-market hours
Multi-timeframe analysis requires data availability on all requested timeframes
VWAP deviation thresholds may need adjustment for different instruments and volatility regimes
Absorption zones indicate institutional activity but don't guarantee immediate reversal
False signals can occur during strong trending markets where institutions continue adding to positions
Oscillator gap confirmation adds lag - early signals may not have gap confirmation yet
Gradient ribbon visualization requires sufficient price movement to display properly
Dashboard metrics are real-time snapshots and can change rapidly during volatile periods
Technical Implementation
Built with Pine Script v6 using:
Multi-timeframe security requests with proper lookahead settings
Three VWAP deviation calculation methods (Price Volatility, Z-Score, Spread StDev)
Adaptive threshold system based on volatility regime and percentile analysis
Volume surge detection with customizable lookback and multiplier
RVOL filtering to eliminate low-liquidity false signals
Oscillator sigma gap calculation using Williams %R and CVD z-scores
9-layer gradient ribbon with progressive transparency
Real-time institutional dashboard with 8 key metrics
Signal aggregation across 2m, 5m, and 15m timeframes
The code is fully open-source and can be modified to suit individual trading styles.
Originality Statement
This indicator is original in its multi-timeframe institutional absorption detection approach. While VWAP deviation and volume analysis are established concepts, this indicator is justified because:
It combines VWAP deviation analysis across three timeframes with volume surge detection and RVOL filtering
The oscillator sigma gap confirmation provides unique divergence-based validation not found in standard VWAP indicators
Adaptive threshold system adjusts for volatility regime using percentile analysis
Signal aggregation requires 2+ timeframe confirmation, significantly reducing false signals
9-layer gradient ribbon provides intuitive visualization of absorption intensity
Institutional dashboard synthesizes multiple metrics (Order Flow, Liquidity Pressure, Absorption Strength, Signal Quality) into actionable intelligence
Integration of CVD z-score and Williams %R z-score for oscillator gap calculation is unique
Each component contributes unique information: VWAP deviation shows price extremes, volume surge shows institutional activity, RVOL filters noise, oscillator gap confirms divergence, timeframe alignment shows conviction, and the dashboard synthesizes all metrics. The indicator's value lies in presenting these complementary perspectives simultaneously with a unified absorption detection system.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss. Past performance does not guarantee future results. Always use proper risk management and never risk more than you can afford to lose.
-Made with passion by officialjackofalltrades Indicator

Liquidity Magnet Zones [identityKa]Overview
The Liquidity Magnet Zones is an advanced Smart Money Concepts (SMC) indicator that identifies and manages unmitigated pools of liquidity. Institutional algorithms gravitate toward liquidity to fill large orders. This script mathematically plots these high-probability areas—Buy Side Liquidity (BSL) and Sell Side Liquidity (SSL)—and actively manages them, deleting zones the moment they are "swept" to keep the chart clean and relevant.
Core Mechanics: BSL & SSL Detection
The engine uses pivot point analysis to map market extremes:
Buy Side Liquidity (BSL): Formed at major structural highs. Retail traders typically place stop-losses (buy-to-cover orders) above these highs. The script identifies these unmitigated peaks and draws a dashed line projecting into the future.
Sell Side Liquidity (SSL): Formed at major structural lows. Retail traders place sell-stop orders below these lows. The script tracks these valleys as magnetic targets for price action.
Smart Mitigation (The Sweep Engine)
Unlike static drawing tools, this indicator constantly evaluates the live price against the drawn liquidity zones.
If a candlestick wick or body pierces a BSL or SSL line, the liquidity is considered "Swept" (mitigated).
The script instantly removes the line from the chart, triggering a real-time alert that institutional orders have likely been absorbed, opening the door for a structural reversal.
HUD Dashboard & Post-Sweep AI Logic
The integrated on-chart panel evaluates the structural bias based on the most recent liquidity event:
Dangerous: Displayed actively while the price is piercing and sweeping a liquidity line. This warns traders that extreme volatility is present as stop-losses trigger, making it highly risky to enter breakout trades.
SHORT: Triggered after BSL has been swept. SMC logic dictates that Smart Money forces price upward to trigger buy-stops, providing the necessary liquidity to execute large sell orders. Therefore, the post-sweep bias becomes Bearish (SHORT).
LONG: Triggered after SSL has been swept. Smart Money forces price downward to trigger sell-stops, allowing them to accumulate buy orders. The post-sweep bias becomes Bullish (LONG).
How to Use It
This tool is designed for reversal and mitigation trading, not breakout trading. Do not blindly place limit orders at BSL or SSL lines. Instead, wait for the price to hit the line (AI Suggestion reads "Dangerous"). Drop to a lower timeframe (e.g., 1m or 5m) and look for a Change of Character (CHoCH) confirming that Smart Money is indeed reversing the trend after engineering liquidity. Indicator

Indicator

Delta Flow Volume Profile [UAlgo]Delta Flow Volume Profile is a price based profile indicator that builds a rolling volume distribution and separates that distribution into bullish and bearish participation at each price zone. Instead of showing only how much total volume traded in an area, the script splits each profile row into buyer dominated and seller dominated segments, then renders those segments side by side on the chart. This creates a more informative profile that helps reveal not only where activity concentrated, but also which side was dominant inside each level.
The indicator runs directly on price ( overlay=true ) and analyzes a user defined lookback window. It divides the recent price range into fixed bins, distributes each candle’s volume across the bins it overlaps, and classifies that allocated volume as bullish or bearish based on candle direction. The final result is drawn to the right of the chart as a horizontal stacked profile where:
The left segment of each row represents bullish volume
The right segment represents bearish volume
The widest total row identifies the Point of Control (POC)
Each significant row can display buyer and seller percentage labels
This makes the script useful for traders who want a profile style map of participation with directional context, especially when identifying areas where buyers were dominant, sellers were dominant, or both sides were highly active.
Important note: The bullish and bearish split in this script is an approximation based on candle direction ( close >= open versus close < open ). It is not true bid ask or tick level order flow delta.
🔹 Features
🔸 1) Delta Style Volume Profile by Price Level
The core idea of the script is to turn a standard horizontal volume profile into a directional participation profile. Each row tracks both bullish and bearish volume, so the user can see whether a price zone was primarily buyer controlled, seller controlled, or relatively balanced.
🔸 2) Rolling Lookback Profile
The profile is built from the most recent user selected number of bars. This means the profile continuously adapts to current market structure instead of being locked to a session boundary.
This makes it useful for intraday structure analysis, local range mapping, and recent participation studies.
🔸 3) Fixed Bin Price Segmentation
The script divides the recent highest to lowest range into a configurable number of bins. Lower bin counts create thicker and smoother rows. Higher bin counts create more detailed and granular distribution.
This lets the user control the balance between clarity and resolution.
🔸 4) Proportional Volume Allocation Across Overlapping Bins
When a candle spans multiple bins, the script does not place the full candle volume into a single row. Instead, it allocates volume proportionally according to the overlap between the candle range and each bin.
This produces a more realistic distribution than a single point assignment, especially for larger candles.
🔸 5) Bullish and Bearish Segment Rendering
Each row is drawn as a stacked two part structure:
The bullish segment starts from the left base of the profile
The bearish segment continues immediately after the bullish segment
This gives an intuitive visual read of which side dominated and how much each side contributed inside the same price zone.
🔸 6) Point of Control Highlighting
The script automatically finds the row with the highest total volume and marks it as the Point of Control. The POC row is highlighted with a full width background band, which makes the most active zone immediately obvious.
This is useful for identifying the strongest recent area of price acceptance.
🔸 7) Percentage Labels for Strong Rows
For profile rows with meaningful participation, the script prints a right side label showing:
Bullish percentage
Bearish percentage
For the POC row, the label is prefixed with POC . This gives a quick summary of directional balance at the most important nodes.
🔸 8) Dynamic Label Coloring by Dominance
The percentage labels change color based on row context:
POC labels use the dedicated POC color
Rows dominated by bullish volume use the bullish color
Rows dominated by bearish volume use the bearish color
This improves readability and speeds up visual interpretation.
🔸 9) Adjustable Profile Width and Offset
The profile is drawn to the right of the current bar with configurable:
Profile width as a percentage of lookback
Horizontal offset in bars
This makes it easy to place the profile in a clean position without obstructing live price action.
🔸 10) Smooth Clean Presentation
The script uses borderless boxes and compact right side labels, which gives the profile a clean and uncluttered look. This makes it suitable for traders who want visual structure without excessive chart noise.
🔸 11) Built for Practical Delta Style Context
While it does not use true order flow data, the indicator still provides a highly usable approximation of directional participation. This can help identify:
Buyer heavy zones
Seller heavy zones
Balanced zones
High activity acceptance areas
🔹 Calculations
1) Price Range Detection
The script first determines the highest high and lowest low over the selected lookback:
float hh_global = ta.highest(high, lookback)
float ll_global = ta.lowest(low, lookback)
This defines the full vertical range of the profile.
2) Bin Construction
That range is divided into the selected number of bins:
float binSize = (hh - ll) / numBins
Each bin stores:
Top price
Bottom price
Bullish allocated volume
Bearish allocated volume
The bins are built from top to bottom so the profile rows map naturally across the recent range.
3) Candle by Candle Volume Processing
For every bar in the lookback window, the script reads:
High
Low
Open
Close
Volume
Then it checks each bin to see whether the candle overlaps that bin.
4) Proportional Overlap Allocation
For each overlapping bin, the script calculates:
float overlapTop = math.min(bHigh, b.top)
float overlapBottom = math.max(bLow, b.bottom)
If there is overlap, it allocates volume proportionally:
allocatedVol := bVol * ((overlapTop - overlapBottom) / rangeSize)
Interpretation:
If a candle covers multiple price rows, each row receives only the fraction of volume corresponding to its share of the candle’s total range.
This is a more realistic approximation than assigning all volume to one bin.
5) Zero Range Candle Handling
If a candle has zero range, the script assigns the full volume to the bin that contains the candle price:
if rangeSize > 0
...
else
if bHigh <= b.top and (bHigh > b.bottom or (j == numBins - 1 and bHigh >= b.bottom))
allocatedVol := bVol
This prevents divide by zero issues and still keeps the data usable.
6) Bullish vs Bearish Classification
Once the script calculates allocated volume for a bin, it classifies that volume by candle direction:
if bClose >= bOpen
b.bullVol += allocatedVol
else
b.bearVol += allocatedVol
Interpretation:
Bullish volume means the candle closed at or above its open.
Bearish volume means the candle closed below its open.
Important note:
This is a directional approximation. It is not true tape based aggressive buy or aggressive sell volume.
7) Total Volume, Delta, and Percent Methods
Each bin includes helper methods:
totalVol() returns bullVol + bearVol
deltaVol() returns bullVol - bearVol
bullPct() returns bullish percentage of total
bearPct() returns bearish percentage of total
The script actively uses total volume and percentages in rendering. The deltaVol() method is defined for convenience, but this version does not directly plot or label the raw delta value.
8) Point of Control Detection
After all bins are populated, the script finds the row with the largest total volume:
if bTotVol > maxVol
maxVol := bTotVol
pocIdx := i
This row becomes the Point of Control and acts as the strongest recent participation zone.
9) Width Normalization
The total maximum row volume is used as the width normalization anchor. For each row:
float bullRatio = b.bullVol / maxVol
float bearRatio = b.bearVol / maxVol
Then the segment widths are scaled into bars:
int bullWidthBars = math.round(bullRatio * maxBoxWidthBars)
int bearWidthBars = math.round(bearRatio * maxBoxWidthBars)
Because both bullish and bearish widths are normalized against the same maxVol , their combined width reflects the row’s total participation relative to the profile maximum.
10) Minimum Visible Width Safeguard
If a row has non zero bullish or bearish volume but the calculated width rounds to zero, the script forces a minimum width of one bar:
if b.bullVol > 0 and bullWidthBars == 0
bullWidthBars := 1
This ensures small but meaningful contributions remain visible.
11) Right Side Time Based Layout
The profile is rendered using xloc.bar_time , so all horizontal distances are based on time, not bar index. The script calculates:
A base left time for the profile
A maximum right time
A per bar time width
Key logic:
int leftBaseTime = lastBarTime + (profileOffset * barTimeDiff)
int maxRightTime = leftBaseTime + (maxBoxWidthBars * barTimeDiff)
This makes the profile appear a fixed number of bar widths to the right of the latest candle.
12) POC Background Highlight
Before drawing the bullish and bearish segments for the POC row, the script paints a full width background band:
box.new(left=leftBaseTime, top=drawTop, right=maxRightTime, bottom=drawBottom, ...)
This gives the POC a distinct highlighted backdrop behind the actual stacked volume bars.
13) Visual Gap Inside Each Bin
The script trims the top and bottom of each drawn row slightly:
float boxGap = (b.top - b.bottom) * 0.1
float drawTop = b.top - boxGap
float drawBottom = b.bottom + boxGap
This creates small vertical spacing between rows, which improves readability and avoids a fully merged block appearance.
14) Percentage Label Threshold
Labels are not printed for every row. They appear only when the row’s total volume is greater than 15 percent of the maximum row volume:
if bTotVol > (maxVol * 0.15)
This reduces clutter and focuses attention on more relevant nodes.
15) Label Text Construction
For significant rows, the script computes:
Bullish percentage
Bearish percentage
Then formats them as:
string labelText = bullStr + " | " + bearStr
For the POC row:
labelText := "POC: " + labelText
Indicator

Fractal Structure Model [Pro]Fractal Structure Model
A professional-grade multi-timeframe price action indicator that automates the identification of expansion setups by analyzing lower timeframe movements within higher timeframe candle structures.
<h
🔷 What This Indicator Does
Markets move in fractal cycles — alternating between contraction (consolidation) and expansion (directional movement). This indicator detects the precise moment when expansion is likely to begin by combining:
Higher Timeframe directional candle closures
Lower Timeframe confirmation through Change in State of Delivery (CISD)
Automated projection of future price targets
Real-time setup tracking with success/failure detection
⚙️ Core Components
1. Automatic Timeframe Pairing
The indicator intelligently pairs your chart timeframe with a higher timeframe for multi-timeframe analysis:
1min → 5min
3min → 15min
5min → 1Hour
15min → 4Hour
1Hour → Daily
4Hour → Weekly
Manual override is available for custom pairings. The indicator validates pairings and displays warnings for invalid configurations.
2. HTF Power of Three (PO3) Candles
Visualizes the higher timeframe candle directly on your lower timeframe chart:
Translucent body box (open to close range)
Wick lines extending to high and low
Dashed open price reference line
Timeframe badge label
This allows you to observe how micro price action constructs the macro candle — identifying accumulation, manipulation, and distribution phases in real time.
3. Change in State of Delivery (CISD)
The CISD is the confirmation signal that price has shifted from one directional bias to another.
Bullish CISD Logic:
text
- Price was making lows (testing swing low area)
- A candle closes above its open AND above the previous candle's high
- This signals sellers have exhausted and buyers are taking control
Bearish CISD Logic:
text
- Price was making highs (testing swing high area)
- A candle closes below its open AND below the previous candle's low
- This signals buyers have exhausted and sellers are taking control
Visual: A highlighted box around the CISD candles with a directional label.
Use Case: After the 1-Hour candle closes bullish, you watch the 5-minute chart for a bullish CISD near a swing low. When it triggers, it confirms that the new hour is likely to continue expanding upward.
4. Setup Detection
A complete setup requires two conditions:
Condition Description
HTF Directional Close The previous HTF candle closed bullish or bearish
LTF CISD Confirmation A change in delivery state occurs on the lower timeframe
When both align, the indicator generates a setup signal with a bold vertical bar and a large directional label.
Use Case: The previous 4-Hour candle closed strongly bearish. On your 15-minute chart, you see price briefly push up into a swing high, then a bearish CISD fires. The indicator marks this as a Bear Setup, telling you expansion to the downside is probable.
5. Candle Tracking (C1 through C4+)
Once a setup triggers, the indicator tracks how many HTF candles have elapsed:
Label Meaning Color
C1 ✓ First candle — setup just formed Gray
C2 ✓ Second candle — setup active and healthy Gray
C3 ⚠ Third candle — potential slowdown/consolidation Orange
C4 ⚠ Fourth candle — likely exhaustion Orange
Any ✗ Price returned to setup origin — failure Red
Failure Condition:
Bullish setup fails if price drops below the setup low
Bearish setup fails if price rises above the setup high
Use Case: You entered a bullish trade on C1. By C2, price has expanded nicely. On C3, the label turns orange — you consider tightening your stop or taking partial profits because momentum may be fading. If it turns red, you know the setup has been invalidated.
6. Equilibrium + Premium/Discount Zones
The Equilibrium (EQ) is the 50% level of the setup range (from setup high to setup low).
Zone Location Meaning
Premium Above EQ Price is expensive — favorable for shorts
Discount Below EQ Price is cheap — favorable for longs
Visual: Two shaded boxes with text labels ("PREMIUM" / "DISCOUNT") and a dashed EQ line.
Use Case: After a bullish setup fires, price retraces. You see it enter the discount zone (below 50%). This is your optimal entry area — buying at a discount within a confirmed bullish structure.
7. T-Spot Identification
The T-Spot marks where the higher timeframe candle's wick is anticipated to form — essentially a reversal or continuation point.
Calculation: 23.6% from the setup extreme (based on Fibonacci-like proportioning of the range).
Visual: A dotted line with a thin zone box and "T-SPOT" label.
Use Case: In a bullish setup, the T-Spot sits near the top of the range. If price reaches this level and shows signs of rejection, it may indicate the HTF candle's high wick is forming — a potential point to take profits or expect a pullback.
8. Projection Levels
Once a setup is confirmed, the indicator projects future price targets based on the range between the CISD price and the swing reference point.
Default Projections:
Level Calculation Purpose
-1× 1× the CISD range First target — minimal expansion
-2× 2× the CISD range Standard expansion target
-2.5× 2.5× the CISD range Extended target
-4× 4× the CISD range Full expansion
-4.5× 4.5× the CISD range Maximum expected expansion
Each projection has:
A solid line at the level
A thin zone box for visibility
A multiplier label (e.g., "-2×")
Progressive transparency (closer targets are more opaque)
Use Case: A bearish setup fires. You set your take-profit at the -2× projection. If price reaches -2× and shows exhaustion, you exit. If momentum continues, you trail toward -4×.
9. Formation Liquidity
Marks the previous HTF candle's high and low as critical liquidity levels.
Visual: Dotted horizontal lines labeled "LIQ $.H" (high) and "LIQ $.L" (low).
Use Case: Before a new setup forms, price often sweeps the previous candle's high or low to grab liquidity. Watching these levels helps you anticipate:
Where stop losses are clustered
Where engineered liquidity raids may occur
Potential reversal points after the sweep
10. Candle 1 Liquidity
Solid horizontal lines marking the setup's own high and low — the structural boundaries.
Use Case: These are your invalidation levels. If a bullish setup's low is broken, the setup fails. These lines give you a clear visual reference for stop-loss placement.
11. Swing Structure Markers
Small diamond symbols (◆) at detected swing highs and lows.
Use Case: Helps you see the market's structural rhythm — where swing points form relative to the HTF candle. Useful for identifying when price is building higher lows (bullish) or lower highs (bearish).
12. Bias Selection
Mode What It Shows
Bullish Only bullish CISD signals and setups
Bearish Only bearish CISD signals and setups
Neutral Both directions
Use Case: You've done your daily analysis and determined the market is in a bullish trend. You set bias to "Bullish" to filter out counter-trend bearish signals and focus exclusively on buy setups.
13. Time Filters
Three configurable UTC time windows. Setups outside these windows are ignored.
Example Configuration:
Session 1: 08:00 - 11:00 (London Open)
Session 2: 13:00 - 16:00 (New York Open)
Session 3: OFF
Use Case: You only want to trade during London and New York sessions because that's when the most volume and expansion occurs. The indicator automatically suppresses signals during Asia session or off-hours.
14. Professional Info Table
A dark-themed dashboard showing:
Field Example Value
Pairing 5 → 60
Status ✓ Valid
Bias ▲ Bullish
Setup ▲ Bull C2
Auto TF ● Enabled
Sessions 8:00-11:00 13:00-16:00
Total 12 setups
15. Alerts
Alert Trigger
Bullish Fractal Setup Full bullish setup confirmed
Bearish Fractal Setup Full bearish setup confirmed
Bullish CISD Bullish delivery change detected
Bearish CISD Bearish delivery change detected
Setup Failed Active setup invalidated
Trading Workflow — Complete Use Case
Scenario: Trading EUR/USD on the 5-Minute Chart
Step 1 — Preparation
- Open 5min chart
- Indicator auto-pairs to 1H HTF
- Set bias to "Neutral"
- Enable London + NY time filters
Step 2 — Wait for HTF Context
- Watch the PO3 candle building the current hour
- Previous 1H candle closed bullish
- Current hour opens → you watch for a pullback
Step 3 — CISD Confirmation
- Price pulls back to a 5min swing low
- A 5min candle closes above its open and above the prior high
- CISD marker appears → Bullish Setup triggers
- Labels, projections, EQ zones all appear automatically
Step 4 — Entry
- Price is in the DISCOUNT zone (below EQ)
- Enter long near the CISD level
- Stop loss below the C1 Liquidity low line
Step 5 — Management
- C1 label shows ✓ — setup is fresh
- Price reaches -1× projection → move stop to breakeven
- C2 label appears ✓ — momentum continues
- Price hits -2× projection → take 50% profit
- C3 label turns orange ⚠ — trail stop tightly
- Price reaches -2.5× → close remaining position
Step 6 — Failure Scenario
- If price drops below setup low before hitting targets
- C2 label turns red ✗
- Projections, EQ, T-Spot all disappear
- You exit the trade at your stop loss
Who Is This Indicator For?
Trader Type How They Use It
Day Traders 1min/5min charts paired with 15min/1H for intraday setups
Swing Traders 15min/1H charts paired with 4H/Daily for multi-day holds
Scalpers 1min charts paired with 5min for quick expansion trades
Analysts Use projections and structure labels for market commentary
Key Strengths
Non-repainting — levels remain stable once plotted
Fully automated — no manual drawing required
Multi-asset — works on forex, crypto, stocks, indices, commodities
Adaptive — auto-adjusts to any timeframe
Professional visuals — clean, institutional-grade appearance with black text on colored labels for maximum readability
Indicator

Orderflow Detector [OmegaTools]Orderflow Detector is a multi-layered market microstructure and intrabar signal analysis indicator designed to highlight price-action events that are commonly associated with liquidity interaction, aggressive participation, and absorption behavior. It is built for traders who want a compact but information-dense framework to detect potential orderflow footprints directly on the chart while also monitoring a normalized delta-based resistance metric in a separate panel. The indicator combines event classification, lower-timeframe aggregation, directional volume imbalance analysis, and percentile-based contextual filters to provide a structured read of intraday activity without requiring a full depth-of-market interface.
The software is designed around the idea that certain recurring price and volume patterns can act as practical proxies for underlying orderflow dynamics. Instead of attempting to reconstruct the full order book, it detects and labels specific bar formations and liquidity interactions that often reflect phenomena such as hidden liquidity execution, stop runs, and passive absorption. These detections are then enhanced by lower-timeframe sampling and by a delta-versus-range efficiency model that classifies bars according to whether price moved with unusually low or unusually high resistance.
At the core of the indicator is a three-pattern detection engine that identifies Iceberg, Sweep, and Absorption conditions. Each signal is classified directionally and displayed directly on the chart with distinct symbols and vertical offsets, allowing the trader to quickly distinguish overlapping events and read them in context with the surrounding structure. The indicator can display all pattern families simultaneously or focus on one category at a time, which makes it suitable both for broad discretionary analysis and for targeted signal study during strategy development.
The Iceberg detection logic is designed to identify potential hidden-liquidity style behavior around repeated highs or lows combined with strong participation and breakout/return dynamics. The script evaluates repeated local extremes, elevated volume relative to recent conditions, and short-term structural expansion beyond recent highs or lows. It then classifies the event according to whether the behavior is more consistent with buying pressure overcoming sell-side resistance or selling pressure overcoming buy-side support. This creates an interpretable label that can be used to spot possible areas where latent liquidity was present and subsequently absorbed or overwhelmed.
The Sweep detection logic focuses on stop-run and reclaim behavior. It looks for price briefly moving beyond a recent local extreme and then closing back within the prior range under exceptionally strong volume conditions. This is intended to capture the kind of price action often associated with liquidity grabs, failed breakouts, and aggressive trapping dynamics. Direction is assigned based on whether the sweep occurs below recent lows with a recovery back above the broken area or above recent highs with a rejection back below the broken area. In practical use, these signals can be helpful for identifying potential exhaustion points, reversal zones, or confirmation events when used alongside broader trend and structure analysis.
The Absorption detection logic seeks to identify bars where participation is elevated but realized range remains relatively compressed, which can indicate passive liquidity absorbing aggressive flow. The script compares current volume and true range behavior to recent averages, then combines this with wick asymmetry and candle direction to infer whether absorption is more likely occurring on the offer side or bid side. This produces directional absorption labels that can help traders recognize situations where apparent aggression is not translating into efficient price movement, a condition that often precedes either continuation after re-accumulation or reversal after failed initiative.
A major strength of the indicator is its use of lower-timeframe aggregation through a configurable resolution input. Instead of relying exclusively on the chart’s current timeframe, the script evaluates the core event conditions on a selected lower timeframe and aggregates the resulting directional detections into the active bar. This allows the indicator to preserve intrabar signal sensitivity while remaining visually usable on higher chart timeframes. In practice, this means a trader can analyze a higher timeframe chart while still receiving information about micro-events that occurred inside each bar, improving context without cluttering the chart with excessive detail.
In addition to event labeling, the software computes a lower-timeframe directional volume imbalance model by separately aggregating up-bar volume and down-bar volume. From this it derives a delta estimate, then normalizes it using a rolling standard-deviation framework to produce a standardized delta intensity metric. This metric is displayed as a histogram and serves as a quantitative measure of how unusual the current directional participation is relative to recent conditions. The result is a more informative volume read than raw volume alone, since it incorporates directional pressure and statistical normalization.
The indicator goes further by combining normalized delta intensity with a custom range-efficiency model to estimate a resistance metric. This metric is designed to reflect how much directional participation was required to produce the observed bar movement. Conceptually, it provides a practical approximation of whether price traveled easily or encountered significant resistance. When the metric is unusually low, the bar may represent movement with relatively little resistance, while unusually high values may indicate strong opposition to directional flow. This is then contextualized using percentile thresholds over a rolling window, allowing the script to identify statistically extreme low-resistance and high-resistance conditions in a dynamic, instrument-adaptive manner.
The percentile-based box overlay system visually marks these resistance extremes directly on price bars. Bars classified as low-resistance can be extended forward with shaded boxes to highlight potential paths of least resistance, while high-resistance bars can be marked as zones where market opposition was comparatively strong. The user can choose to display only low-resistance zones, only high-resistance zones, both, or none. This feature is particularly useful for discretionary traders who want a visual map of bars that may act as reference zones for continuation, reaction, or retest behavior in subsequent price action.
The software includes a flexible visual configuration system that allows traders to tailor the display to their workflow. Users can choose which event families to display, whether to project low- or high-resistance boxes, what lower timeframe to use for intrabar aggregation, and which colors to assign to bullish and bearish detections. The result is an indicator that can be configured for minimalist chart annotation or more comprehensive orderflow-style monitoring depending on the user’s objectives.
The indicator’s chart annotations are intentionally separated by type and offset to preserve readability when multiple signals occur on the same bar. Iceberg events, Sweep events, and Absorption events each use distinct visual markers and are placed at different distances from the bar so that they remain legible even in high-activity conditions. This design is especially useful during fast intraday sessions where several market microstructure events may cluster in a short period.
The delta histogram panel complements the chart annotations by giving the trader a continuous quantitative read of participation intensity. The histogram is color-coded according to directional delta and normalized magnitude, making it easy to identify whether a bar’s directional participation is weak, moderate, or extreme. Reference thresholds are displayed to help frame interpretation and support rule-based usage in discretionary or semi-systematic trading processes.
Orderflow Detector is intended for advanced chart users, intraday discretionary traders, and system developers who want a practical bridge between pure price action and more specialized orderflow analysis. It is especially useful in environments where access to full order book tools is limited or where a trader wants a portable, chart-native framework for identifying liquidity interactions and directional participation anomalies. It can be used to support breakout confirmation, trap detection, reversal timing, trend continuation analysis, and contextual filtering for execution decisions.
As with any analytical indicator, this software should be used as part of a broader decision-making framework that includes market structure, risk management, and trade management discipline. The signals and resistance classifications are probabilistic interpretations of price and volume behavior, not direct observations of all market participants. When used correctly and in context, the indicator provides a robust and professional toolset for detecting and visualizing actionable orderflow-related behavior in real time on PulseWire.
- Eros Indicator

CVD Divergence & Absorption [UAlgo]CVD Divergence & Absorption is a dual context indicator that combines a cumulative volume delta (CVD) oscillator with price pivot structure to detect three important signal classes: Regular Divergence, Hidden Divergence, and Absorption. The script is designed to help traders compare price movement against directional volume participation and identify moments where price and CVD disagree, or where price stalls at similar levels while CVD continues to expand or contract.
The indicator runs in a separate pane ( overlay=false ) and plots a continuous CVD line, while signal labels and price side connecting lines are projected onto the main chart using force_overlay=true . This gives a clean workflow where you can monitor the CVD series in its own panel and still see exact divergence locations directly on price.
A key strength of this script is its lower timeframe volume decomposition. Instead of assigning the full chart bar volume to a single direction, it samples lower timeframe candles through request.security_lower_tf() , classifies each sub candle as up volume or down volume based on its close versus open, and aggregates the result into a bar level delta. That delta is then accumulated into the running CVD value. This approach is practical, efficient, and more granular than a simple chart timeframe approximation.
The script also includes quality controls for signal validation:
Pivot based comparisons for both price and CVD
Minimum and maximum bar distance filters between pivot comparisons
Equal price tolerance for absorption detection
A line of sight filter that rejects visually obstructed divergences where intervening candles violate the connecting path
The result is a professional divergence framework focused on cleaner, more interpretable signals rather than high frequency marking of every pivot mismatch.
Educational tool only. Not financial advice.
🔹 Features
🔸 1) Lower Timeframe CVD Construction (LTF Volume Decomposition)
The script builds CVD using lower timeframe candles selected by the user through the Lower Timeframe (LTF) input. For each chart bar, it retrieves arrays of lower timeframe open, close, and volume values and computes a signed delta:
Up LTF candle (close > open) adds volume
Down LTF candle (close < open) subtracts volume
Neutral LTF candle contributes zero
This produces a more refined bar delta than a single bar directional assumption and makes the CVD line more responsive to intrabar rotation.
🔸 2) Pivot Based Signal Engine for Price and CVD
Signal generation is anchored to confirmed price pivots using user defined left and right pivot bars. A signal candidate is considered only when:
A price pivot high/low is confirmed by ta.pivothigh or ta.pivotlow
The CVD value at that pivot location also behaves like a local high/low (simple local extremum check)
This means the script does not compare arbitrary points. It compares structurally meaningful swing locations.
🔸 3) Regular Divergence Detection (Bullish and Bearish)
The indicator supports classic regular divergence logic:
Bullish Regular Divergence: price makes a lower low while CVD makes a higher low
Bearish Regular Divergence: price makes a higher high while CVD makes a lower high
These signals can indicate weakening trend continuation pressure and potential reversal behavior, depending on context.
🔸 4) Hidden Divergence Detection (Bullish and Bearish)
The script also detects hidden divergence, which many traders use as continuation style confirmation:
Bullish Hidden Divergence: price makes a higher low while CVD makes a lower low
Bearish Hidden Divergence: price makes a lower high while CVD makes a higher high
Hidden divergence is optional and can be toggled independently from regular divergence.
🔸 5) Absorption Detection with Equal Price Tolerance
Absorption logic is included to capture situations where price prints near equal pivots, but CVD continues moving in a direction that suggests aggressive participation is being absorbed at the level:
Bearish Absorption (at highs): price is approximately equal high, but CVD is higher
Bullish Absorption (at lows): price is approximately equal low, but CVD is lower
The Equal Price Tolerance % input allows the script to treat two pivots as "equal" within a configurable percentage band. This makes absorption detection adaptable across instruments with different volatility profiles.
🔸 6) Minimum / Maximum Pivot Distance Filters
To avoid weak or overly stale comparisons, the script enforces:
A minimum number of bars between pivots
A maximum lookback distance for valid pivot pairing
This helps reduce noisy signals from pivots that are too close together and prevents pairing pivots that are too far apart to be contextually useful.
🔸 7) Line of Sight Validation (Signal Quality Filter)
Before accepting a pivot comparison, the script checks whether the straight line connecting the two price pivots is "clear" from intervening candle violations:
For bearish (high based) comparisons, intervening highs must not cross above the connecting line
For bullish (low based) comparisons, intervening lows must not cross below the connecting line
This is a strong visual integrity filter. It avoids many cluttered or ambiguous divergence lines that would look invalid once drawn on the chart.
🔸 8) Dual Visualization on Price and CVD
When a signal is detected, the script draws:
A label on price ("Reg", "Hid", or "Abs")
A line connecting the two relevant price pivots on the main chart
A line connecting the corresponding CVD pivot values in the CVD pane
Line styles are used to distinguish signal types:
Solid for Regular Divergence
Dashed for Hidden Divergence
Dotted for Absorption
This synchronized plotting makes it easy to verify the signal logic visually.
🔸 9) Conflict Handling for Cleaner Labels
Absorption labels are intentionally suppressed when a Hidden Divergence signal is already active on the same side in the same event block:
bullAbs and not bullHidDiv
bearAbs and not bearHidDiv
This prevents duplicate labels on the same pivot and improves chart readability.
🔸 10) Lightweight Pivot Memory Management
The script stores historical pivot comparison points in separate arrays for highs and lows and caps them using a helper method ( maxSize = 15 ). This keeps the logic efficient while preserving enough recent history for valid comparisons.
🔹 Calculations
1) Lower Timeframe Delta Aggregation
The script retrieves lower timeframe OHLCV arrays and computes bar delta by summing signed volume from each LTF candle:
array ltf_open = request.security_lower_tf(syminfo.tickerid, i_ltf, open)
array ltf_close = request.security_lower_tf(syminfo.tickerid, i_ltf, close)
array ltf_volume = request.security_lower_tf(syminfo.tickerid, i_ltf, volume)
if ltf_c > ltf_o
totalDelta += ltf_v
else if ltf_c < ltf_o
totalDelta -= ltf_v
Interpretation:
The script uses candle direction as a proxy for buying/selling pressure inside each chart bar.
This is an estimated delta model based on candle body direction, not true bid/ask tape delta.
2) CVD Accumulation
Bar delta is added into a running cumulative value stored inside a custom tracker object:
method update_cvd(CVD_Tracker this, float delta) =>
this.currentCVD += delta
this.currentCVD
The tracker persists across bars using:
var CVD_Tracker tracker = CVD_Tracker.new(0.0, array.new(), array.new())
This design keeps both the CVD value and pivot histories in one structured container.
3) Price Pivot Detection
Price pivots are confirmed using standard left/right pivot logic:
float ph = ta.pivothigh(high, i_left, i_right)
float pl = ta.pivotlow(low, i_left, i_right)
Because pivot confirmation occurs after i_right bars, signal labels and lines are placed at:
bar_index - i_right
This aligns the plotted signal with the actual pivot bar, not the confirmation bar.
4) CVD Pivot Confirmation at the Same Pivot Location
The script requires CVD to form a local extremum at the price pivot location using a simple 3-point comparison around currentCVD :
bool cvdIsPh = currentCVD > currentCVD and currentCVD > currentCVD
bool cvdIsPl = currentCVD < currentCVD and currentCVD < currentCVD
Then:
bool isPh = not na(ph) and cvdIsPh
bool isPl = not na(pl) and cvdIsPl
This ensures price and CVD are compared on synchronized pivot events rather than unrelated timestamps.
5) Pivot Pair Selection with Distance Constraints
When a new pivot is confirmed, the script scans prior pivots of the same type (highs with highs, lows with lows) and applies:
i_min_bars as the minimum spacing
i_max_bars as the maximum valid distance
if barsBetween < minBars
continue
if barsBetween > maxBars
break
This keeps comparisons within a user defined structural window.
6) Line of Sight Filter (Price Geometry Validation)
Before checking divergence conditions, the script verifies that the connecting price line is not invalidated by intervening candles.
For highs:
if barsBack >= 0 and high >= lineY
clear := false
For lows:
if barsBack >= 0 and low <= lineY
clear := false
Interpretation:
Bearish comparisons require a clean descending/ascending line between highs without intermediate highs breaking above it.
Bullish comparisons require a clean line between lows without intermediate lows breaking below it.
This is one of the script’s strongest anti-noise mechanisms.
7) Equal Price Tolerance for Absorption
The script calculates percentage difference between pivot prices and treats them as equal if the difference is within the tolerance:
float priceDiffPct = math.abs(newPivot.priceVal - histPivot.priceVal) / histPivot.priceVal * 100
bool isEqual = priceDiffPct <= eqTol
This enables absorption logic to work with approximate equal highs/lows instead of requiring perfect price matches, which are rare in live markets.
8) Bearish Signal Logic (Regular, Hidden, Absorption)
For pivot highs, the script compares a new pivot high against a historical pivot high after passing distance and line of sight checks.
Bearish Regular Divergence
newPivot.priceVal > histPivot.priceVal and not isEqual and newPivot.cvdVal < histPivot.cvdVal
Meaning:
Price makes a higher high
CVD makes a lower high
Bearish Hidden Divergence
newPivot.priceVal < histPivot.priceVal and not isEqual and newPivot.cvdVal > histPivot.cvdVal
Meaning:
Price makes a lower high
CVD makes a higher high
Bearish Absorption
isEqual and newPivot.cvdVal > histPivot.cvdVal
Meaning:
Price prints an approximately equal high
CVD pushes higher, suggesting buying effort is absorbed near the same price zone
9) Bullish Signal Logic (Regular, Hidden, Absorption)
For pivot lows, the script compares a new pivot low against a historical pivot low after passing distance and line of sight checks.
Bullish Regular Divergence
newPivot.priceVal < histPivot.priceVal and not isEqual and newPivot.cvdVal > histPivot.cvdVal
Meaning:
Price makes a lower low
CVD makes a higher low
Bullish Hidden Divergence
newPivot.priceVal > histPivot.priceVal and not isEqual and newPivot.cvdVal < histPivot.cvdVal
Meaning:
Price makes a higher low
CVD makes a lower low
Bullish Absorption
isEqual and newPivot.cvdVal < histPivot.cvdVal
Meaning:
Price prints an approximately equal low
CVD pushes lower, suggesting selling effort is absorbed near the same price zone
10) Signal Plotting and Visual Encoding
When a condition is confirmed, the script plots both price side and CVD side lines between the historical pivot and the new pivot, plus a compact label at the new pivot location.
Examples:
label.new(bar_index - i_right, low , text="Reg", ...)
line.new(bullLastPivot.loc, bullLastPivot.priceVal, bullNewPivot.loc, bullNewPivot.priceVal, ..., force_overlay=true)
line.new(bullLastPivot.loc, bullLastPivot.cvdVal, bullNewPivot.loc, bullNewPivot.cvdVal, ..., force_overlay=false)
Style mapping:
line.style_solid for Regular Divergence
line.style_dashed for Hidden Divergence
line.style_dotted for Absorption
11) Pivot History Storage and Capacity Control
Each confirmed pivot is stored in a side specific array (highs or lows) using a helper method:
method add_pivot(array this, Pivot p, int maxSize = 15) =>
this.push(p)
if this.size() > maxSize
this.shift()
This preserves recent structural history for future comparisons while keeping memory usage controlled. Indicator

Footprint Data Test [Zofesu]Overview
Verify your Data Integrity with Institutional Precision.
This diagnostic tool is a professional-grade utility designed to verify if your current broker and symbol provide real-time Footprint Data (Intrabar Volume). In the world of high-stakes trading, especially when scalping Nasdaq or BTC, your strategies are only as good as the data feeding them. This script ensures your "data fuel" is active before you rely on complex Order Flow or Delta-based indicators.
Why this is Original and Useful
PulseWire's Public Library is filled with Order Flow indicators, but many traders fail to realize that their broker might not even provide the necessary tick-level data for these tools to function.
This script is unique because:
Direct Engine Access: It utilizes the latest Pine Script™ v6 request.footprint method to probe the exchange’s database directly.
Diagnostic Transparency: Instead of guessing why an indicator isn't plotting, this tool provides a clear "Green Light" status.
Educational Value: It bridges the gap between retail charting and institutional data requirements, helping traders understand the difference between simulated volume and real footprint distribution.
How it Works
The script attempts to request footprint data for the last 10 bars. In Pine Script™ v6, if the broker (e.g., certain CFD providers) does not support this data, the method returns na. The tool captures this state and translates it into a simplified UI.
Core Components
Status Table: A clean, non-intrusive UI element at the bottom center of your chart for instant diagnostics.
Data Active ✅: Confirms your broker provides real-time footprint/tick data. You can safely proceed with Order Flow and Volume Profile strategies.
No Data / Not Supported: Indicates the symbol or broker lacks the necessary granularity. Footprint-based indicators will not function correctly in this environment. Next to the indicator, at the top left, you will see a red exclamation point.
Strategic Application
Broker Verification: Compare data quality between different providers (e.g., IC Markets vs. Binance vs. CME).
Symbol Compatibility: Essential for testing Nasdaq (NQ), S&P 500 (ES), or Crypto pairs before deploying capital.
Data Subscriptions: If you see a red status on Indices, it often confirms the need for a "Real-Time Data Subscription" from the exchange. Switch time frames to see where the real data is. Indicator

HTF Candle Profile [UAlgo]HTF Candle Profile is a higher timeframe candle visualization tool that rebuilds each selected HTF candle from the lower timeframe bars that form it, then projects a horizontal volume profile inside that HTF candle range. The goal is to make intrabar participation visible directly on the price chart, so you can see where volume concentrated within the candle, where it was thin, and where the dominant traded price level emerged.
Instead of treating a daily or four hour candle as a single block, the script aggregates the lower timeframe bars as they arrive and distributes their volume across price bins covering the HTF candle’s high to low range. The result is a compact profile drawn from the start time of the HTF candle toward the right, with width proportional to relative volume per bin and color intensity driven by a gradient. This provides a fast read of internal structure: balanced candles, directional candles, rejection wicks, and consolidation pockets become easier to interpret because you can see the volume distribution inside the candle.
The indicator draws on the main chart and keeps a small rolling history of recent HTF candles to stay responsive and to respect object limits.
🔹 Features
1) Multi Timeframe HTF Candle Reconstruction
The script listens for a new HTF candle event using the selected timeframe input. When a new HTF candle begins, the previous one is finalized and drawn. During the active HTF candle, each incoming lower timeframe bar updates the running OHLC and stores its high, low, and volume for profiling.
This approach enables a live building profile for the current HTF candle while preserving completed profiles for recent candles.
2) Intrabar Volume Profile Built from LTF Data
For each HTF candle, the price range from low to high is divided into a user defined number of bins. Each lower timeframe bar contributes volume into all bins it spans. Volume is distributed evenly across the spanned bins to approximate participation within that bar’s range. This produces a per bin volume distribution that is stable and visually interpretable even when lower timeframe candles have large ranges.
3) Gradient Based Profile Intensity
Each bin is drawn as a horizontal box. Its color comes from a gradient that maps low volume to a softer profile color and high volume to a stronger profile color. This makes it easy to spot high participation nodes and low participation voids within the HTF candle.
Inputs allow independent control for bullish and bearish candle coloring and for the low volume and high volume profile colors.
4) POC Line Option
The script can optionally plot a POC line representing the price level of maximum volume within the HTF candle. This is drawn as a dashed horizontal line that spans the candle’s start time to end time. POC is often used as a reference for acceptance, fair value, or a magnet level during retracements.
5) Candle Body, Wick, and Time Boundaries
To keep the profile anchored and readable, the script also draws:
A translucent body box from HTF open to HTF close
A vertical wick line from HTF high to HTF low
A dotted start boundary and a dotted end boundary for the HTF candle window
These elements provide context so the profile is always interpreted within the candle structure that produced it.
6) Object Management and Rolling History
To keep charts clean and avoid exceeding platform limits, the script maintains a small history of HTF candles and deletes drawings for older ones. Each candle owns its objects and can fully clear them when removed from the rolling window.
🔹 Calculations
1) New HTF Candle Detection
A new candle event is detected using timeframe change on the selected timeframe:
isNew = timeframe.change(tf)
When isNew is true:
The previous HTF candle is finalized by setting its end time and drawing it
A new HTF candle object is created and added to the array
Old candles beyond the history limit are removed and their drawings deleted
2) HTF Candle Aggregation from LTF Bars
Each incoming lower timeframe bar updates the active HTF candle:
method addLtf(HtfCandle this, float h, float l, float c, float v) =>
this.ltfData.push(LtfBar.new(h, l, v))
this.h := math.max(this.h, h)
this.l := math.min(this.l, l)
this.c := c
Interpretation:
High is updated to the maximum seen so far within the HTF candle window
Low is updated to the minimum seen so far
Close is updated to the most recent close
Each LTF bar is stored with its high, low, and volume for later bin distribution
3) Bin Construction Across the HTF Candle Range
When drawing a candle, the script divides the HTF range into binCount segments:
float step = (this.h - this.l) / bCount
for i = 0 to bCount - 1
this.bins.push(ProfileData.new(this.l + i * step, this.l + (i + 1) * step, 0.0, na))
Each bin stores:
minP and maxP boundaries
accumulated volume for that price segment
a box handle for drawing
4) Volume Distribution from Each LTF Bar into Bins
For each stored LTF bar, the script determines which bins the bar spans and distributes volume evenly across them:
int startIdx = int((ltf.l - this.l) / step)
int endIdx = int((ltf.h - this.l) / step)
startIdx := math.max(0, math.min(startIdx, bCount - 1))
endIdx := math.max(0, math.min(endIdx, bCount - 1))
int spanned = endIdx - startIdx + 1
float vPerBin = ltf.v / spanned
for j = startIdx to endIdx
ProfileData b = this.bins.get(j)
b.vol += vPerBin
Interpretation:
The bar range is mapped to bin indexes
Indexes are clamped so they remain inside the array
Volume is divided by the number of spanned bins
Each spanned bin receives an equal share of that bar’s volume
This is a robust approach for intrabar profiling without tick data.
5) POC Computation
The script finds the bin with the maximum accumulated volume and sets the POC price at the midpoint of that bin:
float maxVol = 0.0
float pocP = na
for b in this.bins
if b.vol > maxVol
maxVol := b.vol
pocP := math.avg(b.minP, b.maxP)
If enabled, a dashed POC line is drawn across the HTF candle window:
if sPoc and not na(pocP)
this.lPoc := line.new(x1=this.st, y1=pocP, x2=this.et, y2=pocP, xloc=xloc.bar_time, color=cPoc, style=line.style_dashed, width=2)
6) Profile Box Width Scaling
Each bin’s box width scales by its volume relative to the maximum volume bin. Width is capped as a fraction of the candle’s time duration:
int duration = math.max(this.et - this.st, 1)
int volWidth = int((duration * 0.40) * (b.vol / maxVol))
int boxRight = this.st + volWidth
Interpretation:
duration represents the HTF candle time width
0.40 is the maximum profile width fraction of the candle duration
b.vol / maxVol converts volume to a normalized ratio
boxRight is calculated so all profile boxes start at the candle start time and extend rightward based on volume
7) Gradient Coloring of the Profile
Each bin color is mapped from low volume to high volume using a gradient:
color gradColor = color.from_gradient(b.vol, 0, maxVol, cLow, cHigh)
This keeps low participation zones visually lighter and high participation zones more prominent.
8) Candle Body and Wick Drawing
The script draws an HTF candle body box and a wick line for context:
float topP = math.max(this.o, this.c)
float botP = math.min(this.o, this.c)
this.bBody := box.new(left=this.st, top=topP, right=this.et, bottom=botP, xloc=xloc.bar_time, bgcolor=color.new(c, 85))
this.lWick := line.new(x1=midTime, y1=this.h, x2=midTime, y2=this.l, xloc=xloc.bar_time, color=color.new(c, 30), width=2)
It also draws start and end boundary lines so the candle window is clearly defined in time.
Indicator

Delta Ladder Order Flow [UAlgo]Delta Ladder Order Flow is an overlay order flow visualizer that builds a per bar delta ladder using lower timeframe candles as an intrabar proxy. For each recent bar, the script pulls the underlying lower timeframe open, high, low, close, and volume arrays, then distributes volume into discrete price buckets. Each bucket accumulates estimated buy volume and sell volume, producing a ladder that resembles a footprint style view.
The display focuses on three core outputs:
A delta heatmap ladder where each price level is colored by net delta dominance
A Point of Control highlight that marks the highest total volume level inside the bar
A stacked imbalance detector that scans diagonally across levels to identify aggressive one sided participation and optionally projects that stack forward
The system is designed with stability controls for real world chart conditions. It includes dynamic scaling to prevent excessive level counts on high range bars, object budgeting through bars to draw limits, and text filtering to reduce clutter.
🔹 Features
1) Intrabar Resolution via Lower Timeframe Data
The ladder is constructed using request.security_lower_tf. You select an Intrabar Resolution timeframe that must be lower than the chart timeframe. The script then receives arrays of LTF candles for each chart bar and uses them as a proxy for footprint style aggregation.
This approach provides a practical order flow approximation on PulseWire charts without requiring native tick level data.
2) Ladder Aggregation with Tick Size Multiplier
Price levels are aggregated using the symbol mintick multiplied by a user multiplier. Increasing the multiplier produces thicker ladder steps and fewer levels. Decreasing it produces finer granularity but increases the number of boxes drawn.
This control is critical for balancing detail versus performance across different symbols and volatility regimes.
3) Dynamic Scaling to Prevent High Range Bar Overload
A single volatile bar can contain too many price steps if the granularity is too fine. To prevent crashes, the script estimates how many steps would be required for the bar and increases the effective step size when the raw step count exceeds Max Levels per Bar.
This keeps rendering stable even during high volatility events while still maintaining a consistent ladder representation.
4) Buy, Sell, and Neutral Volume Attribution
Each LTF candle’s direction is inferred from its open and close:
Close above open is treated as buy side volume
Close below open is treated as sell side volume
Close equal open is treated as neutral and split evenly between buy and sell
Volume is then distributed across the price buckets covered by the LTF candle range so that wide candles spread their influence across multiple levels.
5) Delta Heatmap Ladder with Intensity Scaling
Each price bucket computes delta as buy volume minus sell volume and total volume as the sum of both. Ladder cells are colored positive or negative based on delta sign, and transparency is scaled by how dominant the delta is relative to the maximum total volume level inside that bar. This yields a compact heatmap where strong imbalances visually stand out.
A square root curve is applied to intensity to improve mid tone visibility without making everything fully opaque.
6) Point of Control Highlight
The ladder tracks the price level with the highest total volume and marks it as the Point of Control. When enabled, the POC row uses a dedicated border color and a stronger border width so the acceptance anchor is immediately visible.
7) Stacked Imbalance Detection and Projection
The script can detect stacked diagonal imbalances. It compares volume across adjacent price levels using a diagonal logic similar to footprint tools:
Bullish diagonal checks buy volume at a level versus sell volume at the level below
Bearish diagonal checks sell volume at a level versus buy volume at the level above
An imbalance requires the winning side to exceed the losing side by the configured Imbalance Ratio and also exceed a minimum volume threshold to filter low volume noise. When consecutive imbalanced levels reach the Stacked Levels count, the stack is marked and optionally extended forward as a zone.
Stack members also override normal heatmap coloring and are rendered more solid for emphasis.
8) Clean Visual Controls
Several options support readability:
Bars to Draw limits workload and object count
Show Delta Values can be toggled on or off
Min Delta to Show Text filters small prints
Ladder Width percent controls how wide the ladder is relative to the bar space
Text size can be adjusted for different chart zoom levels
Box outline can be hidden by default for a cleaner footprint aesthetic
🔹 Calculations
1) Intrabar data acquisition (lower timeframe arrays)
The script requests arrays of LTF OHLCV values for each chart bar using request.security_lower_tf.
ltf_open = request.security_lower_tf(syminfo.tickerid, tf_input, open)
ltf_close = request.security_lower_tf(syminfo.tickerid, tf_input, close)
ltf_high = request.security_lower_tf(syminfo.tickerid, tf_input, high)
ltf_low = request.security_lower_tf(syminfo.tickerid, tf_input, low)
ltf_vol = request.security_lower_tf(syminfo.tickerid, tf_input, volume)
These arrays contain the lower timeframe candles that make up each chart bar. Each chart bar index has its own embedded array.
2) Base tick step (bucket size control)
Bucket size starts from mintick multiplied by Tick Size Multiplier.
var float base_tick_step = syminfo.mintick * tick_size_mult
This is the baseline price increment used to build the ladder levels.
3) Last bar execution model (performance design)
The script only builds and draws ladders when barstate.islast is true. It then reconstructs the last N bars using an index offset.
if barstate.islast
int start_idx = math.max(0, bar_index - bars_to_draw + 1)
for i = start_idx to bar_index
int offset = bar_index - i
float arr_o = ltf_open
float arr_c = ltf_close
float arr_h = ltf_high
float arr_l = ltf_low
float arr_v = ltf_vol
This design dramatically reduces CPU and memory load compared to updating every bar.
4) Dynamic scaling per bar (anti crash protection)
For each bar, the script estimates how many price steps would be needed using the current bucket size. If that count exceeds Max Levels per Bar, it increases the step size only for that bar.
float bar_h = high
float bar_l = low
float bar_range = bar_h - bar_l
float raw_steps = bar_range / base_tick_step
int scaler = 1
if raw_steps > max_levels_per_bar
scaler := int(math.ceil(raw_steps / max_levels_per_bar))
float current_tick_step = base_tick_step * scaler
Result:
Calm bars use fine granularity
High range bars are automatically compressed into fewer buckets
5) LTF candle direction classification (buy, sell, neutral)
Each LTF candle is classified using its open and close. Neutral candles split volume evenly.
bool is_buy = c > o
bool is_sell = c < o
bool is_neutral = c == o
This is a heuristic proxy for aggressor side. It is not true bid ask data.
6) Align LTF candle range to bucket grid
The candle low and high are rounded to the current tick step so bucket prices align cleanly.
float low_aligned = math.round(l / current_tick_step) * current_tick_step
float high_aligned = math.round(h / current_tick_step) * current_tick_step
7) Step counting and volume per step
The script computes how many bucket levels the candle touches and divides volume equally across them.
int steps = int(math.round((high_aligned - low_aligned) / current_tick_step)) + 1
if steps > 500
steps := 500
float vol_per_step = v / steps
This means wide candles distribute volume across more ladder cells, while tight candles concentrate volume into fewer cells.
8) Writing volume into the ladder map (PriceLevel storage)
Each chart bar owns a DeltaLadder with a map of price to PriceLevel. Each PriceLevel stores buy and sell volume. Volume is added step by step.
type PriceLevel
float price
float buy_vol = 0.0
float sell_vol = 0.0
type DeltaLadder
int bar_idx
map levels
float min_price = 10000000.0
float max_price = 0.0
float max_vol_level = 0.0
float poc_price = na
float poc_vol = 0.0
The add method updates volumes and also tracks max volume and POC:
method add_volume(DeltaLadder this, float price, float vol, bool is_buy, bool is_neutral) =>
if not this.levels.contains(price)
this.levels.put(price, PriceLevel.new(price))
PriceLevel lvl = this.levels.get(price)
if is_neutral
lvl.buy_vol += vol * 0.5
lvl.sell_vol += vol * 0.5
else if is_buy
lvl.buy_vol += vol
else
lvl.sell_vol += vol
float t = lvl.total()
if t > this.max_vol_level
this.max_vol_level := t
if t > this.poc_vol
this.poc_vol := t
this.poc_price := price
The main loop calls this method for each bucket level touched by each LTF candle:
for p = 0 to steps - 1
float level_price = low_aligned + (p * current_tick_step)
ladder.add_volume(level_price, vol_per_step, is_buy, is_neutral)
9) Delta and total volume formulas
Delta and total are defined as methods on PriceLevel.
method delta(PriceLevel this) =>
this.buy_vol - this.sell_vol
method total(PriceLevel this) =>
this.buy_vol + this.sell_vol
These values drive both coloring and POC selection.
10) Stacked imbalance detection (diagonal footprint logic)
Prices are sorted so neighbor comparisons are correct. A stack_map stores whether each price belongs to a bullish or bearish stacked run.
float prices = ladder.levels.keys()
array.sort(prices)
map stack_map = map.new()
Diagonal comparisons:
Bullish diagonal compares BuyVol at level i with SellVol at level below i minus 1
Bearish diagonal compares SellVol at level i with BuyVol at level above i plus 1
Bullish check includes a zero handling rule:
if i > 0
float p_below = array.get(prices, i-1)
PriceLevel lvl_below = ladder.levels.get(p_below)
if lvl_below.sell_vol == 0
if lvl.buy_vol > imb_min_vol
direction := 1
else
if lvl.buy_vol > lvl_below.sell_vol * imb_ratio and lvl.buy_vol > imb_min_vol
direction := 1
Bearish check includes symmetric logic:
if i < array.size(prices) - 1
float p_above = array.get(prices, i+1)
PriceLevel lvl_above = ladder.levels.get(p_above)
if lvl_above.buy_vol == 0
if lvl.sell_vol > imb_min_vol
direction := -1
else
if lvl.sell_vol > lvl_above.buy_vol * imb_ratio and lvl.sell_vol > imb_min_vol
direction := -1
Runs are tracked and only accepted if the number of consecutive levels meets the stacked requirement:
if math.abs(i - run_start_idx) >= stack_count
for k = run_start_idx to i - 1
stack_map.put(array.get(prices, k), run_dir)
The script also draws a projected zone for the detected stack band:
box.new(right_time, p_top + current_tick_step/2, right_time + 1000 * 60 * 60 * 24, p_bot - current_tick_step/2,
xloc=xloc.bar_time, border_width=0, bgcolor=color.new(c_stack, 85), extend=extend.right)
11) Heatmap intensity and transparency mapping
For each price level, intensity is computed as abs(delta) relative to the maximum total volume level in the bar, then curved and mapped into transparency.
float intensity = ladder.max_vol_level > 0 ? math.abs(delta) / ladder.max_vol_level : 0
intensity := math.min(intensity, 1.0)
float curved_intensity = math.sqrt(intensity)
float transp = 97 - (curved_intensity * 57)
Stacked members force stronger visibility:
if stack_map.contains(p)
intensity := 1.0
transp := 30
12) POC marking in the drawing pass
POC is detected during volume accumulation, then used in rendering to upgrade the border style for that cell.
bool is_poc = show_poc and (p == ladder.poc_price)
color border_c = is_poc ? col_poc : col_outline
int border_w = is_poc ? 2 : 1
13) Delta text rendering filter
Text labels are optional and can be filtered by a minimum absolute delta threshold.
if show_text and math.abs(delta) >= text_threshold
string txt = str.tostring(delta, format.volume)
label.new(int((left_time + right_time)/2), p, txt,
xloc=xloc.bar_time, style=label.style_none,
textcolor=txt_col, size=text_size)
Indicator

Delta Strike: Order Flow Absorption & Momentum Confirmation**Delta Strike** is a professional-grade quantitative tool designed for traders who prioritize institutional logic over simple price action. It moves beyond traditional "buy/sell" indicators by dissecting the battle between **Passive Absorption** and **Aggressive Initiative** using underlying Order Flow data.
### 🛡️ The Core Philosophy: "Wait for the Trap, Trade the Escape"
Markets rarely reverse instantly. **Delta Strike** follows a rigorous two-step verification process to filter out noise and hunt for high-probability institutional footprints:
1. **Phase 1: Institutional Absorption (Left-Side Setup)**
The system identifies "Base Bars" where high volume and extreme Delta (passive buying/selling) occur, but price fails to continue. This indicates that a large player is absorbing the current move.
2. **Phase 2: Aggressive Strike (Right-Side Confirmation)**
We do not "catch the knife." Instead, the indicator monitors the next **N bars** for a confirmed strike. A signal is only triggered when price engulfs the base bar and is backed by a significant **Active Delta Percentage**, proving that the "absorber" has now become the "aggressor."
### 🚀 Key Technical Features
* **Dual-Cycle Volume Matrix**: Unlike standard indicators, Delta Strike analyzes volume across two lookback periods simultaneously (Short-term 20 & Long-term 50). It classifies setups into three categories:
* 🔥 **Dual-Cycle Convergence** (Maximum Strength)
* ⚡ **Short-term Spike** (Local Volatility)
* 🌊 **Macro Volume Surge** (Long-term Accumulation)
* **Active Delta Intensity Filter**: Every confirmation bar is evaluated for its "Net Win Ratio." By filtering out low-conviction, low-volume breakouts, it ensures you only follow moves with real institutional backing.
* **RSI Environment Guard**: Integrated RSI logic ensures that bottom absorption is only hunted in "Oversold" zones and top absorption in "Overbought" zones, significantly reducing whipsaws in sideways markets.
* **Validated SuperTrend (Delta-Sync)**: A modified SuperTrend algorithm that requires a "Delta Handshake." A trend flip is only considered valid if price and Delta move in the same direction, preventing "fake-outs" during low-liquidity periods.
### 📊 Clean & Actionable UI
* **Base Bar Highlight**: When a setup is confirmed, the script retroactively draws a **Yellow (Bullish)** or **Fuchsia (Bearish)** box around the original absorption bar.
* **Trace Lines**: Dashed lines connect the original institutional entry to your current entry point, providing immediate visual context for the trade's logic.
* **Momentum Rating (🐂/🐻)**:
* **3 Stars (🐂🐂🐂)**: Extreme Delta Strike (>20% Net Win).
* **2 Stars (🐂🐂)**: High Conviction Strike (>10% Net Win).
* **1 Star (🐂)**: Standard Confirmation.
### 🔔 Smart Alert System
Equipped with a fully customizable alert suite. You can set alerts for:
* **Absorption Confirmations** (Long/Short)
* **Validated SuperTrend Breakouts**
*Note: For the most accurate results, it is recommended to use "Any alert() function call" and set frequency to "Once Per Bar Close" to avoid repainting during intra-bar fluctuations.*
---
### How to use:
1. Look for the ** ** label and highlighted box.
2. Wait for the **Strike icons (🐂/🐻)** to appear within the N-bar window.
3. Combine with your existing Support/Resistance levels for optimal strike rates.
--- Indicator

Liquidity Structure & Order Flow [LuxAlgo]The Liquidity Structure & Order Flow indicator is a comprehensive technical tool that visualizes market depth through volume distribution, order flow delta, and liquidity voids. It aims to provide traders with a high-fidelity view of where market participants are most active and where price is likely to find support, resistance, or rapid acceleration.
🔶 USAGE
The tool combines traditional volume profiling with modern visualization to identify market imbalances. By projecting liquidity depth directly onto the chart, users can observe the "weight" of the market at various price levels.
🔹 Identification and Strategy
Identify Fair Value: Use the Value Area (VAH to VAL) to determine where the majority of trading has occurred. Price trading within this zone suggests a balanced market, while a breakout from this area often signals the start of a new trend. Spot Absorption: Look for high Volume Delta (bright green or red intensities) near the edges of the Value Area. If price fails to move further despite high delta, it suggests absorption by limit orders. Anticipate Volatility: Use the Widest Void zones to identify "liquidity gaps." Price often moves rapidly through these areas due to a lack of historical orders, making them ideal targets for take-profits or entry triggers. Confirm Reversals: Unusual Volume Bubbles appearing at key structural levels (like the POC or VA extremes) can signal climatic action or the entry of institutional players.
🔹 Unusual Volume Bubbles
These bubbles identify extreme market events using a Z-Score calculation based on a 200-period volume baseline. A Smart Lane Anti-Overlap System ensures that multiple volume spikes occurring in quick succession do not obscure one another by stacking them in dynamic lanes. Larger bubbles with glow effects indicate higher statistical outliers, highlighting where "smart money" may be entering the market.
🔹 Volume Delta Backdrop
The **Volume Delta Panel** calculates the net difference between buying and selling pressure (Aggressive Delta) within each price bin of the Value Area. It uses an EMA-smoothed volume delta to filter noise, rendering higher intensities when one side of the market is significantly more aggressive than the other at a specific price level.
🔶 DETAILS
🔹 Widest Void Analysis
The script includes an automated logic to identify the "Widest Void." This is calculated by scanning the volume profile for the longest continuous sequence of price bins where volume falls below a specific threshold (15% of the Point of Control volume).
In market auction theory, these voids represent areas where price discovery was inefficient. Because there is little "historical friction" in these zones, price tends to traverse them quickly, acting as a vacuum between high-liquidity nodes.
🔹 Dynamic Volume Ribbons
At the leading edge of the indicator, two cumulative polylines project the volume distribution of the upper and lower halves of the lookback range. The Upper Ribbon (Red) represents the volume distribution above the price midpoint, while the Lower Ribbon (Green) represents the distribution below it.
🔶 SETTINGS
🔹 Volume Profile Settings
Lookback Period: The number of historical bars used to calculate the profile. Weight Recent Volume: When enabled, recent volume data has a higher impact on the profile shape. Value Area %: Defines the percentage of total volume used to calculate the VAH and VAL. Profile Smoothing: Adjusts the visual "noise" of the heatmap.
🔹 Volume Delta Backdrop
Show Volume Delta Panel: Toggles the Delta distribution within the Value Area. Delta Intensity: Controls color saturation based on the magnitude of the delta. Delta Smoothing Length: The EMA length used to calculate the volume delta flow.
🔹 Unusual Volume Bubbles
Sensitivity (Z-Score): The number of standard deviations required to trigger a bubble. Min/Max Bubble Size: Sets the visual constraints for the volume spikes.
🔹 Visualization & Dashboard
Show Heatmap: Toggles the background liquidity heatmap. Highlight Widest Void: Toggles the detection and labeling of the primary liquidity gap. Curves X-Offset: Moves the polyline ribbons further into the future. Dashboard: Toggles the on-screen table containing metrics such as Mass Skew, Dist. to POC, and Aggregated Delta. Indicator

Volumetric Order Flow Structure [LuxAlgo]The Volumetric Order Flow Structure indicator is a comprehensive technical analysis tool designed to visualize market structure through the lens of volumetric distribution and institutional order flow.
🔶 USAGE
Traders can use this tool to identify institutional supply and demand zones backed by high-volume nodes. The glowing structure bars provide immediate feedback on breakout conviction, while the manipulation bubbles highlight areas where institutional players may be trapping retail traders before a reversal.
The indicator is particularly useful for identifying:
High-conviction breakouts versus low-volume "fakeouts."
Precise price levels within a zone where the most volume was transacted (POC).
Liquidity raids that suggest a potential reversal or trend continuation.
🔹 Volumetric Market Structure
The script automatically detects Change of Character (CHoCH) and Break of Structure (BOS). Breakout levels are represented by glowing "Volumetric Bars" that fill horizontally based on the breakout bar's volume delta, representing the internal buying or selling pressure of the move.
🔹 Stepped Volume Profiles
Active Order Blocks feature a 15-row horizontal histogram. The script calculates the volume distribution within the pivot candle, highlighting the Point of Control (POC) in orange to identify the most significant price node within the supply or demand zone.
🔹 Manipulation Bubbles
This feature identifies liquidity raids where price wicks beyond a zone but fails to close through it. These events are marked with circular "bubbles" sized dynamically by volume, featuring external volume data labels for precise analysis of institutional activity.
🔶 DETAILS
The script employs a dynamic zone management system where zones extend across the screen until the price closes beyond them. An advanced 'Hide Overlapping' filter ensures that if multiple zones occur in the same price range, only the most relevant (highest volume) block is displayed to maintain chart clarity.
Additionally, the indicator utilizes ATR-based scaling to ensure visual thickness and label sizes are perfectly proportional across all assets, ensuring a consistent experience whether trading Forex, Stocks, or high-priced Cryptocurrencies.
🔶 SETTINGS
🔹 Detection
Pivot Length: Sets the lookback period for detecting high and low pivots used for structure.
Volume Lookback: The window used to calculate relative volume for scaling and sensitivity.
🔹 Visuals
Max Recent Blocks: The maximum number of active supply/demand zones to display on the chart.
Base Transparency: Controls the overall opacity of the volumetric zones.
Hide Overlapping Blocks: When enabled, the script removes smaller/lower volume blocks that reside within the price range of a more significant block.
🔹 Manipulation
Show Manipulation Bubbles: Toggles the visibility of liquidity raid markers.
Size Sensitivity: Adjusts how aggressively the bubble sizes react to volume spikes.
Indicator

Indicator

Volumetric Supply and Demand Zones [BOSWaves]Volumetric Supply and Demand Zones - Impulse-Based Zone Detection with Embedded Volume Profile Analysis
Overview
Volumetric Supply and Demand Zones is an impulse-driven zone identification system that marks significant reversal areas through swing detection and volume accumulation patterns, where zone boundaries dynamically reflect actual trading activity concentration rather than arbitrary price levels.
Instead of relying on traditional horizontal support/resistance lines or fixed pivot structures, zone placement, thickness, and volumetric composition are determined through ATR-normalized impulse detection, volume profile distribution analysis, and delta decomposition within base formation periods.
This creates adaptive supply and demand boundaries that reflect actual volume accumulation patterns rather than simple price extremes - contracting zones around high-volume concentration areas when profile shows tight distribution, expanding zones during dispersed volume activity, and incorporating positive/negative delta breakdowns to reveal whether zones formed under buying or selling pressure dominance.
Price interactions are therefore evaluated relative to volume-weighted zone structures and point-of-control levels rather than conventional naked price zones.
Conceptual Framework
Volumetric Supply and Demand Zones is founded on the principle that meaningful reversal zones emerge where significant volume accumulated during consolidation before impulse moves rather than at simple swing high/low pivot points.
Traditional supply and demand methods identify zones using price structure alone through swing detection or candlestick patterns, which often ignores the underlying volume distribution and buying/selling pressure that validates institutional accumulation or distribution. This framework replaces price-only logic with volume-weighted zone construction informed by actual trading activity concentration and delta composition.
Three core principles guide the design:
Zone boundaries should encompass base formation periods preceding impulse moves, not isolated pivot candles alone.
Volume profile distribution within zones must reveal where actual trading activity concentrated, identifying true points of control.
Delta decomposition exposes whether zones formed under buying pressure (demand accumulation) or selling pressure (supply distribution).
This shifts supply and demand analysis from naked price levels into volume-validated, delta-aware institutional footprint zones.
Theoretical Foundation
The indicator combines swing pivot detection, ATR-based impulse measurement, volume profile construction, and delta decomposition analysis.
A pivot detection system identifies local swing highs and lows using configurable left/right bar parameters. Impulse validation measures the subsequent price move magnitude relative to ATR, confirming whether the swing preceded a significant directional thrust. Zone boundaries encompass a lookback period of candles forming the base, with maximum height capped by ATR multiplier to prevent excessively large zones. Volume profile divides each zone into horizontal rows, distributing volume proportionally based on price overlap and identifying the point of control (highest volume row). Delta profile separates volume into buying versus selling components using close-open relationships, revealing net directional pressure within each profile row.
Five internal systems operate in tandem:
Swing Detection Engine : Identifies pivot highs and lows using symmetrical left/right bar confirmation for potential zone anchor points.
Impulse Validation System : Measures price movement magnitude following pivot formation, requiring ATR-multiple threshold breach to confirm zone significance.
Volume Profile Constructor : Divides zone height into configurable rows, allocates volume proportionally based on bar price range overlap with each row, identifies POC as highest-volume row.
Delta Decomposition Engine : Separates volume into buying (up-close bars) versus selling (down-close bars) components within each profile row, calculates net delta and dominant pressure direction.
Zone Merge Logic : Detects overlapping zones of same type (supply/supply or demand/demand), combines boundaries and recalculates volume/delta statistics with weighted blending.
This design allows supply and demand zones to reflect actual volume accumulation reality rather than reacting mechanically to price pivots alone.
How It Works
Volumetric Supply and Demand Zones evaluates price through a sequence of volume-aware zone construction processes:
Pivot Identification : Swing detection algorithm identifies local highs and lows using configurable left/right bar symmetry, marking potential reversal zone anchors.
Impulse Magnitude Validation : Following pivot formation, price movement measured relative to ATR over lookback period - move must exceed ATR multiplier threshold to confirm zone validity.
Base Period Boundary Definition : Zone encompasses pivot bar plus configurable lookback candles forming the consolidation base preceding impulse move.
Height Normalization : Raw zone height (high to low of base period) capped at maximum ATR multiplier to prevent zones becoming unreasonably large during extended consolidations.
Volume Profile Row Allocation : Zone divided into configurable number of horizontal rows, each bar's volume distributed proportionally based on price range overlap with row boundaries.
Point of Control Identification : Row with highest accumulated volume marked as POC, representing price level with maximum trading activity concentration within zone.
Delta Component Separation : Each bar's volume classified as buying (close > open) or selling (close < open), allocated to respective delta buckets within overlapping profile rows.
Delta Profile Construction : Net delta (buy volume minus sell volume) calculated per row, rendered as horizontal bars extending from zone right edge inward with green (positive) or red (negative) coloring.
Overlap Detection and Merging : New zones checked against existing zones of same type, overlapping zones within merge gap threshold combined with boundary expansion and volume/delta statistics aggregation.
Mitigation Detection : Price interaction monitoring using configurable method (wick or close) determines when zones violated, triggering zone deletion and cleanup of all visual elements.
Together, these elements form a continuously updating supply and demand framework anchored in volume accumulation reality and delta pressure composition.
Interpretation
Volumetric Supply and Demand Zones should be interpreted as volume-validated institutional footprint zones:
Demand Zones (Green) : Form at swing lows preceding upward impulse moves exceeding ATR threshold - represent areas where buyers accumulated positions before markup phase, volume profile shows where bids concentrated.
Supply Zones (Red) : Establish at swing highs preceding downward impulse moves exceeding ATR threshold - identify areas where sellers distributed positions before markdown phase, volume profile shows where offers concentrated.
Volume Profile Bars : Horizontal bars extending from zone left edge show relative volume distribution across price levels - longer bars indicate higher trading activity, revealing true institutional accumulation/distribution levels versus arbitrary zone edges.
Point of Control Line (White) : Horizontal line within zone marks price level with maximum volume concentration - represents the most significant institutional activity level, often acts as magnetic price level during retests.
Delta Profile Bars : Horizontal bars extending from zone right edge inward display net buying/selling pressure per price level - green bars show buy volume dominance (accumulation), red bars show sell volume dominance (distribution).
Zone Info Box : Text panel on right edge displays zone type (SUPPLY/DEMAND), status (Fresh/Tested), total volume, net delta, and touch count - provides quantitative validation of zone significance.
Fresh Status : Newly created zones not yet tested by price - highest probability reversal zones as institutional orders likely remain unfilled.
Tested Status : Zones where price returned and interacted with boundaries - touch count reveals how many times zone provided support/resistance, excessive touches suggest weakening.
Merged Zones : Wider zones with higher volume/delta values formed by combining multiple overlapping base periods - represent extended institutional accumulation/distribution areas with greater significance.
POC Brightness : Brightest (white) volume profile bar marks point of control - visual emphasis highlights the most critical price level within zone structure.
Volume distribution shape, POC placement, delta composition, and touch count outweigh simple zone boundary reactions.
Signal Logic & Visual Cues
Volumetric Supply and Demand Zones presents zone interaction insights rather than discrete directional signals:
Fresh Zone Formation : New supply or demand zone created when swing pivot followed by ATR-threshold impulse - suggests institutional footprint left behind, high-probability reversal area established.
First Retest (Fresh → Tested) : Price returning to previously untouched zone triggers status change and touch increment - historically highest-probability reaction level as unfilled orders likely remain.
POC Magnetic Behavior : Price gravitating toward white POC line during zone interaction - suggests institutional activity concentration level acting as support/resistance within broader zone.
Volume Profile Asymmetry : Profile showing volume concentrated at zone edge versus center reveals base formation character - edge concentration suggests quick accumulation before impulse, center concentration indicates prolonged consolidation.
Delta Divergence Patterns : Demand zones showing negative delta profile (red bars dominant) or supply zones showing positive delta (green bars) reveal weak zone formation - pressure composition conflicted with expected direction.
Delta Confirmation Patterns : Demand zones with strong positive delta (green bars) or supply zones with strong negative delta (red bars) validate institutional conviction - pressure aligned with expected reversal direction.
Excessive Touch Degradation : Touch count exceeding 3-4 interactions suggests zone weakening - repeated tests consume institutional orders, reducing reversal probability.
Mitigation Events : Price closing beyond zone boundaries (or wicking through, based on settings) triggers zone deletion - invalidation confirms institutional levels failed, trend continuation likely.
The primary value lies in volume-validated zone structure and delta composition analysis rather than simple boundary touches.
Strategy Integration
Volumetric Supply and Demand Zones fits within institutional footprint and order flow-aware trading approaches:
Fresh Zone Reversal Entries : Enter counter-trend positions at first retest of fresh zones with strong delta confirmation - unfilled institutional orders provide high-probability reaction levels.
POC-Precise Limit Orders : Place entries at POC line rather than zone edges - point of control represents maximum volume concentration, offering tighter stop placement and better risk/reward.
Delta-Filtered Zone Selection : Prioritize demand zones showing positive net delta and supply zones showing negative net delta-aligned pressure composition validates institutional conviction.
Volume Profile Distribution Analysis : Favor zones with tight volume concentration (profile bars clustered) over dispersed distribution - concentrated profiles suggest decisive institutional accumulation/distribution.
Merge-Enhanced Conviction : Treat merged zones with higher volume/delta totals as stronger reversal candidates - combined statistics represent extended institutional activity periods.
Touch Count Degradation Filtering : Reduce position sizing or avoid zones with 3+ touches - excessive interaction depletes institutional orders, weakening reversal probability.
Trend Continuation via Mitigation : Enter breakout positions when price closes beyond supply zones (uptrend) or demand zones (downtrend) - mitigation confirms trend strength overwhelming institutional levels.
Multi-Timeframe Zone Confluence : Apply higher-timeframe zones for macro structure, use lower-timeframe volume profile to identify precise entry levels within larger zones.
Technical Implementation Details
Core Engine : Pivot detection with symmetrical left/right confirmation, ATR-normalized impulse validation
Zone Construction : Base period lookback with ATR-capped height normalization and time-based extension
Volume Profile System : Proportional volume allocation across configurable rows with overlap percentage calculation
Delta Engine : Close-open relationship classification separating buy/sell volume with net delta calculation per row
POC Identification : Maximum volume row detection with visual emphasis rendering
Merge Logic : Overlap detection with gap threshold, boundary expansion, and weighted statistic aggregation
Visualization : Multi-element rendering (zone boxes, profile bars, delta bars, POC lines, info panels) with proportional sizing
Performance Profile : Custom type system for zone/profile/delta management, efficient array-based storage with configurable zone limits
Optimal Application Parameters
Timeframe Guidance:
1 - 5 min : Micro-structure supply/demand for scalping with tight ATR multipliers and reduced lookback
15 - 60 min : Intraday institutional footprint zones with balanced profile row count and merge sensitivity
4H - Daily : Swing-level accumulation/distribution areas with extended lookback periods and wider merge gaps
Weekly - Monthly : Macro institutional zones with maximum profile detail and extended zone persistence
Suggested Baseline Configuration:
Swing Length : 8
Impulse Size (ATR) : 1.2
Base Lookback Candles : 3
ATR Length : 14
Maximum Zone Height (ATR) : 4.0
Maximum Zones : 10
Extend Zones (bars) : 60
Merge Overlapping Zones : Enabled
Merge Gap (ATR) : 0.3
Mitigation Type : Wick
Profile Rows : 10
Profile Width (%) : 0.5
Show POC Line : Enabled
Show Delta Profile : Enabled
Delta Profile Width (%) : 0.35
Show Zone Info Box : Enabled
These suggested parameters should be used as a baseline; their effectiveness depends on the asset's volatility profile, volume characteristics, and preferred zone sensitivity, so fine-tuning is expected for optimal performance.
Parameter Calibration Notes
Use the following adjustments to refine behavior without altering the core logic:
Too many zones cluttering chart : Increase Swing Length (10 - 12) to demand stronger pivots, or increase Impulse Size multiplier (1.5 - 2.0) to require larger moves for zone validation.
Missing significant reversal levels : Decrease Swing Length (5-6) for earlier pivot detection, or reduce Impulse Size (0.8 - 1.0) to capture smaller but valid base formations.
Zones too large/tall : Reduce Maximum Zone Height ATR multiplier (2.5 - 3.0) to cap vertical size, or decrease Base Lookback Candles (1 - 2) for tighter base periods.
Zones too small to be useful : Increase Base Lookback Candles (4 - 6) to encompass longer consolidation periods, or raise Maximum Zone Height (5.0 - 7.0) for taller zones.
Profile bars too granular : Decrease Profile Rows (6 - 8) for coarser distribution showing major volume clusters only.
Profile lacking detail : Increase Profile Rows (15 - 20) for finer resolution revealing subtle volume distribution nuances.
Zones merging too aggressively : Decrease Merge Gap ATR multiplier (0.1 - 0.2) to require tighter overlap for merge qualification, or disable merging entirely.
Related zones not combining : Increase Merge Gap (0.5 - 0.8) to allow merging of zones with larger separation distances.
Zones invalidating prematurely : Switch Mitigation Type from "Wick" to "Close" to require closing violation rather than intrabar penetration.
Zones persisting too long after breach : Switch Mitigation Type from "Close" to "Wick" for faster invalidation on initial penetration.
Profile bars invisible : Increase Profile Width percentage (0.6 - 0.8) for longer bars, improving visibility on cluttered charts.
Delta profile obscuring volume profile : Reduce Delta Profile Width (0.2 - 0.3) to prevent overlap, or disable delta display temporarily.
Adjustments should be incremental and evaluated across multiple session types rather than isolated market conditions.
Performance Characteristics
High Effectiveness:
Range-bound and mean-reverting markets where institutional zones provide reliable turning points
Instruments with consistent volume characteristics where profile distribution reveals true accumulation/distribution
Swing trading approaches targeting zone-to-zone reactions with defined risk parameters
Reversal strategies seeking volume-validated entry levels rather than blind counter-trend positions
Markets where delta proxy correlates well with actual order flow (trending volume instruments)
Position trading benefiting from macro supply/demand structure with embedded volume context
Reduced Effectiveness:
Extremely low volume environments where profile distribution becomes unreliable and sparse
News-driven or gapped markets where zones form/invalidate without normal volume accumulation patterns
Highly trending markets where zones consistently mitigate without providing reversal opportunities
Instruments with erratic volume patterns making delta decomposition and profile interpretation misleading
Very high-frequency timeframes (seconds) where base formation periods too short for meaningful volume accumulation
Integration Guidelines
Confluence : Combine with BOSWaves structure, market profile, or traditional technical analysis for zone validation within broader context
Volume Profile Respect : Trust POC levels and high-volume profile bars over arbitrary zone edges for entry/exit precision
Delta Confirmation Priority : Favor zones where delta composition aligns with expected direction - positive delta in demand, negative delta in supply
Fresh Zone Preference : Prioritize first retests of untouched zones over repeatedly tested areas with high touch counts
Merge Recognition : Treat merged zones with elevated volume/delta statistics as higher-conviction institutional footprint areas
Touch Count Filtering : Reduce position sizing or avoid zones after 3+ touches as institutional order depletion reduces effectiveness
Mitigation Discipline : Exit zone-based positions decisively when price closes beyond boundaries, respecting invalidation signals
Multi-Timeframe Structure : Apply higher-timeframe zones for swing structure, use lower-timeframe profiles for tactical entry refinement
Disclaimer
Volumetric Supply and Demand Zones is a professional-grade supply/demand zone and volume profile analysis tool. It uses volume-based delta proxy to estimate directional pressure but does not access true order book data or institutional trade information. Results depend on market conditions, volume reliability, ATR characteristics, parameter selection, and disciplined execution. Volume profile and delta calculations represent approximations based on close-open relationships and price overlap formulas, not actual bid/ask transactions. BOSWaves recommends deploying this indicator within a broader analytical framework that incorporates price structure, order flow context, and comprehensive risk management. Indicator

Internal vs External Liquidity Zones [Alpha Extract]A sophisticated dual-timeframe market structure visualization system that identifies and maps internal (short-term) and external (long-term) liquidity levels with comprehensive Break of Structure (BOS) and Change of Character (CHoCH) detection across both timeframes. Utilizing pivot-based zone creation with ATR-scaled heights and sweep classification, this indicator delivers institutional-grade liquidity mapping distinguishing between major swing liquidity (external) and minor retracement liquidity (internal) for multi-dimensional market structure analysis. The system's hierarchical structure framework combined with objective arrow projection and state-based zone coloring provides complete smart money concept implementation for advanced order flow trading.
🔶 Understanding Internal vs External Structure
External Structure represents major swing points using longer pivot lengths (default 10 bars), identifying significant highs and lows that define the broader market range and trend direction. These are the key levels where large institutional positions likely exist, stop losses cluster, and major trend reversals may occur. External structure breaks (eBOS/eCHoCH) signal significant shifts in market sentiment and often precede sustained directional moves.
Internal Structure captures minor swing points within the external range using shorter pivot lengths (default 3 bars), revealing short-term liquidity pools formed during retracements, consolidations, and minor corrections. These represent areas where smaller participants' stops accumulate and where price often reacts before continuing toward external objectives. Internal structure breaks (iBOS/iCHoCH) provide early warning signals and tactical entry opportunities within the broader external trend context.
The relationship between internal and external structure creates a hierarchical framework: external zones define the "what" (overall bias and major objectives), while internal zones reveal the "how" (tactical path and entry models). When internal structure breaks bullish while within an external bearish range, it signals potential reversal setup. When internal breaks align with external direction, it confirms trend strength.
🔶 Advanced Dual-Pivot Detection Framework
Implements separate pivot calculation systems for external and internal structure with configurable lookback periods optimizing for different swing magnitudes. The system identifies external pivots using extended length capturing major swing extremes, detects internal pivots using compressed length for minor retracement highs/lows, and optionally requires internal pivots occur within current external range boundaries ensuring hierarchical structure coherence.
// Dual Structure Detection
External_Pivot_High = ta.pivothigh(high, External_Length, External_Length)
External_Pivot_Low = ta.pivotlow(low, External_Length, External_Length)
Internal_Pivot_High = ta.pivothigh(high, Internal_Length, Internal_Length)
Internal_Pivot_Low = ta.pivotlow(low, Internal_Length, Internal_Length)
// Optional Range Requirement
Valid_Internal = requireInside ? (pivot within ) : true
🔶 BOS and CHoCH Detection System
Break of Structure (BOS) occurs when price breaks a recent structure point in the direction of the current trend, confirming trend continuation. The system identifies BOS when:
Price breaks above previous high while trend remains bullish (bullish BOS)
Price breaks below previous low while trend remains bearish (bearish BOS)
Previous structure point hasn't been violated yet
Change of Character (CHoCH) signals potential trend reversal when price breaks structure counter to the established trend direction. The system detects CHoCH when:
Price breaks above previous high while trend was bearish (bullish CHoCH - reversal signal)
Price breaks below previous low while trend was bullish (bearish CHoCH - reversal signal)
Both external (e-prefix) and internal (i-prefix) structures generate independent BOS/CHoCH labels, enabling multi-timeframe structure analysis where eCHoCH may signal major reversal while iBOS confirms minor trend within that reversal.
🔶 Intelligent Zone Creation Architecture
Features ATR-based or tick-based zone height calculation with separate sizing for internal and external liquidity levels, creating visual boxes centered on pivot points. The system calculates zone dimensions using configurable ATR multiples (default 0.40x) or fixed tick counts, positions zones symmetrically above/below pivot levels, and applies distinct color schemes distinguishing external highs (red), external lows (white), internal highs (cyan), and internal lows (blue).
🔶 Equal High/Low Detection Mode
Provides advanced internal zone mode that only creates zones when consecutive internal pivots form equal highs or equal lows within ATR-based tolerance, filtering noise and highlighting significant accumulation/distribution patterns. The system tracks previous internal pivots, compares new pivots against tolerance threshold, creates averaged zone when equality detected, and ignores isolated pivots that don't form patterns, reducing visual clutter while emphasizing institutional liquidity clustering.
🔶 Comprehensive Sweep Classification System
Implements three sweep detection modes distinguishing between liquidity grabs and genuine breakouts with state-based zone coloring:
Wick Mode: Marks zone as swept when wick touches but close remains outside
Close Mode: Requires close through zone for sweep classification
Wick+Close Classify Mode: Distinguishes sweeps (S - wick touches, close outside) from breaks (B - close through zone)
The system transitions zones through three states: Active (0 - untouched), Swept (1 - liquidity grabbed), Broken (2 - fully breached), applying progressive transparency increases to visually distinguish state changes and enabling traders to identify false breakouts versus genuine structural violations.
🔶 Objective Arrow Projection Framework
Features intelligent objective labeling that triggers when internal zones are swept, projecting arrows pointing toward opposite external structure as probable targets. The system generates "->ExtH" labels when internal low swept (suggesting move toward external high) and "->ExtL" labels when internal high swept (suggesting move toward external low), providing smart money concept implementation where internal liquidity grabs often precede runs toward external objectives.
🔶 Dynamic Zone Management System
Maintains separate arrays for external and internal zones with configurable history modes and maximum zone limits. The system implements "Latest Only" mode (clears previous external zones of same side when new pivot detected) or "Keep History" mode (preserves all zones up to maximum limit), automatically expires oldest zones when limits reached, and optionally clears all internal zones when new external pivot forms, maintaining clean chart presentation while preserving relevant liquidity context.
🔶 Trend Momentum Scoring Engine
Calculates sophisticated trend state using dual-component analysis combining momentum (price change normalized by volatility) with strength (MA separation and slope alignment). The system generates TrendScore objects containing momentum value, strength percentage, direction (-1/0/+1), and confidence score (0-100), uses these scores to classify BOS versus CHoCH by comparing previous and current trend states, and provides objective structural classification beyond simple price level violations.
🔶 Adaptive Zone Extension Logic
Implements intelligent right-edge management where active zones extend to current bar but freeze at touch/sweep point when cut-on-touch enabled. The system continuously updates zone right boundaries during active state, locks boundary at bar of first violation, and maintains locked position through subsequent bars, creating visual history of when liquidity was accessed while preventing misleading forward projection of filled zones.
🔶 Multi-State Visual Feedback System
Provides comprehensive color and transparency modulation based on zone state with two visual style options. "Soft Fill" mode uses semi-transparent fills with subtle borders, while "Outline" mode displays only colored borders with transparent fills. The system applies progressive transparency increases: Active (light), Swept (medium), Broken (heavy), with independent control over fill and border transparency enabling customization from subtle hints to prominent highlighting.
🔶 Structure Line Visualization Architecture
Creates dashed horizontal lines connecting structure break points to current bar with BOS/CHoCH labels positioned at midpoint between break bar and detection bar. The system draws lines at exact structure level, applies color coding matching bullish (green) or bearish (red) classification, and uses compact labels (eBOS, eCHoCH, iBOS, iCHoCH) for instant structural event identification without cluttering chart with excessive text.
🔶 Performance Optimization Framework
Utilizes efficient array management with configurable maximum limits (default 120 zones each type), automatic cleanup of oldest elements, and optional hiding of filled zones reducing active object count. The system includes intelligent state tracking minimizing recalculation overhead, optimized sweep detection using simple comparison logic, and streamlined zone update loops processing only active zones for consistent performance across extended sessions.
🔶 Why Choose Internal vs External Liquidity Zones ?
This indicator delivers institutional-grade market structure analysis through hierarchical dual-timeframe liquidity mapping with comprehensive BOS/CHoCH detection. The distinction between external (major swing) and internal (minor retracement) structure provides complete smart money concept implementation where external zones define bias and targets while internal zones reveal tactical entries and stop hunts. The system's sweep classification distinguishes liquidity grabs from genuine breakouts, objective arrows project probable targets based on internal sweeps toward external levels, and comprehensive BOS/CHoCH labeling across both timeframes enables multi-dimensional structural analysis. Perfect for order flow traders implementing ICT concepts, liquidity-based strategies, or market maker models in cryptocurrency, forex, and futures markets where understanding the relationship between internal accumulation and external objectives is essential for high-probability trade location and proper risk management. Indicator

Indicator

Multi-Session Volume Profile Suite [MarkitTick]💡 This indicator provides a sophisticated, institutional-grade Volume Profile analysis suite that renders multiple temporal profiles simultaneously. It is designed for traders utilizing Auction Market Theory who require a holistic view of where value is being established across Daily, Weekly, and Monthly timeframes, alongside custom intraday sessions. By bypassing standard built-in functions in favor of a custom array-based calculation engine, this tool offers granular control over Value Area logic, Point of Control (POC) migration, and multi-timeframe confluence detection.
✨ Originality and Utility
Standard Volume Profile tools often limit traders to a single timeframe or the visible range of the chart. This creates a fragmented view of the market, where a trader might see the daily value but miss the context of the weekly or monthly auction.
This script solves that problem by layering three distinct higher-timeframe profiles (Daily, Weekly, Monthly) plus three customizable intraday session profiles onto a single chart.
● Key Differentiators
Confluence Detection Engine: The script mathematically calculates when the Points of Control (POC) of different timeframes overlap (e.g., Daily POC inside Weekly POC). It explicitly highlights these high-probability zones with specific labels (e.g., "TRIPLE CONFLUENCE"), automating the search for key support/resistance levels.
POC Migration Tracking: Unlike static profiles, this tool tracks the "Shift" of the POC. It visualizes whether value is migrating higher (▲), lower (▼), or remaining neutral (=) compared to the previous period, providing immediate insight into the trend's acceptance.
Synthetic Chart Protection: The script includes logic to detect and prevent usage on non-standard chart types like Heikin Ashi or Renko, ensuring that the volume data processed is accurate and not subject to the repainting often found in synthetic OHLC variations.
🔬 Methodology and Concepts
The core engine relies on a custom implementation of the Volume Profile formula using dynamic arrays. It does not simply pull pre-calculated data but processes the tick volume of the underlying asset relative to price action.
• Volumetric Binning
The script divides the price range of a specific period (e.g., a Day) into a user-defined number of "rows" (bins). As price trades within a specific bin, the corresponding volume is accumulated.
Point of Control (POC): The bin with the highest accumulated volume is identified as the POC. This represents the "Fair Value" or the mode of the distribution for that period.
Value Area (VA): The script calculates the total volume of the profile and then identifies the range surrounding the POC that contains a specific percentage (default 70%) of that volume. It uses a dual-scanning algorithm that expands upwards or downwards from the POC based on which adjacent row has higher volume, mimicking the auction process of testing prices.
• Exact-Anchor Pivots
Simultaneously, the script tracks "Exact-Anchor" pivots. Unlike standard pivots that settle at the close, these track the absolute High and Low of the period (Daily/Weekly/Monthly) in real-time and extend them until a new period begins.
🎨 Visual Guide
The indicator uses a color-coded hierarchy to distinguish between timeframes. Understanding this visual language is critical for interpreting the data.
● Profile Hierarchy (Default Theme)
Daily Profile (Yellow/Gold): Represents the immediate, short-term auction.
Solid Line: Daily POC.
Dotted Line: Daily Value Area High (VAH) and Low (VAL).
Weekly Profile (Blue): Represents the intermediate auction. A solid Blue line indicates the Weekly POC.
Monthly Profile (Purple): Represents the macro auction. A solid Purple line indicates the Monthly POC.
● Labels and Symbols
Right-Side Labels: At the end of profile lines, text labels display the exact price of the POC.
Shift Arrows (▲ / ▼): Located inside the POC label, these arrows indicate the direction the POC has moved relative to the previous period's POC. An Up arrow (▲) suggests buyers are accepting higher prices.
Confluence Labels: If enabled, a text box appears near price action stating "POC CONFLUENCE" or "TRIPLE CONFLUENCE" when the POCs of different timeframes align within a tight margin.
Block Symbol (⬛): A small block icon may appear above bars to denote the center of a specific session's time window.
● Pivot Lines
Orange Lines: Previous Daily High (PDH) and Low (PDL).
Green Dashed Lines: Previous Weekly High (PWH) and Low (PWL).
Red Dotted Lines: Previous Monthly High (PMH) and Low (PML).
White Dashed Line: New York Midnight Open price (if enabled).
📖 How to Use
This suite is designed for "Contextual Trading." It answers the question: Where are we relative to value?
• Trend Acceptance
Observe the Shift Arrows on the POC labels. In a healthy uptrend, you should see a sequence of Daily and Weekly profiles with (▲) arrows, indicating that the market is validating higher prices as fair value. If price rises but the POC remains lower or shifts down, it may indicate a "weak high" or a potential reversal (divergence between price and value).
• Support and Resistance
The POC lines act as high-probability support and resistance. Price returning to a Weekly (Blue) or Monthly (Purple) POC often results in a reaction, as these are areas of significant historical agreement between buyers and sellers.
• The Confluence Play
Pay special attention when the "Confluence" label appears. When a Daily POC aligns with a Weekly or Monthly POC, that specific price level possesses reinforced structural importance. A rejection from such a level is a strong signal; a breakout through such a level often leads to an explosive move as value transitions rapidly.
⚙️ Inputs and Settings
The script is highly customizable via the settings menu.
● General Settings
Row Resolution: Determines the granularity of the profile. Higher numbers (e.g., 100) create smoother, more detailed profiles but use more calculation resources.
Value Area %: Default is 70.0, representing the standard deviation of value.
Show POC Shift: Toggles the (▲/▼) comparison logic.
● Profile Scope
Show Daily/Weekly/Monthly: Checkboxes to individually enable or disable specific timeframe profiles.
Session Lookback: Controls how many historical days/weeks the profiles are kept on the chart.
● Pivots (PDH/PMH/NYM)
Show Pivots: Enables the High/Low lines for previous periods.
Show NY Midnight: Specifically toggles the opening price of the New York session (00:00 EST).
● Alerts
Approach Distance: Sets the sensitivity (in ticks) for alerts when price nears a key POC level.
🔍 Deconstruction of the Underlying Scientific and Academic Framework
This indicator is grounded in Auction Market Theory (AMT) and statistical distribution analysis.
• The Market as a Mechanism
AMT postulates that the primary purpose of the market is to facilitate trade. Price advertises opportunity, while Time regulates the opportunity. Volume is the validation of that price. When the market spends significant time and transacts significant volume at a specific level, it establishes "Value."
• Gaussian Distribution and Central Limit Theorem
A Volume Profile is essentially a histogram of volume over price, often resembling a Gaussian (Normal) Distribution or "Bell Curve" when the market is balanced.
POC (Mode): The peak of the curve. Mathematically, this is the mode of the dataset—the price occurring with the highest frequency (volume).
Value Area (Standard Deviation): In a normal distribution, approximately 68.2% of data points fall within one standard deviation of the mean. This script defaults to a 70% Value Area to approximate this statistical boundary. Prices outside this area are considered statistically significant anomalies or "imbalanced."
• Confluence and Probability
The "Confluence" feature leverages the intersection of independent datasets. If the mode (POC) of a short-term distribution (Daily) aligns with the mode of a long-term distribution (Weekly), the probability of that price representing "True Value" increases exponentially. This aligns with statistical principles where overlapping data clusters suggest a stronger underlying signal amidst market noise.
⚠️ 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. Indicator

GeorgeFutures: ELITE Dashboard & Global Alert (C1,C2,C3)George FX : ELITE Dashboard & Global Alert
This indicator acts as your "Market Compass," providing 1-Hour (HTF) context while you execute trades on the 5-Minute (LTF) timeframe.
1. The "Master Filter" Logic (1H Calculation)
Regardless of the chart you are viewing, the script calculates three layers of data from the 1-hour timeframe in the background:
Primary Trend (EMA 200): Establishes the permitted direction. If the price is above the EMA 200, it only looks for Longs; if below, only Shorts.
Order Flow (FVG): Scans for institutional momentum. When a valid Fair Value Gap (imbalance) appears in the direction of the trend, it confirms market "strength."
Liquidity (Sweep c1, c2, c3): Identifies traps. It checks if the price has "swept" the liquidity (Low/High) of the last 3 candles on the 1H chart.
2. Visual Indicator Meaning (Status Dots & Colors)The table communicates the market state using a simplified professional color code:ElementStatusMeaningORDER FLOWBULLISH/BEARISH1H momentum is confirmed by an FVG in the direction of the EMA 200 trend.LIQUIDITYLIQUIDITY GRABA "Sweep" has occurred (liquidity was taken) within the last 3 hours.STRATEGYREADY TO TRADE All conditions are aligned. It is time to look for an entry on the 5-minute chart.
3. Unified Global Alert System
The alert is the "guardian" of your strategy:
Operation: Monitors both directions (Long and Short) with a single setup.
Trigger: You receive a notification only when the Strategy row turns READY TO TRADE.
Message: The notification clearly states the ticker (e.g., BTCUSDT) and the direction (BULLISH or BEARISH) so you don't waste time.
How to use it:
Set the Alert: While on the 5-minute chart, create an alert for George FX: ELITE Global Signal.
Wait: When the notification hits your phone, open the 5-minute chart.
Execute: Since the 1H context is perfect, you only need to find a local entry (like a Market Structure Break) on the 5m chart. Indicator

Volume Profile Skew [BackQuant]Volume Profile Skew
Overview
Volume Profile Skew is a market-structure indicator that answers a specific question most volume profiles do not:
“Is volume concentrating toward lower prices (accumulation) or higher prices (distribution) inside the current profile range?”
A standard volume profile shows where volume traded, but it does not quantify the shape of that distribution in a single number. This script builds a volume profile over a rolling lookback window, extracts the key profile levels (POC, VAH, VAL, and a volume-weighted mean), then computes the skewness of the volume distribution across price bins. That skewness becomes an oscillator, smoothed into a regime signal and paired with visual profile plotting, key level lines, and historical POC tracking.
This gives you two layers at once:
A full profile and its important levels (where volume is).
A skew metric (how volume is leaning within that range).
What this indicator is based on
The foundation comes from classical “volume at price” concepts used in Market Profile and Volume Profile analysis:
POC (Point of Control): the price level with the highest traded volume.
Value Area (VAH/VAL): the zone containing the bulk of activity, commonly 70% of total volume.
Volume-weighted mean (VWMP in this script): the average price weighted by volume, a “center of mass” for traded activity.
Where this indicator extends the idea is by treating the volume profile as a statistical distribution across price. Once you treat “volume by price bin” as a probability distribution (weights sum to 1), you can compute distribution moments:
Mean: where the mass is centered.
Standard deviation: how spread-out it is.
Skewness: whether the distribution has a heavier tail toward higher or lower prices.
This is not a gimmick. Skewness is a standard statistic in probability theory. Here it is applied to “volume concentration across price”, not to returns.
Core concept: what “skew” means in a volume profile
Imagine a profile range from Low to High, split into bins. Each bin has some volume. You can get these shapes:
Balanced profile: volume is fairly symmetric around the mean, skew near 0.
Bottom-heavy profile: more volume at lower prices, with a tail toward higher prices, skew tends to be positive.
Top-heavy profile: more volume at higher prices, with a tail toward lower prices, skew tends to be negative.
In this script:
Positive skew is labeled as ACCUMULATION.
Negative skew is labeled as DISTRIBUTION.
Near-zero skew is NEUTRAL.
Important: accumulation here does not mean “buying will immediately pump price.” It means the profile shape suggests more participation at lower prices inside the current lookback range. Distribution means participation is heavier at higher prices.
How the volume profile is built
1) Define the analysis window
The profile is computed on a rolling window:
Lookback Period: number of bars included (capped by available history).
Profile Resolution (bins): number of price bins used to discretize the high-low range.
The script finds the highest high and lowest low in the lookback window to define the price range:
rangeHigh = highest high in window
rangeLow = lowest low in window
binSize = (rangeHigh - rangeLow) / bins
2) Create bin midpoints
Each bin gets a midpoint “price” used for calculations:
price = rangeLow + binSize * (b + 0.5)
These midpoints are what the mean, variance, and skewness are computed on.
3) Distribute each candle’s volume into bins
This is a key implementation detail. Real volume profiles require tick-level data, but Pine does not provide that. So the script approximates volume-at-price using candle ranges:
For each bar in the lookback:
Determine which bins its low-to-high range touches.
Split that candle’s total volume evenly across the touched bins.
So if a candle spans 6 bins, each bin gets volume/6 from that bar. This is a practical, consistent approximation for “where trading could have occurred” inside the bar.
This approach has tradeoffs:
It does not know where within the candle the volume truly traded.
It assumes uniform distribution across the candle range.
It becomes more meaningful with larger samples (bigger lookback) and/or higher timeframes.
But it is still useful because the purpose here is the shape of the distribution across the whole window, not exact microstructure.
Key profile levels: POC, VAH, VAL, VWMP
POC (Point of Control)
POC is found by scanning bins and selecting the bin with maximum volume. The script stores:
pocIndex: which bin has max volume
poc price: midpoint price of that bin
Value Area (VAH/VAL) using 70% volume
The script builds the value area around the POC outward until it captures 70% of total volume:
Start with the POC bin.
Expand one bin at a time to the side with more volume.
Stop when accumulated volume >= 70% of total profile volume.
Then:
VAL = rangeLow + binSize * lowerIdx
VAH = rangeLow + binSize * (upperIdx + 1)
This produces a classic “where most business happened” zone.
VWMP (Volume-Weighted Mean Price)
This is essentially the center of mass of the profile:
VWMP = sum(price * volume ) / totalVolume
It is similar in spirit to VWAP, but it is computed over the profile bins, not from bar-by-bar typical price.
Skewness calculation: turning the profile into an oscillator
This is the main feature.
1) Treat volumes as weights
For each bin:
weight = volume / totalVolume
Now weights sum to 1.
2) Compute weighted mean
Mean price:
mean = sum(weight * price )
3) Compute weighted variance and std deviation
Variance:
variance = sum(weight * (price - mean)^2)
stdDev = sqrt(variance)
4) Compute weighted third central moment
Third moment:
m3 = sum(weight * (price - mean)^3)
5) Standardize to skewness
Skewness:
rawSkew = m3 / (stdDev^3)
This standardization matters. Without it, the value would explode or shrink based on profile scale. Standardized skewness is dimensionless and comparable.
Smoothing and regime rules
Raw skewness can be jumpy because:
profile bins change as rangeHigh/rangeLow shift,
one high-volume candle can reshape the distribution,
volume regimes change quickly in crypto.
So the indicator applies EMA smoothing:
smoothedSkew = EMA(rawSkew, smooth)
Then it classifies regime using fixed thresholds:
Bullish (ACCUMULATION): smoothedSkew > +0.25
Bearish (DISTRIBUTION): smoothedSkew < -0.25
Neutral: between those values
Signals are generated on threshold cross events:
Bull signal when smoothedSkew crosses above +0.25
Bear signal when smoothedSkew crosses below -0.25
This makes the skew act like a regime oscillator rather than a constantly flipping color.
Volume Profile plotting modes
The script draws the profile on the last bar, using boxes for each bin, anchored to the right with a configurable offset. The width of each profile bar is normalized by max bin volume:
volRatio = binVol / maxVol
barWidth = volRatio * width
Three style modes exist:
1) Gradient
Uses a “jet-like” gradient based on volRatio (blue → red). Higher-volume bins stand out naturally. Transparency increases as volume decreases, so low-volume bins fade.
2) Solid
Uses the current regime color (bull/bear/neutral) for all bins, with transparency. This makes the profile read as “structure + regime.”
3) Skew Highlight
Highlights bins that match the skew bias:
If skew bullish, emphasize lower portion of profile.
If skew bearish, emphasize higher portion of profile.
Else, keep most bins neutral.
This is a visual “where the skew is coming from” mode.
Historical POC tracking and Naked POCs
This script also treats POCs as meaningful levels over time, similar to how traders track old VA levels.
What is a “naked POC”?
A “naked POC” is a previously formed POC that has not been revisited (retested) by price since it was recorded. Many traders watch these as potential reaction zones because they represent prior “maximum traded interest” that the market has not re-engaged with.
How this script records POCs
It stores a new historical POC when:
At least updatebars have passed since the last stored POC, and
The POC has changed by at least pochangethres (%) from the last stored value.
New stored POCs are flagged as naked by default.
How naked becomes tested
On each update, the script checks whether price has entered a small zone around a naked POC:
zoneSize = POC * 0.002 (about 0.2%)
If bar range overlaps that zone, mark it as tested (not naked).
Display controls:
Highlight Naked POCs: draws and labels untested POCs.
Show Tested POCs: optionally draw tested ones in a muted color.
To avoid clutter, the script limits stored POCs to the most recent 20 and avoids drawing ones too close to the current POC.
On-chart key levels and what they mean
When enabled, the script draws the current lookback profile levels on the price chart:
POC (solid): the “most traded” price.
VAH/VAL (dashed): boundaries of the 70% value area.
VWMP (dotted): volume-weighted mean of the profile distribution.
Interpretation framework (practical, not mystical):
POC often behaves like a magnet in balanced conditions.
VAH/VAL define the “accepted” area, breaks can signal auction continuation.
VWMP is a fair-value reference, useful as a mean anchor when skew is neutralizing.
Oscillator panel and histogram
The skew oscillator is plotted in a separate pane:
Line: smoothedSkew, colored by regime.
Histogram: smoothedSkew as bars, colored by sign.
Fill: subtle shading above/below 0 to reinforce bias.
This makes it easy to read:
Direction of bias (positive vs negative).
Strength (distance from 0 and from thresholds).
Transitions (crosses of ±0.25).
Info table: what it summarizes
On the last bar, a table prints key diagnostics:
Current skew value (smoothed).
Regime label (ACCUMULATION / DISTRIBUTION / NEUTRAL).
Current POC, VAH, VAL, VWMP.
Count of naked POCs still active.
A simple “volume location” hint (lower/higher/balanced).
This is designed for quick scanning without reading the entire profile.
Alerts
The indicator includes alerts for:
Skew regime shifts (cross above +0.25, cross below -0.25).
Price crossing above/below current POC.
Approaching a naked POC (within 1% of any active naked POC).
The “approaching naked POC” alert is useful as a heads-up that price is entering a historically important volume magnet/reaction zone.
How to use it properly
1) Regime filter
Use skew regime to decide what type of trades you should prioritize:
ACCUMULATION (positive skew): market activity is heavier at lower prices, pullbacks into value or below VWMP often matter more.
DISTRIBUTION (negative skew): activity is heavier at higher prices, rallies into value or above VWMP often matter more.
NEUTRAL: mean-reversion and POC magnet behavior tends to dominate.
This is not “buy when green.” It is context for what the auction is doing.
2) Level-based execution
Combine skew with VA/POC levels:
In neutral regimes, expect rotations around POC and inside VA.
In strong skew regimes, watch for acceptance away from POC and reactions at VA edges.
3) Naked POCs as targets and reaction zones
Naked POCs can act like unfinished business. Common workflows:
As targets in rotations.
As areas to reduce risk when price is approaching.
As “if it breaks cleanly, trend continuation” markers when price returns with force.
Parameter tuning guidance
Lookback
Controls how “local” the profile is.
Shorter: reacts faster, more sensitive to recent moves.
Longer: more stable, better for swing context.
Bins
Controls resolution of the profile.
Higher bins: more detail, more computation, more sensitive profile shape.
Lower bins: smoother, less detail, more stable skew.
Smoothing
Controls how noisy the skew oscillator is.
Higher smoothing: fewer regime flips, slower response.
Lower smoothing: more responsive, more false transitions.
POC tracking settings
Update interval and threshold decide how many historical POCs you store and how different they must be. If you set them too loose, you will spam levels. If too strict, you will miss meaningful shifts.
Limitations and what not to assume
This indicator uses candle-range volume distribution because Pine cannot see tick-level volume-at-price. That means:
The profile is an approximation of where volume could have traded, not exact tape data.
Skew is best treated as a structural bias, not a precise signal generator.
Extreme single-bar events can distort the distribution briefly, smoothing helps but cannot remove reality.
Summary
Volume Profile Skew takes standard volume profile structure (POC, Value Area, volume-weighted mean) and adds a statistically grounded measure of profile shape using skewness. The result is a regime oscillator that quantifies whether volume concentration is leaning toward lower prices (accumulation) or higher prices (distribution), while also plotting the full profile, key levels, and historical naked POCs for actionable context.
Indicator
