Volume Drift Profile [JOAT]Volume Drift Profile
Introduction
Volume Drift Profile is an open-source trend detection indicator that derives directional bias from rolling pivot averages rather than fixed moving averages, and visualizes volume directly on the drift lines themselves as a histogram. The volume histogram coloring adapts to three modes — delta (buy-sell pressure gradient), trend (directional mono-color), and spike-highlighted — making the volume context immediately readable without a separate volume panel.
Most trend indicators separate the price trend line from the volume analysis. The trend line tells you the direction; you look at a separate volume bar panel to interpret whether that direction is supported. Volume Drift Profile overlaps both by rendering volume bars along the drift lines themselves, so the relationship between trend level and volume support is visually immediate.
Core Concepts
1. Pivot Drift Line Calculation
The upper drift line is the rolling average of the most recent N confirmed pivot highs. The lower drift line is the rolling average of the most recent N confirmed pivot lows. This produces smoothed, structurally-anchored reference levels that adapt as new pivots confirm, rather than a fixed-period moving average that treats all bars equally.
if not na(ph)
phArr.push(ph)
if phArr.size() > avgCount : phArr.shift()
upperDrift := phArr.avg()
Trend flips when price crosses above the upper drift (bull) or below the lower drift (bear).
2. Volume Normalization
Volume is normalized by its 200-bar standard deviation, capped at 4. This z-score-like measure produces a 0-4 scale where 4 represents an extreme volume spike. The step height of each volume bar on the drift line is proportional to this normalized value, so spike bars visually dominate the histogram.
3. Three Volume Coloring Modes
Delta mode computes a buy ratio from (close - low) / (high - low) and maps it through color.from_gradient() between the bear and bull theme colors. Bars with higher closes relative to their range appear in bull color; lower closes in bear color. Volume intensity is further modulated by the normalized volume level.
Trend mode uses a single directional color with intensity modulated by normalized volume.
Spike mode uses trend color normally but switches to a dedicated spike color for bars where normalized volume reaches the extreme level.
4. Absorption Detection
An absorption bar is identified when volume exceeds twice the 20-bar average (high institutional participation) while the body-to-range ratio is below 30% (price closes near where it opened). This pattern suggests large volume without directional price movement — potential institutional accumulation or distribution.
5. Volume-Weighted Momentum
A running Volume-Weighted Momentum reading tracks cumulative signed volume weighted by price change, normalized to a readable scale. This reading reflects directional institutional bias — rising VWM during an uptrend suggests genuine buying pressure supports the move.
Features
Pivot drift lines: Upper and lower drift from rolling average of last N confirmed pivot highs and lows
Volume histogram on drift lines: Volume bars rendered along the active drift line, sized by normalized volume
Three volume coloring modes: Delta (buy-sell gradient), Trend (directional mono), Spikes (trend + spike highlights)
Gradient fill between drift and price: Translucent fill between the active drift line and current price
Candle volume coloring: Optional bar coloring by volume intensity and trend direction simultaneously
Spike detection and highlighting: Bars with extreme normalized volume shown in dedicated spike color
Absorption detection: High-volume, small-body bars marked as potential institutional absorption events
Volume-Weighted Momentum display: VWM reading normalized and displayed in dashboard
Trend flip labels: Clean text labels at trend reversal points with direction indicator
Non-repainting: Pivot detection uses standard confirmed pivot functions with symmetric lookback
Dashboard: 8-row table with trend direction, volume mode, volume intensity, absorption state, spike state, bars in trend, and VWM
Input Parameters
Drift Structure:
Pivot Lookback: Bars required on each side for pivot confirmation (default: 8)
Pivot Avg Count: Number of pivots to average for drift line (default: 3)
Volume:
Volume Color Mode: Delta / Trend / Spikes
Histogram Height: Scale of volume bars on drift line (default: 0.3)
Show Volume Histogram toggle
Color Price Bars toggle
Show Drift Fill toggle
Spike Color
Absorption:
Show Absorption Dots toggle
Absorption Volume Multiple (default: 2.0)
Max Body Ratio for absorption detection (default: 0.3)
How to Use This Indicator
Step 1: Read the Drift Line Direction
The active drift line (lower drift in uptrend, upper drift in downtrend) is the primary trend reference. When price is above the lower drift, the trend is bullish. When price crosses the upper drift downward, the trend flips bearish.
Step 2: Interpret Volume Histogram Color
In Delta mode, teal/bull-colored bars represent buying pressure dominating that bar; bear-colored bars represent selling pressure. When large volume bars appear in the trend direction, it confirms the drift.
Step 3: Monitor Absorption Events
Absorption dots mark bars where institutional participants may be accumulating. Large absorption bars at drift line levels are particularly significant — they suggest the drift level is actively defended.
Step 4: Use VWM as Direction Confirmer
Rising VWM during an uptrend means volume-weighted momentum supports price movement. Flat or declining VWM during an uptrend flags weak participation — a potential warning of trend exhaustion.
Indicator Limitations
Drift lines require at least N confirmed pivots to begin rendering. In early bars of a new chart, the lines will be absent
The volume histogram renders along the drift line. In periods of very high drift line slope, the histogram may visually overlap the price range
Absorption detection uses volume relative to a 20-bar average. In low-liquidity environments, the threshold may trigger on routine trading activity
The pivot lookback introduces a lag between when a pivot forms and when the drift line updates
Originality Statement
Rendering a volume histogram directly along pivot drift lines — rather than in a separate panel — as a real-time visualization that integrates trend level and volume support in a single overlay is an original approach
Three independently selectable volume coloring modes driven by a normalized volume z-score, combined with buy-ratio gradient coloring in delta mode, is not replicated in existing open-source pivot drift indicator publications
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Trading involves substantial risk of loss. The author accepts no responsibility for trading losses resulting from use of this indicator.
Made with passion by jackofalltrades
Indicator

Imbalance Zone Classifier [JOAT]Imbalance Zone Classifier
Introduction
The Imbalance Zone Classifier detects Fair Value Gaps (price imbalances where no two-sided auction occurred) and assigns each zone a 0–100 Strength Score based on four measurable factors: gap size relative to historical distribution, intrabar buy/sell volume composition, zone age, and mitigation status. Rather than drawing every FVG indiscriminately, this indicator filters by minimum score and renders only the zones most likely to attract institutional order flow on return visits.
The core problem this solves: nearly every FVG tool draws every gap, producing charts saturated with dozens of overlapping boxes that cannot be prioritized. A 0.03% gap on declining volume is not equivalent to a 0.8% gap formed on explosive institutional buying. The Strength Score quantifies that difference, letting the trader focus on the handful of zones that genuinely matter.
Core Concepts
1. Fair Value Gap Detection
An FVG (also known as an inefficiency or price imbalance) occurs when three consecutive candles leave a price gap:
// Bullish FVG: candle high is below candle low
bool bull_fvg = high < low and close > open
// Bearish FVG: candle low is above candle high
bool bear_fvg = low > high and close < open
Detection is confirmed on bar close — the gap is only registered after candle closes — ensuring no repainting. The zone boundaries are the candle high and candle low for a bullish FVG (and their inverses for bearish).
2. The 0–100 Strength Score
Each FVG receives a composite score derived from four sub-scores:
int vol_score = int(math.min(bull_pct / 0.7 * 50, 50)) // 0-50 pts
int size_score = int(math.min(gap_rank * 0.35, 35)) // 0-35 pts
int composite_score = vol_score + size_score // base
// Age decay applied post-formation: score -= 1 per N bars
Size Score (0–35 pts): The gap size as a percentage of price is ranked against the last 1000 bars using a percentile rank. A gap in the top 10% of historical size scores near maximum. A tiny gap scores near zero.
Volume Score (0–50 pts): Lower-timeframe bars within the formation candle's time window are decomposed into buy and sell volume. A bullish FVG with 90% buy-side composition scores 50; one with 50% scores 25.
Age Decay: Zones accumulate bar age. The score decays over time, reflecting that older unmitigated zones become less relevant. Zones below the minimum score threshold fade and are removed.
3. Lower-Timeframe Volume Decomposition
Volume intelligence comes from requesting sub-bar data at the user-specified lower timeframe:
array ltf_bull_vol = request.security_lower_tf("", i_ltf, (close > open ? volume : 0.0))
array ltf_bear_vol = request.security_lower_tf("", i_ltf, (close < open ? volume : 0.0))
float sum_bull_ltf = ltf_bull_vol.sum()
float sum_bear_ltf = ltf_bear_vol.sum()
float bull_pct = sum_bull_ltf / (sum_bull_ltf + sum_bear_ltf)
This decomposes the FVG formation candle's volume into directional sub-bar composition — giving a precise measure of whether the gap was formed by institutional buying pressure or merely a thin-volume vacuum.
4. Mitigation Logic
Zones are considered mitigated when price returns to the zone midpoint (or high/low depending on user setting). Mitigated zones do not disappear immediately — they change color and fade, providing a historical record. They are removed from the active list after a configurable bar count, and a counter increments in the dashboard.
5. Volume Bar Visualization Inside Zones
Each zone renders a proportional buy/sell volume bar inside the zone body — a thin inner box whose right edge shows the bull/bear volume ratio. A zone with 80% buy volume renders its inner bar nearly full green. This gives an immediate visual indication of the composition without requiring the dashboard.
Features
Fair Value Gap Detection: Bullish and bearish FVGs confirmed on bar close, non-repainting
0–100 Strength Score: Composite score from gap size percentile rank and lower-timeframe volume composition
Minimum Score Filter: Only zones above the threshold are rendered — keeps the chart clean
LTF Volume Decomposition: True intrabar buy/sell ratio from lower-timeframe data
Volume Bar Inside Zone: Proportional buy/sell bar rendered within each zone body
Mitigation Tracking: Zones transition to faded color on mitigation; active vs mitigated count in dashboard
Zone Extension: Unmitigated zones extend rightward automatically until price returns
Age Decay: Score degrades over time, naturally purging stale zones below the threshold
9-Row Dashboard: Active bullish zones, active bearish zones, total mitigated, highest current score, session FVG count
Alerts: Bullish FVG formed, bearish FVG formed, bullish FVG mitigated, bearish FVG mitigated
Input Parameters
FVG Detection:
Detect Bullish FVGs: Toggle bullish imbalance detection (default: on)
Detect Bearish FVGs: Toggle bearish imbalance detection (default: on)
Minimum Strength Score (0–100): Filter threshold — only zones above this are shown (default: 25). Higher = fewer, stronger zones.
Mitigation Source: close = mitigated when close crosses zone midpoint. high/low = wick breach removes the zone (default: close)
Max Active Zones: Maximum simultaneous rendered zones (default: 12, range: 3–30)
Volume Intelligence:
LTF Resolution: Lower timeframe for intrabar volume decomposition (default: 1m)
Visualization:
Bullish / Bearish / Mitigated colors: Fully customizable
Show Volume Bars Inside Zones: Display proportional buy/sell bar within each zone (default: on)
Extend Unmitigated Zones: Extend zone boxes rightward until mitigation (default: on)
Dashboard:
Position: Top Right, Top Left, Bottom Right, Bottom Left (default: Top Right)
How to Use This Indicator
Step 1: Set the Minimum Score
Start with the default score of 25. This filters out the weakest gaps while keeping meaningful zones. If the chart still shows too many zones, raise to 40–50. For maximum selectivity on higher timeframes, 60+ selects only the most institutionally significant gaps.
Step 2: Read the Volume Bar Inside Each Zone
A bullish FVG with a mostly green inner bar (80%+ buy volume) was formed by genuine institutional buying. One with a near-50% bar was formed in a thin, directionless push — much less likely to hold on retest. This distinction cannot be made from price action alone.
Step 3: Trade the Retest
Price frequently returns to fill FVG zones, particularly the highest-score zones. The midpoint of the zone (zone top + zone bottom / 2) is the primary retest level. Entry on a return to a high-score bullish FVG, with a stop below the zone low, is a clean risk-defined setup.
Step 4: Monitor Mitigation
Once a zone changes to the mitigated color, it no longer has predictive value as a support/resistance level — it has been filled. Remove it from your analysis. The dashboard count of mitigated zones tells you how efficiently the market is clearing imbalances.
Originality Statement
This indicator is original in its composite strength scoring system applied to Fair Value Gaps using lower-timeframe volume decomposition. Its publication is justified because:
Gap size percentile rank against 1000-bar history normalizes the score across different instruments and timeframes — a 0.5% gap on EURUSD scores the same as a 0.5% gap on BTCUSD regardless of absolute price level
Lower-timeframe volume decomposition provides true intrabar buy/sell composition of each FVG formation candle — a dimension of analysis unavailable from chart-timeframe OHLCV data alone
The visual volume bar inside each zone encodes directional conviction directly within the zone's screen space, creating a two-dimensional information display (price level + volume direction) without additional panels
Age decay combined with minimum score filtering creates a self-organizing, self-cleaning zone map that requires no manual zone management from the trader
Limitations
LTF volume requests add computation overhead. On 1-minute chart timeframes, requesting 1-minute LTF data is a no-op; the function falls back to chart-timeframe volume for those bars.
The strength score is a relative ranking, not an absolute predictive probability. A score of 80 does not mean an 80% chance of holding — it means this zone is stronger than most, not that it is guaranteed to act as support or resistance.
Mitigation is detected on bar close (or high/low depending on setting). Intrabar wicks that return to the zone but close outside it will not trigger mitigation in the default setting.
The maximum zone count is a performance and visual constraint. On timeframes where FVGs form frequently, older lower-score zones are removed to stay within the limit.
Disclaimer
This indicator is provided for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any instrument. All trading involves risk of loss. Fair Value Gap zones do not guarantee price reversal or support. Always use proper risk management.
-Made with passion by jackofalltrades
Indicator

Delta Pressure Gauge [JOAT]Delta Pressure Gauge
Introduction
Delta Pressure Gauge is a pane-based oscillator that constructs a volume-weighted directional wave from bar-by-bar delta estimation, normalized using a rolling maximum to ensure consistent scaling across all instruments and timeframes. The oscillator measures the pressure imbalance between buying volume and selling volume, smoothed into a wave that reveals accumulation and distribution phases with high visual clarity. The indicator includes a money flow pressure line, a cumulative windowed delta cloud, divergence detection, and crossover signal dots.
Traditional volume indicators — OBV, CMF, MFI — measure volume flows using raw or price-weighted calculations that are difficult to compare across instruments or timeframes because their absolute values depend on the asset's volume profile. Delta Pressure Gauge normalizes everything to a -1 to +1 scale using a rolling maximum, producing readings that are immediately interpretable regardless of whether the asset trades 100 shares or 100 million. The wave design provides a visual rhythm that makes accumulation and distribution phases recognizable at a glance.
Core Concepts
1. Body-Quality Weighted Bar Delta
Each bar contributes a delta value based on direction (bullish = +volume, bearish = -volume) multiplied by the bar's body quality ratio (body size divided by total range). A full-body bar contributes 100% of its volume to delta. A doji bar with no body contributes 0%. This filtering reduces the noise contribution of indecision bars that add volume without directional information.
body_qual = math.abs(close - open) / math.max(high - low, syminfo.mintick)
bar_delta = bar_dir * volume * body_qual
2. Rolling Maximum Normalization
The raw wave EMA is normalized by dividing by the rolling maximum absolute value over the normalization window. Unlike percentile-based normalization, rolling maximum works reliably from the first bar, requires no minimum warmup period, and produces values that are always within the -1 to +1 range:
norm_ref = ta.highest(math.abs(raw_wave), i_norm)
wt1 = raw_wave / math.max(nz(norm_ref, 1.0), 1.0)
3. Windowed Cumulative Delta
Rather than using an all-time cumulative delta (which grows without bound and becomes dominated by early bars), the cumulative component uses a 30-bar rolling sum. This produces a medium-term delta bias that reflects the recent directional commitment of volume participants.
4. Money Flow Pressure Line
A separate money flow calculation weights volume by the ratio of price movement to range: (close - open) / range × volume. This captures the efficiency of price movement relative to its volume cost — high-momentum bars have larger weights than range-bound bars.
5. Divergence Detection
Bullish divergence is detected when the delta wave makes a higher low while price makes a lower low. Bearish divergence is the mirror. Detection uses confirmed pivot points on the wave with persistent previous-pivot storage, avoiding any ta.valuewhen type compatibility issues. Divergence lines are rendered directly on the oscillator pane.
Features
Wave Oscillator: Gradient area fill between wave and zero, color-coded by direction and intensity
Signal Line: Smoothed signal with direction-colored rendering
Histogram: Four-state colored momentum bars showing wave-signal separation and its rate of change
Crossover Dots: Large circles with glow rings at every wave/signal crossover
Zero-Line Cross Dots: Small markers when wave crosses the zero line
Overbought/Oversold Extreme Dots: Markers at extreme readings
Divergence Triangles and Lines: Yellow markers and connecting lines when divergence is detected
Cumulative Delta Cloud: Area fill showing 30-bar rolling delta direction
Money Flow Line: Purple secondary line for cross-confirmation
Volume Surge Markers: Cross markers when volume exceeds 2x average
12-Row Dashboard: Pressure state, wave values, histogram, signals, cumulative delta, money flow, volume ratio, divergence state
Input Parameters
Wave Channel Length: Fast EMA for wave construction (default: 10)
Wave Average Length: Signal line smoothing period (default: 21)
Rolling Norm Window: Window for rolling maximum normalization (default: 100)
Overbought/Oversold levels: Four configurable threshold lines
Divergence pivot lookback settings
How to Use This Indicator
Crossover Dots as Momentum Shifts
When the wave crosses above the signal line (green dot), buying pressure is accelerating relative to the smoothed baseline. This confirms a momentum pickup. The opposite for bearish crosses. These signals are strongest when they occur near or below the oversold line.
Zero-Line Confirmation
The wave crossing zero from below indicates that aggregate buying pressure over the wave window has turned net positive. This is a regime confirmation, not an entry signal in isolation, but it supports bullish bias when aligned with price structure.
Divergence at Extremes
Divergence is most meaningful when the wave is at or near an overbought or oversold extreme. A bullish divergence from the oversold zone (yellow triangle pointing up) suggests the distribution of buying pressure is shifting despite continued price weakness.
Cumulative Delta Direction
The blue-purple cloud shows whether the 30-bar rolling delta is net positive or negative. When the wave crosses bullishly and the cumulative delta is also positive, both the momentum and the persistent pressure agree.
Limitations
This indicator uses close-open direction to estimate bar delta. True bid-ask volume data (available only through specialized data providers) would be more precise. On instruments with significant wick activity (doji bars), this estimation introduces noise
Normalization by rolling maximum means a single extreme bar sets the scale for the entire norm window. One unusually large volume bar will compress all surrounding readings
Divergence detection requires enough bars for pivot confirmation. The pivot right-side lookback introduces a lag in divergence signals
This indicator measures volume pressure proxies, not actual institutional activity. Large volume does not always reflect institutional intent
Originality Statement
The body-quality weighting applied before delta smoothing is a deliberate design choice that reduces doji noise in a way that raw-volume or typical-price approaches do not. The rolling maximum normalization (rather than percentile or z-score) was chosen specifically because it operates reliably from the first bar without a warmup cliff, making the indicator immediately usable on limited datasets. The combination of a wave oscillator, cumulative delta cloud, and money flow line on a single pane provides three independent perspectives on the same underlying volume pressure question.
Disclaimer
This indicator is for educational and informational purposes only. Volume pressure readings are estimates derived from OHLCV data. They do not represent actual order flow or institutional positioning. Past divergence patterns do not predict future price reactions. Always apply appropriate risk management.
-Made with passion by officialjackofalltrades
Indicator

Delta Pressure Index [JOAT]Delta Pressure Index
Introduction
The Delta Pressure Index is an advanced open-source volume analysis indicator that deconstructs order flow into actionable pressure metrics, combining volume delta estimation, absorption zone detection, smart money divergence analysis, and institutional order block identification. This indicator transforms raw volume data into a comprehensive pressure measurement system that reveals the true balance of power between buyers and sellers.
Unlike basic volume indicators that simply display volume bars, this system analyzes the internal structure of volume to identify buying and selling pressure, detect institutional absorption patterns, recognize smart money positioning through divergences, and map order blocks where large players have established positions. The indicator is designed for traders who understand that volume precedes price and that institutional footprints can be detected through systematic pressure analysis.
Why This Indicator Exists
This indicator addresses a critical gap in retail volume analysis: the ability to measure directional pressure and institutional activity in real-time. While exchange-provided volume data shows total activity, it doesn't reveal who is winning the battle between buyers and sellers. The Delta Pressure Index solves this by:
Volume Delta Estimation: Separates buying volume from selling volume using candle structure and wick analysis
Pressure Index Calculation: Normalizes delta to a -100 to +100 scale showing relative pressure strength
Absorption Zone Detection: Identifies when high volume produces minimal price movement, indicating institutional accumulation or distribution
Smart Money Divergence: Compares volume-weighted price to actual price to detect hidden institutional positioning
Order Block Mapping: Marks zones where institutional orders have been placed based on volume and price action patterns
Multi-Timeframe Pressure: Analyzes pressure alignment across multiple timeframes for conviction measurement
Cumulative Delta Tracking: Monitors net buying/selling pressure over time to identify accumulation and distribution phases
Each component provides unique intelligence about market microstructure. Delta estimation shows directional bias, pressure index quantifies strength, absorption detection reveals institutional activity, divergences expose hidden positioning, order blocks mark support/resistance zones, and cumulative delta tracks longer-term institutional flow.
Core Components Explained
1. Enhanced Volume Delta Estimation
The indicator uses advanced candle structure analysis to estimate buying and selling volume:
barRange = high - low
bodySize = math.abs(close - open)
wickUp = high - math.max(open, close)
wickDown = math.min(open, close) - low
buyVolume = close > open ?
volume * ((close - open + wickUp * 0.5) / barRange) :
close < open ?
volume * ((wickUp + bodySize * 0.3) / barRange) :
volume * 0.5
sellVolume = volume - buyVolume
delta = buyVolume - sellVolume
This calculation considers:
- Bullish candles (close > open): Majority of volume is buying, with upper wick getting 50% weight
- Bearish candles (close < open): Majority of volume is selling, with upper wick and 30% of body getting buying weight
- Doji candles (close = open): Volume split 50/50 between buying and selling
The wick weighting acknowledges that wicks represent rejected prices where one side overwhelmed the other, providing additional directional information beyond just the candle body.
2. Pressure Index Normalization
Raw delta values are normalized to create a pressure index ranging from -100 (extreme selling) to +100 (extreme buying):
pressureIndex = ta.sma(delta, deltaLength) / ta.sma(volume, deltaLength) * 100
This normalization divides smoothed delta by smoothed volume, creating a percentage that shows the proportion of volume favoring buyers vs sellers. The smoothing (default 14 periods) reduces noise while maintaining responsiveness to genuine pressure shifts.
The pressure index is further enhanced with volume-weighted calculations:
vwPressure = ta.vwma(pressureIndex, deltaLength)
Volume-weighted pressure gives more importance to high-volume bars, ensuring that pressure readings reflect periods of genuine institutional participation rather than low-volume noise.
3. Pressure Zone Classification
The indicator classifies pressure into seven distinct zones:
Extreme Buy (>70): Overwhelming buying pressure, potential exhaustion or continuation
Strong Buy (50-70): Significant buying dominance, healthy uptrend conditions
Moderate Buy (30-50): Mild buying bias, early trend development
Weak Buy (20-30): Slight buying edge, transitional conditions
Neutral (-20 to +20): Balanced conditions, no clear directional pressure
Weak Sell (-30 to -20): Slight selling edge, transitional conditions
Moderate Sell (-50 to -30): Mild selling bias, early downtrend development
Strong Sell (-70 to -50): Significant selling dominance, healthy downtrend conditions
Extreme Sell (<-70): Overwhelming selling pressure, potential exhaustion or continuation
These zones help traders quickly assess current pressure conditions and identify extreme readings that often precede reversals or accelerations.
4. Absorption Detection System
Absorption occurs when high volume produces minimal price movement, indicating that one side is absorbing the other's orders:
avgVolume = ta.sma(volume, 20)
avgRange = ta.sma(barRange, 20)
volumeRatio = volume / avgVolume
rangeRatio = barRange / avgRange
absorption = volumeRatio > absorptionThreshold and rangeRatio < 0.5
The system identifies absorption when:
- Volume exceeds average by the threshold multiplier (default 2.5x)
- Price range is less than 50% of average range
Absorption is classified as:
- Buy Absorption: High volume + small range + positive delta = Institutional accumulation
- Sell Absorption: High volume + small range + negative delta = Institutional distribution
- Extreme Absorption: Absorption score exceeds 1.5x threshold = Major institutional activity
Absorption zones often mark significant support/resistance levels where institutions have established large positions.
5. Smart Money Divergence Analysis
The indicator compares volume-weighted average price (VWAP) to simple moving average to detect smart money positioning:
vwPrice = ta.vwma(close, 20)
actualPrice = ta.sma(close, 20)
smartMoneyDivergence = ((vwPrice - actualPrice) / actualPrice) * 100
When VWAP is significantly above SMA (>2%), it indicates that higher-volume bars occurred at higher prices, suggesting smart money accumulation. When VWAP is significantly below SMA (<-2%), it indicates higher-volume bars occurred at lower prices, suggesting smart money distribution.
Smart money signals are generated when:
- Bullish: Divergence >2%, price below VWAP, positive pressure = Accumulation opportunity
- Bearish: Divergence <-2%, price above VWAP, negative pressure = Distribution warning
6. Order Block Detection
Order blocks are identified using institutional footprint patterns:
bullishOB = close < open and close > open and volume > avgVolume * 1.2
bearishOB = close > open and close < open and volume > avgVolume * 1.2
Bullish order blocks occur when:
- Previous candle was bearish (close < open)
- Current candle is bullish (close > open)
- Volume exceeds average by 20%
This pattern suggests institutions placed buy orders in the previous bearish candle, which then fueled the bullish reversal. The zone between the previous candle's low and high becomes a potential support area.
Bearish order blocks follow the inverse logic, marking potential resistance zones where institutional sell orders were placed.
7. Cumulative Delta Tracking
The indicator maintains a running total of delta to track longer-term institutional positioning:
var float cumulativeDelta = 0
cumulativeDelta += delta
Rising cumulative delta indicates sustained buying pressure (accumulation phase). Falling cumulative delta indicates sustained selling pressure (distribution phase). The rate of change in cumulative delta shows acceleration or deceleration of institutional flow.
The indicator also tracks session cumulative delta that resets on trend changes, providing shorter-term context for intraday pressure analysis.
8. Delta Momentum and Acceleration
The indicator calculates momentum and acceleration metrics:
deltaMomentum = ta.roc(pressureIndex, 5)
deltaAcceleration = ta.roc(deltaMomentum, 3)
Delta momentum shows the rate of change in pressure, identifying when pressure is building or fading. Delta acceleration (second derivative) identifies inflection points where momentum is changing direction, often preceding major pressure shifts.
Positive acceleration with positive momentum suggests strengthening buying pressure. Negative acceleration with positive momentum warns that buying pressure is weakening, even if still positive.
9. Multi-Timeframe Pressure Analysis
The indicator requests pressure data from four higher timeframes (default: 5m, 15m, 60m, 240m):
htf1_pressure = request.security(syminfo.tickerid, htf1, pressureIndex, lookahead=barmerge.lookahead_off)
MTF confluence score is calculated by averaging the sign of pressure across all timeframes:
mtfConfluence = (math.sign(htf1_pressure) + math.sign(htf2_pressure) +
math.sign(htf3_pressure) + math.sign(htf4_pressure)) / 4 * 100
Confluence scores near +100 indicate all timeframes show buying pressure. Scores near -100 indicate all timeframes show selling pressure. Scores near 0 indicate mixed or transitional conditions across timeframes.
Visual Elements
Pressure Index Columns: Main histogram showing pressure index with gradient coloring from extreme sell (pink) to extreme buy (cyan)
Volume-Weighted Pressure Line: Yellow line overlay showing VWMA of pressure for trend identification
Pressure EMA Line: Cyan line showing smoothed pressure trend
Delta Momentum Histogram: Purple histogram showing rate of change in pressure
Reference Lines: Horizontal lines at 0, ±30, ±50, ±70 marking pressure zone boundaries
Divergence Labels: Text labels marking regular and hidden divergences between price and pressure
Smart Money Labels: Green labels marking accumulation/distribution signals
Absorption Markers: Cyan/red labels marking buy/sell absorption zones
Order Block Boxes: Orange boxes marking institutional order block zones on price chart
Extreme Pressure Labels: Small labels marking extreme buy/sell pressure conditions
Pressure Heatmap: Subtle background gradient showing pressure intensity
Comprehensive Dashboard: Real-time metrics table showing pressure, delta %, cumulative delta, zone, absorption, smart money, divergence, momentum, MTF confluence, and all key metrics
The dashboard displays 12+ key metrics with color-coded values and status indicators, providing complete pressure analysis at a glance.
Input Parameters
Core Settings:
Delta Length: Period for delta smoothing (5-100, default 14)
Smoothing Period: Additional smoothing for pressure index (1-20, default 3)
Volume MA Length: Period for volume average (5-100, default 20)
Absorption Threshold: Volume multiplier for absorption detection (1.0-5.0, default 2.5)
Multi-Timeframe:
Enable Multi-Timeframe Analysis: Toggle MTF pressure analysis (default enabled)
HTF 1/2/3/4: Four higher timeframe selections (default 5m, 15m, 60m, 240m)
Display Options:
Show Cumulative Delta: Toggle cumulative delta tracking (default enabled)
Show Absorption Zones: Toggle absorption detection markers (default enabled)
Show Divergences: Toggle divergence detection (default enabled)
Show Smart Money Signals: Toggle smart money analysis (default enabled)
Show Volume Profile: Toggle volume profile POC (default enabled)
Show Dashboard: Toggle metrics table (default enabled)
Show Pressure Heatmap: Toggle background gradient (default enabled)
Show Order Blocks: Toggle order block boxes (default enabled)
Colors:
All colors are fully customizable including buy pressure (neon cyan), sell pressure (neon pink), buy absorption (neon cyan), sell absorption (neon red), smart money (neon green), divergence (neon purple), and order blocks (sunset orange).
How to Use This Indicator
Step 1: Assess Current Pressure
Check the dashboard "Pressure" value and "Zone" classification. Extreme readings (>70 or <-70) often precede reversals or strong continuations. Strong readings (50-70 or -50 to -70) indicate healthy trend conditions.
Step 2: Monitor Delta Percentage
Review "Delta %" showing the proportion of volume favoring buyers vs sellers. Values above 50% indicate buying dominance, below -50% indicate selling dominance. This provides confirmation of pressure index readings.
Step 3: Track Cumulative Delta
Observe "Cum Delta" to identify longer-term institutional positioning. Rising cumulative delta during pullbacks suggests accumulation. Falling cumulative delta during rallies warns of distribution.
Step 4: Identify Absorption Zones
Watch for absorption labels and check dashboard "Absorption" status. Buy absorption near support levels suggests institutional accumulation. Sell absorption near resistance suggests institutional distribution. These zones often become significant support/resistance.
Step 5: Detect Smart Money Divergence
Monitor smart money labels and dashboard status. Accumulation signals during downtrends suggest smart money is buying weakness. Distribution signals during uptrends warn that smart money is selling strength.
Step 6: Analyze Divergences
Look for divergence labels where price makes new highs/lows but pressure doesn't confirm. Regular divergences signal potential reversals. Hidden divergences suggest trend continuation after pullbacks.
Step 7: Map Order Blocks
Identify order block boxes on the price chart. These zones mark where institutions placed large orders. Price often respects these levels on retests, providing high-probability entry zones.
Step 8: Confirm with MTF Confluence
Check "MTF Confluence" in dashboard. High positive confluence (>75) confirms buying pressure across timeframes. High negative confluence (<-75) confirms selling pressure. Low confluence suggests mixed conditions.
Best Practices
Use on liquid instruments with reliable volume data for most accurate pressure readings
Extreme pressure readings (>70 or <-70) are most reliable when accompanied by volume surges
Absorption zones near key price levels offer highest-probability reversal setups
Smart money divergence signals work best when confirmed by order block formation
Cumulative delta diverging from price often precedes major reversals
Order blocks are most reliable when formed on high volume (>1.5x average)
MTF confluence above 75% or below -75% provides strong directional conviction
Delta momentum acceleration signals often precede pressure regime changes
Pressure heatmap intensity helps visualize pressure strength at a glance
Regular divergences are most reliable at extreme pressure levels
Hidden divergences work best in established trends as continuation signals
Combine pressure analysis with price action for optimal entry timing
Indicator Limitations
Volume delta estimation is approximate - true delta requires exchange order flow data
The indicator works best on instruments with consistent, reliable volume reporting
Low-volume instruments or off-market hours can produce unreliable pressure readings
Absorption detection requires sufficient volume history for accurate average calculations
Smart money divergence assumes VWAP represents institutional positioning, which is a simplification
Order block detection uses pattern recognition that may not capture all institutional activity
MTF analysis requires data availability on all selected timeframes
Cumulative delta can drift significantly over long periods without reset mechanisms
The indicator shows pressure dynamics but cannot predict how long pressure will persist
Extreme pressure can remain extreme longer than expected during strong trends
Divergences can persist for extended periods before price responds
Technical Implementation
Built with Pine Script v6 using:
Advanced volume delta estimation using candle structure and wick analysis
Normalized pressure index calculation with volume-weighted enhancement
Seven-zone pressure classification system
Absorption detection using volume ratio and range ratio analysis
Smart money divergence calculation comparing VWAP to SMA
Order block detection using institutional footprint patterns
Cumulative delta tracking with session reset capability
Delta momentum and acceleration calculations using rate-of-change
Multi-timeframe security requests with proper lookahead settings
Fractal-based divergence detection system
Dynamic color gradients based on pressure intensity
Comprehensive dashboard with 12+ metrics and color-coded indicators
Persistent label system to prevent chart clutter
Order block box management with automatic cleanup
The code is fully open-source with detailed comments explaining each pressure calculation and detection algorithm.
Originality Statement
This indicator is original in its comprehensive pressure analysis approach. While volume delta concepts are established, this indicator is justified because:
It combines volume delta estimation with absorption detection, smart money analysis, and order block mapping in a unified system
The enhanced delta calculation uses wick weighting to capture rejected price information
Seven-zone pressure classification provides granular pressure assessment beyond simple buy/sell
Absorption detection identifies institutional activity through volume-range relationship analysis
Smart money divergence reveals hidden positioning through VWAP-SMA comparison
Order block detection maps institutional zones using volume-confirmed reversal patterns
Multi-timeframe confluence scoring validates pressure across temporal dimensions
Delta momentum and acceleration tracking provides early warning of pressure shifts
The comprehensive dashboard synthesizes 12+ distinct metrics into unified pressure intelligence
Integration of cumulative delta, absorption, divergence, and order blocks creates layered confirmation
Each component contributes unique intelligence: delta shows directional bias, pressure index quantifies strength, absorption reveals institutional activity, divergences expose hidden positioning, order blocks mark key zones, MTF confluence validates conviction, and momentum tracks acceleration. The indicator's value lies in combining these complementary perspectives into a cohesive pressure analysis system.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice or a recommendation to buy or sell any financial instrument. Trading involves substantial risk of loss and is not suitable for all investors.
Volume pressure analysis is a tool for understanding order flow dynamics, not a crystal ball for predicting future price movement. Extreme pressure readings do not guarantee reversals. Absorption zones do not guarantee support/resistance. Past pressure patterns do not guarantee future pressure patterns. Market conditions change, and strategies that worked historically may not work in the future.
The metrics displayed are mathematical calculations based on current market data, not predictions of future price movement. Pressure readings, divergences, absorption zones, and order blocks do not guarantee profitable trades. Users must conduct their own analysis and risk assessment before making trading decisions.
Always use proper risk management, including stop losses and position sizing appropriate for your account size and risk tolerance. Never risk more than you can afford to lose. Consider consulting with a qualified financial advisor before making investment decisions.
The author is not responsible for any losses incurred from using this indicator. Users assume full responsibility for all trading decisions made using this tool.
-Made with passion by officialjackofalltrades Indicator

Divergence Confirmation System [JOAT]Divergence Confirmation System
Introduction
The Divergence Confirmation System (DCS) is an advanced open-source multi-oscillator divergence detection indicator that combines RSI, MFI, Stochastic, MACD, CCI, and Stochastic RSI analysis to identify high-probability divergence setups through systematic pivot comparison and multi-oscillator confirmation. This indicator reveals when price action diverges from underlying momentum across six independent oscillators, providing traders with early warning signals of potential trend reversals or continuations through rigorous confirmation requirements.
Unlike basic divergence indicators that rely on a single oscillator, DCS employs a sophisticated 6-oscillator confirmation system that detects both regular divergences (trend reversal signals) and hidden divergences (trend continuation signals) across multiple momentum indicators. The indicator requires minimum oscillator confirmation (default 2/6) to filter false signals and provides divergence strength scoring based on oscillator count, volume confirmation, and price momentum.
Why This Indicator Exists
This indicator addresses the challenge of identifying reliable divergence signals in noisy market conditions. Single-oscillator divergences often produce false signals, but when multiple independent oscillators confirm the same divergence pattern, probability of successful reversal increases significantly. DCS systematically reveals:
6-Oscillator Analysis: RSI, MFI, Stochastic, MACD, CCI, Stochastic RSI for comprehensive momentum assessment
Regular Divergence Detection: Price makes new high/low but oscillators don't confirm (reversal signal)
Hidden Divergence Detection: Price makes higher low/lower high but oscillators show opposite (continuation signal)
Multi-Oscillator Confirmation: Requires 2+ oscillators to agree before generating signal
Divergence Strength Scoring: 0-100% score based on oscillator count, volume, and momentum
Multi-Timeframe Divergence: Confirms divergences on higher timeframe for added conviction
Divergence Clustering: Detects multiple divergences in short period indicating strong reversal potential
Each component provides unique intelligence. Multiple oscillators reduce false signals, regular divergences show reversals, hidden divergences show continuations, strength scoring quantifies quality, MTF confirmation adds conviction, and clustering shows intensity.
Core Components Explained
1. Multi-Oscillator Divergence Detection System
DCS calculates six independent oscillators and detects divergences on each:
// RSI
float rsi = ta.rsi(close, rsi_period)
float rsi_high = ta.pivothigh(rsi, pivot_left, pivot_right)
float rsi_low = ta.pivotlow(rsi, pivot_left, pivot_right)
// MFI (Money Flow Index - volume-weighted RSI)
float mfi = ta.mfi(hlc3, mfi_period)
// Stochastic
float stoch_k = ta.stoch(close, high, low, stoch_period)
// MACD Histogram
= ta.macd(close, macd_fast, macd_slow, macd_signal)
// CCI (Commodity Channel Index)
float cci = ta.cci(close, 20)
// Stochastic RSI
float rsi_for_stoch = ta.rsi(close, rsi_period)
float stoch_rsi_k = ta.stoch(rsi_for_stoch, rsi_for_stoch, rsi_for_stoch, stoch_period)
Each oscillator provides independent momentum perspective. RSI shows price momentum, MFI adds volume weighting, Stochastic shows position in range, MACD shows trend momentum, CCI shows deviation from mean, and Stochastic RSI shows RSI momentum.
2. Regular Divergence Detection (Reversal Signals)
Regular bullish divergence occurs when price makes lower low but oscillator makes higher low:
f_detect_bull_regular_div(float osc_val, float osc_pivot) =>
bool detected = false
if not na(osc_pivot) and not na(price_low) and array.size(price_lows) >= 2
float curr_price = array.get(price_lows, last_idx)
float prev_price = array.get(price_lows, prev_idx)
// Price makes lower low, oscillator makes higher low
if curr_price < prev_price and osc_pivot > osc_pivot
if (bar_index - prev_bar) <= max_pivot_distance
detected := true
detected
Regular bearish divergence occurs when price makes higher high but oscillator makes lower high. These signal potential trend reversals.
3. Hidden Divergence Detection (Continuation Signals)
Hidden bullish divergence occurs when price makes higher low but oscillator makes lower low:
f_detect_bull_hidden_div(float osc_val, float osc_pivot) =>
bool detected = false
if detect_hidden and not na(osc_pivot) and not na(price_low)
float curr_price = array.get(price_lows, last_idx)
float prev_price = array.get(price_lows, prev_idx)
// Price makes higher low, oscillator makes lower low
if curr_price > prev_price and osc_pivot < osc_pivot
if (bar_index - prev_bar) <= max_pivot_distance
detected := true
detected
Hidden bearish divergence occurs when price makes lower high but oscillator makes higher high. These signal trend continuation after pullback.
4. Multi-Oscillator Confirmation Aggregation
DCS counts how many oscillators confirm each divergence type:
int bull_reg_count = (rsi_bull_reg ? 1 : 0) + (mfi_bull_reg ? 1 : 0) +
(stoch_bull_reg ? 1 : 0) + (macd_bull_reg ? 1 : 0) +
(cci_bull_reg ? 1 : 0) + (srsi_bull_reg ? 1 : 0)
bool confirmed_bull_regular = bull_reg_count >= min_oscillators
// Optional volume confirmation
float vol_avg = ta.sma(volume, 20)
bool vol_confirm = volume > vol_avg * 1.2
bool final_bull_regular = confirmed_bull_regular and
(not require_volume_confirm or vol_confirm)
Minimum oscillator requirement (default 2/6) filters false signals. Volume confirmation adds additional filter.
5. Divergence Strength Scoring System
Strength score (0-100%) calculated from multiple factors:
f_divergence_strength(int osc_count, bool vol_confirm_param, float price_momentum) =>
float score = 0.0
// Oscillator count (0-50 points)
score += osc_count * 8.33 // 6 oscillators max = 50 points
// Volume confirmation (0-25 points)
score += vol_confirm_param ? 25 : 0
// Price momentum (0-25 points)
float momentum_score = math.min(math.abs(price_momentum) * 5, 25)
score += momentum_score
math.min(score, 100)
Strength classification:
- 75-100%: Very Strong (highest probability)
- 60-74%: Strong (high probability)
- 40-59%: Moderate (medium probability)
- 0-39%: Weak (low probability)
6. Multi-Timeframe Divergence Confirmation
DCS checks for divergences on higher timeframe (default 15m):
f_get_htf_divergence(string tf) =>
= request.security(syminfo.tickerid, tf,
)
float htf_rsi_high = ta.pivothigh(htf_rsi, pivot_left, pivot_right)
float htf_rsi_low = ta.pivotlow(htf_rsi, pivot_left, pivot_right)
bool htf_bull = f_detect_bull_regular_div(htf_rsi, htf_rsi_low)
bool htf_bear = f_detect_bear_regular_div(htf_rsi, htf_rsi_high)
bool mtf_bull_confirmed = final_bull_regular and htf_bull_div
bool mtf_bear_confirmed = final_bear_regular and htf_bear_div
MTF confirmation significantly increases signal reliability.
7. Divergence Clustering Detection
Clustering identifies multiple divergences in short period:
var array div_bars = array.new_int(0)
if final_bull_regular or final_bear_regular
array.push(div_bars, bar_index)
// Count divergences in last 50 bars
int recent_div_count = 0
for i = 0 to array.size(div_bars) - 1
int div_bar = array.get(div_bars, i)
if bar_index - div_bar <= 50
recent_div_count += 1
bool in_div_cluster = recent_div_count >= 3
string cluster_intensity = recent_div_count >= 5 ? "High" :
recent_div_count >= 3 ? "Moderate" : "Low"
Clusters indicate strong reversal pressure building.
Visual Elements
Primary Oscillator Display: User-selectable (RSI/MFI/Stochastic/MACD) with gradient shadow effect
Reference Lines: 70 (overbought), 50 (midline), 30 (oversold)
Oscillator Histogram: Gradient-colored bars showing oscillator deviation from 50
Background Zones: Cyan for bullish divergence, red for bearish divergence
Divergence Labels: "BULL DIV" or "BEAR DIV" with oscillator count (e.g., "4/6")
Hidden Divergence Markers: Small "H" circles for hidden divergences
Elite Signals: Large labels for 4+ oscillator confirmation with strength >75%
MTF Confirmation: Triangle markers when higher timeframe confirms
Multi-Oscillator Confirmation: Labels showing oscillator count (e.g., "3/6 CONF")
Institutional Flow: "INST BUY/SELL" labels when delta confirms divergence
Input Parameters
Oscillator Settings:
RSI Period: RSI calculation period (default: 14)
MFI Period: MFI calculation period (default: 14)
Stochastic Period: Stochastic calculation period (default: 14)
MACD Fast: MACD fast EMA (default: 12)
MACD Slow: MACD slow EMA (default: 26)
MACD Signal: MACD signal line (default: 9)
Divergence Detection:
Pivot Left Bars: Bars to left of pivot (default: 5)
Pivot Right Bars: Bars to right of pivot (default: 2)
Detect Hidden Divergences: Toggle hidden divergence detection (default: true)
Max Pivot Distance: Maximum bars between pivots (default: 60)
Confirmation Rules:
Minimum Oscillator Confirmation: Required oscillators (default: 2/6)
Require Volume Confirmation: Toggle volume filter (default: false)
Visualization:
Show Divergence Lines: Toggle divergence line drawing (default: true)
Show Labels: Toggle divergence labels (default: true)
Primary Display: Select oscillator to display (RSI/MFI/Stochastic/MACD)
How to Use This Indicator
Step 1: Monitor Primary Oscillator
Watch selected oscillator (default RSI) for overbought/oversold conditions.
Step 2: Wait for Divergence Labels
"BULL DIV" or "BEAR DIV" labels appear when 2+ oscillators confirm divergence.
Step 3: Check Oscillator Count
Higher count = higher probability. 4/6 or better is ideal.
Step 4: Assess Divergence Strength
Tooltip shows strength percentage. >75% is very strong, >60% is strong.
Step 5: Confirm with MTF
Triangle markers indicate higher timeframe confirmation - highest probability setups.
Step 6: Watch for Elite Signals
Large "BULL DIV" or "BEAR DIV" labels with 4+ oscillators and >75% strength are highest conviction.
Best Practices
Focus on divergences with 3+ oscillator confirmation for best results
Regular divergences work best at price extremes (support/resistance)
Hidden divergences confirm trend continuation - trade with trend
MTF confirmation adds significant edge - wait when possible
Divergence clustering indicates strong reversal pressure
Volume confirmation reduces false signals but adds lag
Elite signals (4+ oscillators, >75% strength) have highest win rate
Use cooldown system (15 bars minimum) to avoid overtrading
Combine with price action - divergence shows momentum, price shows structure
Indicator Limitations
Divergence detection requires clear pivot formation - lags by pivot_right bars
Multiple oscillators can produce conflicting signals during choppy markets
Hidden divergences are less reliable than regular divergences
Strength scoring is probabilistic, not deterministic
MTF confirmation adds lag but increases reliability
Clustering detection has fixed lookback - may miss longer-term patterns
Volume confirmation may not work well on illiquid instruments
Extreme market conditions can invalidate divergence signals
Technical Implementation
Built with Pine Script v6 using:
6-oscillator system (RSI, MFI, Stochastic, MACD, CCI, Stochastic RSI)
Pivot-based divergence detection with array tracking
Regular and hidden divergence algorithms
Multi-oscillator confirmation aggregation
Divergence strength scoring (oscillator count + volume + momentum)
Multi-timeframe security requests for HTF confirmation
Divergence clustering detection (50-bar lookback)
Signal cooldown system (15 bars minimum)
Gradient visualization with dynamic coloring
Institutional flow integration (CVD delta analysis)
Elite signal filtering (4+ oscillators, >75% strength)
The code is fully open-source and can be modified to suit individual trading styles.
Originality Statement
This indicator is original in its comprehensive multi-oscillator divergence confirmation approach. While individual oscillator divergences are established concepts, this indicator is justified because:
It combines 6 independent oscillators (RSI, MFI, Stochastic, MACD, CCI, Stochastic RSI) for robust confirmation
The multi-oscillator confirmation system (2-6 required) significantly reduces false signals
Divergence strength scoring quantifies setup quality through multi-factor analysis
Multi-timeframe divergence confirmation adds conviction layer
Divergence clustering detection identifies high-probability reversal zones
Integration of institutional flow (CVD delta) with divergence analysis is unique
Elite signal filtering (4+ oscillators, >75% strength) isolates highest probability setups
Signal cooldown system prevents overtrading while maintaining signal quality
Each component contributes unique information: multiple oscillators reduce false signals, regular divergences show reversals, hidden divergences show continuations, strength scoring quantifies quality, MTF confirmation adds conviction, clustering shows intensity, and institutional flow confirms with volume. The indicator's value lies in presenting these complementary perspectives simultaneously with rigorous confirmation requirements.
Disclaimer
This indicator is provided for educational and informational purposes only. It is not financial advice. Divergence signals do not guarantee reversals. 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

Dobrusky Pressure CoreWhat it does & who it’s for
Dobrusky Pressure Core is a volume by time replacement for traders who care about which side actually controls each bar. Instead of just plotting total volume, it splits each bar into estimated buy vs sell pressure and overlays a custom, session-aware volume baseline. It’s built for discretionary traders who want more nuanced volume context for entries, breakouts, and pullbacks.
Core ideas
Buy/sell pressure split: Each bar’s volume is broken into estimated buying and selling pressure.
Dominant side highlighting: The dominant side (buy or sell) is always displayed starting from the bottom of the bar, so you can quickly see who “owned” that bar.
Median-based baseline: Uses the median of the last N bars (50 by default) to build a robust volume baseline that’s less sensitive to one-off spikes.
Session-aware behavior: Baseline is calculated from Regular Trading Hours (RTH) by default, with an option to include Extended Hours (ETH) and a control to force Regular data on higher timeframes.
Volume regimes: Three multipliers (1x, 1.5x, 2x by default) show normal, high, and extreme volume regions.
Flexible display: Baseline can be shown as lines or as columns behind the volume, with full color customization.
How the pressure logic works
For each bar, the script:
Adjusts the range for gaps relative to the prior close so the “true” traded range is more consistent.
Computes buy pressure as a proportion of the adjusted range from low to close.
Defines sell pressure as: total volume minus buy pressure.
Marks the bar as buy-dominant if buy pressure ≥ sell pressure, otherwise sell-dominant, and colors the dominant side from the bottom to at least the midpoint using the selected buy/sell colors.
In practice, this turns basic volume columns into bars where the internal split and dominant side are clearly visible, helping you judge whether aggressive buyers or sellers truly controlled the bar instead of just looking at the price action.
Volume baseline & session logic
The script builds a session-aware baseline from recent volume:
Baseline length: A rolling window (default 50 bars) is used to compute a median volume value instead of a simple moving average.
RTH-only by default: By default, the baseline is built from Regular Trading Hours bars only. During extended hours, the baseline effectively “freezes” at the last RTH-derived value unless you choose to include extended session data.
Extended mode: If you select Extended mode, the script builds separate rolling baselines for RTH and ETH trading, using the appropriate one depending on the current session.
Force Regular Above Timeframe: On timeframes equal to or higher than your chosen threshold, the baseline automatically uses Regular session data, even if Extended is selected.
Multipliers: Three adjustable multipliers (1x, 1.5x, 2x by default) create normal, high, and extreme volume bands for quick identification.
This lets you choose whether you want a pure RTH reference or a baseline that adapts to extended-session activity.
Example ways to use it
1. Replace standard volume bars
Add Dobrusky Pressure Core to your volume pane and hide the default volume if you prefer a clean look.
Use the colors and split to see at a glance whether buyers or sellers were dominant on each bar.
2. Pressure confirmation for entries
For longs (example concept; adapt to your own rules):
Require that the entry bar’s buy pressure is greater than the previous bar’s sell pressure , or
If the entry and prior bar are both buy-dominant, require that the entry bar has more buy pressure than the prior bar.
This helps avoid taking a long when buying pressure is clearly fading relative to what sellers recently showed. A mirrored idea can be used for short setups with sell pressure.
3. Context from baseline multipliers
Use ~1x baseline as “normal” volume.
Watch for bars at or above 1.5x baseline when you want to see increased participation.
Treat 2x baseline and above as “extreme” volume zones that may mark climactic or especially important bars.
In practice, the baseline and multipliers are best used as context and filters, not as rigid rules.
Settings overview
Display
- Show Volume Baseline: toggle the baseline and its levels on or off.
- Baseline Display: choose between Line or Bars for the baseline visualization.
Baseline Calculation
- Length: lookback for the median baseline (default 50, configurable).
- Baseline Session Data: choose Regular or Extended to control which session data feeds the baseline.
Session Controls
- Regular Session (Local to TZ): define your RTH window (e.g., 0930-1600).
- Session Time Zone: choose the time zone used for that window.
- Force Regular Above Timeframe: on higher timeframes, force the baseline to use Regular session data only.
Baseline Levels
- Show Level x Multiplier 1/2/3: toggle each volume regime level.
- Multiplier 1/2/3: define what you consider normal, high, and extreme volume (defaults: 1.0, 1.5, 2.0).
Colors
- Buy Volume / Sell Volume: choose colors for buy and sell pressure.
- Baseline Bars (Base / x2 / x3): colors when the baseline is drawn as columns.
- Baseline Line (Base / x2 / x3): colors when the baseline is drawn as lines.
Limitations & best practices
This is a decision-support and visualization tool, not a buy/sell signal generator.
Best suited to markets where volume data is meaningful (e.g., index futures, liquid equities, liquid crypto).
The usefulness of any volume-based metric depends on the underlying data feed and instrument structure.
Always combine pressure and baseline context with your own strategy, risk management, and testing.
Originality
Most volume tools either show total volume only or compare it to a simple moving average. Dobrusky Pressure Core combines:
An intrabar buy/sell pressure split based on a gap-adjusted price range.
A median-based, configurable baseline built from session-specific data.
Session-aware behavior that keeps the baseline focused on Regular hours by default, with the option to incorporate Extended hours and force Regular data on higher timeframes.
The goal is to give traders a richer, session-aware view of participation and pressure that standard volume bars and simple SMA overlays don’t provide, while keeping everything transparent and open-source so users can review and adapt the logic. Indicator

Indicator

High Volume Candles Detector - Open Source CodeGreetings, fellow traders!
Throughout my trading career, I've been intrigued by the dynamic interplay between candlestick patterns and trading volume. This fascination led me to develop an open-source indicator to help illuminate these patterns for the broader trading community.
Upon researching the Public Library, I found that many indicators relating to candlestick/volume analysis are proprietary and not open-source. This discovery further fueled my commitment to contribute a free, accessible tool that traders of all levels can utilize in their technical analysis.
Thus, I am excited to present to you our High Volume Bars Indicator. A unique tool that I believe fills a gap in the Public Library. I truly hope you find it beneficial in your trading journey and that it empowers you to make more informed decisions.
Description:
The High Volume Bars Detector is designed to help traders identify bars with significantly higher volume than the average. Users can filter in the settings menu:
1) The length of the Simple Moving Average (SMA) for volume, allowing you to define the average volume over a specific number of bars.
2) The Volume Multiplier, a factor that determines how much greater the volume of a bar should be compared to the SMA to qualify as a high-volume bar.
3) The Lookback Period, a specified number of candles used as a comparative benchmark for identifying the highest volume.
4) If the Volume bar is green or red, so if the candle price is --> close > open or open > close
Examples to better understand the logic of the indicator:
1) Length of the Simple Moving Average (SMA) for Volume: This setting allows you to define the average volume over a specific number of bars. For instance, if you set the SMA length to 20, the indicator will calculate the average volume of the past 20 bars and use it as a baseline to identify high volume bars.
2) Volume Multiplier: This is a critical factor that determines the threshold for what constitutes a high-volume bar. If you set the volume multiplier to 2.0, for example, the indicator will flag any bar where the volume is twice the value of the SMA volume as a high-volume bar.
3) Lookback Period: This setting lets you specify the number of candles that the indicator should consider when determining the highest volume. For instance, if the lookback period is set to 14, the indicator will compare the volume of the current bar with the volumes of the previous 14 bars. If the current bar's volume is the highest, it will be flagged.
4) Volume Bar Color: This filter helps you identify whether a high-volume bar is bullish or bearish. If the bar is green (close > open), it suggests buyers were dominant during that period. If the bar is red (open > close), it suggests sellers had the upper hand. By setting this filter, you can choose to focus on high volume bars that are either bullish (green) or bearish (red) or both, depending on your trading strategy.
Remember, these filters offer a level of customization that allows you to tailor the High Volume Bars Detector to your unique trading style and requirements. Always remember to adapt these settings to align with your overall trading plan and risk tolerance.
Keep attention!
It is important to note that no trading indicator or strategy is foolproof, and there is always a risk of losses in trading. While this indicator may provide useful information for making conclusions, it should not be used as the sole basis for making trading decisions. Traders should always use proper risk management techniques and consider multiple factors when making trading decisions.
Support me:)
If you find this new indicator helpful in your trading analysis, I would greatly appreciate your support! Please consider giving it a like, leaving feedback, or sharing it with your trading network. Your engagement will not only help me improve this tool but will also help other traders discover it and benefit from its features. Thank you for your support! Indicator

Indicator

Indicator
