Diamond Peaks [EdgeTerminal]The Diamond Peaks indicator is a comprehensive technical analysis tool that uses a few mathematical models to identify high-probability trading opportunities. This indicator goes beyond traditional support and resistance identification by incorporating volume analysis, momentum divergences, advanced price action patterns, and market sentiment indicators to generate premium-quality buy and sell signals.
Dynamic Support/Resistance Calculation
The indicator employs an adaptive algorithm that calculates support and resistance levels using a volatility-adjusted lookback period. The base calculation uses ta.highest(length) and ta.lowest(length) functions, where the length parameter is dynamically adjusted using the formula: adjusted_length = base_length * (1 + (volatility_ratio - 1) * volatility_factor). The volatility ratio is computed as current_ATR / average_ATR over a 50-period window, ensuring the lookback period expands during volatile conditions and contracts during calm periods. This mathematical approach prevents the indicator from using fixed periods that may become irrelevant during different market regimes.
Momentum Divergence Detection Algorithm
The divergence detection system uses a mathematical comparison between price series and oscillator values over a specified lookback period. For bullish divergences, the algorithm identifies when recent_low < previous_low while simultaneously indicator_at_recent_low > indicator_at_previous_low. The inverse logic applies to bearish divergences. The system tracks both RSI (calculated using Pine Script's standard ta.rsi() function with Wilder's smoothing) and MACD (using ta.macd() with exponential moving averages). The mathematical rigor ensures that divergences are only flagged when there's a clear mathematical relationship between price momentum and the underlying oscillator momentum, eliminating false signals from minor price fluctuations.
Volume Analysis Mathematical Framework
The volume analysis component uses multiple mathematical transformations to assess market participation. The Cumulative Volume Delta (CVD) is calculated as ∑(buying_volume - selling_volume) where buying_volume occurs when close > open and selling_volume when close < open. The relative volume calculation uses current_volume / ta.sma(volume, period) to normalize current activity against historical averages. Volume Rate of Change employs ta.roc(volume, period) = (current_volume - volume ) / volume * 100 to measure volume acceleration. Large trade detection uses a threshold multiplier against the volume moving average, mathematically identifying institutional activity when relative_volume > threshold_multiplier.
Advanced Price Action Mathematics
The Wyckoff analysis component uses mathematical volume climax detection by comparing current volume against ta.highest(volume, 50) * 0.8, while price compression is measured using (high - low) < ta.atr(20) * 0.5. Liquidity sweep detection employs percentage-based calculations: bullish sweeps occur when low < recent_low * (1 - threshold_percentage/100) followed by close > recent_low. Supply and demand zones are mathematically validated by tracking subsequent price action over a defined period, with zone strength calculated as the count of bars where price respects the zone boundaries. Fair value gaps are identified using ATR-based thresholds: gap_size > ta.atr(14) * 0.5.
Sentiment and Market Regime Mathematics
The sentiment analysis employs a multi-factor mathematical model. The fear/greed index uses volatility normalization: 100 - min(100, stdev(price_changes, period) * scaling_factor). Market regime classification uses EMA crossover mathematics with additional ADX-based trend strength validation. The trend strength calculation implements a modified ADX algorithm: DX = |+DI - -DI| / (+DI + -DI) * 100, then ADX = RMA(DX, period). Bull regime requires short_EMA > long_EMA AND ADX > 25 AND +DI > -DI. The mathematical framework ensures objective regime classification without subjective interpretation.
Confluence Scoring Mathematical Model
The confluence scoring system uses a weighted linear combination: Score = (divergence_component * 0.25) + (volume_component * 0.25) + (price_action_component * 0.25) + (sentiment_component * 0.25) + contextual_bonuses. Each component is normalized to a 0-100 scale using percentile rankings and threshold comparisons. The mathematical model ensures that no single component can dominate the score, while contextual bonuses (regime alignment, volume confirmation, etc.) provide additional mathematical weight when multiple factors align. The final score is bounded using math.min(100, math.max(0, calculated_score)) to maintain mathematical consistency.
Vitality Field Mathematical Implementation
The vitality field uses a multi-factor scoring algorithm that combines trend direction (EMA crossover: trend_score = fast_EMA > slow_EMA ? 1 : -1), momentum (RSI-based: momentum_score = RSI > 50 ? 1 : -1), MACD position (macd_score = MACD_line > 0 ? 1 : -1), and volume confirmation. The final vitality score uses weighted mathematics: vitality_score = (trend * 0.4) + (momentum * 0.3) + (macd * 0.2) + (volume * 0.1). The field boundaries are calculated using ATR-based dynamic ranges: upper_boundary = price_center + (ATR * user_defined_multiplier), with EMA smoothing applied to prevent erratic boundary movements. The gradient effect uses mathematical transparency interpolation across multiple zones.
Signal Generation Mathematical Logic
The signal generation employs boolean algebra with multiple mathematical conditions that must simultaneously evaluate to true. Buy signals require: (confluence_score ≥ threshold) AND (divergence_detected = true) AND (relative_volume > 1.5) AND (volume_ROC > 25%) AND (RSI < 35) AND (trend_strength > minimum_ADX) AND (regime = bullish) AND (cooldown_expired = true) AND (last_signal ≠ buy). The mathematical precision ensures that signals only generate when all quantitative conditions are met, eliminating subjective interpretation. The cooldown mechanism uses bar counting mathematics: bars_since_last_signal = current_bar_index - last_signal_bar_index ≥ cooldown_period. This mathematical framework provides objective, repeatable signal generation that can be backtested and validated statistically.
This mathematical foundation ensures the indicator operates on objective, quantifiable principles rather than subjective interpretation, making it suitable for algorithmic trading and systematic analysis while maintaining transparency in its computational methodology.
* for now, we're planning to keep the source code private as we try to improve the models used here and allow a small group to test them. My goal is to eventually use the multiple models in this indicator as their own free and open source indicators. If you'd like to use this indicator, please send me a message to get access.
Advanced Confluence Scoring System
Each support and resistance level receives a comprehensive confluence score (0-100) based on four weighted components:
Momentum Divergences (25% weight)
RSI and MACD divergence detection
Identifies momentum shifts before price reversals
Bullish/bearish divergence confirmation
Volume Analysis (25% weight)
Cumulative Volume Delta (CVD) analysis
Volume Rate of Change monitoring
Large trade detection (institutional activity)
Volume profile strength assessment
Advanced Price Action (25% weight)
Supply and demand zone identification
Liquidity sweep detection (stop hunts)
Wyckoff accumulation/distribution patterns
Fair value gap analysis
Market Sentiment (25% weight)
Fear/Greed index calculation
Market regime classification (Bull/Bear/Sideways)
Trend strength measurement (ADX-like)
Momentum regime alignment
Dynamic Support and Resistance Detection
The indicator uses an adaptive algorithm to identify significant support and resistance levels based on recent market highs and lows. Unlike static levels, these zones adjust dynamically to market volatility using the Average True Range (ATR), ensuring the levels remain relevant across different market conditions.
Vitality Field Background
The indicator features a unique vitality field that provides instant visual feedback about market sentiment:
Green zones: Bullish market conditions with strong momentum
Red zones: Bearish market conditions with weak momentum
Gray zones: Neutral/sideways market conditions
The vitality field uses a sophisticated gradient system that fades from the center outward, creating a clean, professional appearance that doesn't overwhelm the chart while providing valuable context.
Buy Signals (🚀 BUY)
Buy signals are generated when ALL of the following conditions are met:
Valid support level with confluence score ≥ 80
Bullish momentum divergence detected (RSI or MACD)
Volume confirmation (1.5x average volume + 25% volume ROC)
Bull market regime environment
RSI below 35 (oversold conditions)
Price action confirmation (Wyckoff accumulation, liquidity sweep, or large buying volume)
Minimum trend strength (ADX > 25)
Signal alternation check (prevents consecutive buy signals)
Cooldown period expired (default 10 bars)
Sell Signals (🔻 SELL)
Sell signals are generated when ALL of the following conditions are met:
Valid resistance level with confluence score ≥ 80
Bearish momentum divergence detected (RSI or MACD)
Volume confirmation (1.5x average volume + 25% volume ROC)
Bear market regime environment
RSI above 65 (overbought conditions)
Price action confirmation (Wyckoff distribution, liquidity sweep, or large selling volume)
Minimum trend strength (ADX > 25)
Signal alternation check (prevents consecutive sell signals)
Cooldown period expired (default 10 bars)
How to Use the Indicator
1. Signal Quality Assessment
Monitor the confluence scores in the information table:
Score 90-100: Exceptional quality levels (A+ grade)
Score 80-89: High quality levels (A grade)
Score 70-79: Good quality levels (B grade)
Score below 70: Weak levels (filtered out by default)
2. Market Context Analysis
Use the vitality field and market regime information to understand the broader market context:
Trade buy signals in green vitality zones during bull regimes
Trade sell signals in red vitality zones during bear regimes
Exercise caution in gray zones (sideways markets)
3. Entry and Exit Strategy
For Buy Signals:
Enter long positions when premium buy signals appear
Place stop loss below the support confluence zone
Target the next resistance level or use a risk/reward ratio of 2:1 or higher
For Sell Signals:
Enter short positions when premium sell signals appear
Place stop loss above the resistance confluence zone
Target the next support level or use a risk/reward ratio of 2:1 or higher
4. Risk Management
Only trade signals with confluence scores above 80
Respect the signal alternation system (no overtrading)
Use appropriate position sizing based on signal quality
Consider the overall market regime before taking trades
Customizable Settings
Signal Generation Controls
Signal Filtering: Enable/disable advanced filtering
Confluence Threshold: Adjust minimum score requirement (70-95)
Cooldown Period: Set bars between signals (5-50)
Volume/Momentum Requirements: Toggle confirmation requirements
Trend Strength: Minimum ADX requirement (15-40)
Vitality Field Options
Enable/Disable: Control background field display
Transparency Settings: Adjust opacity for center and edges
Field Size: Control the field boundaries (3.0-20.0)
Color Customization: Set custom colors for bullish/bearish/neutral states
Weight Adjustments
Divergence Weight: Adjust momentum component influence (10-40%)
Volume Weight: Adjust volume component influence (10-40%)
Price Action Weight: Adjust price action component influence (10-40%)
Sentiment Weight: Adjust sentiment component influence (10-40%)
Best Practices
Always wait for complete signal confirmation before entering trades
Use higher timeframes for signal validation and context
Combine with proper risk management and position sizing
Monitor the information table for real-time market analysis
Pay attention to volume confirmation for higher probability trades
Respect market regime alignment for optimal results
Basic Settings
Base Length (Default: 25)
Controls the lookback period for identifying support and resistance levels
Range: 5-100 bars
Lower values = More responsive, shorter-term levels
Higher values = More stable, longer-term levels
Recommendation: 25 for intraday, 50 for swing trading
Enable Adaptive Length (Default: True)
Automatically adjusts the base length based on market volatility
When enabled, length increases in volatile markets and decreases in calm markets
Helps maintain relevant levels across different market conditions
Volatility Factor (Default: 1.5)
Controls how much the adaptive length responds to volatility changes
Range: 0.5-3.0
Higher values = More aggressive length adjustments
Lower values = More conservative length adjustments
Volume Profile Settings
VWAP Length (Default: 200)
Sets the calculation period for the Volume Weighted Average Price
Range: 50-500 bars
Shorter periods = More responsive to recent price action
Longer periods = More stable reference line
Used for volume profile analysis and confluence scoring
Volume MA Length (Default: 50)
Period for calculating the volume moving average baseline
Range: 10-200 bars
Used to determine relative volume (current volume vs. average)
Shorter periods = More sensitive to volume changes
Longer periods = More stable volume baseline
High Volume Node Threshold (Default: 1.5)
Multiplier for identifying significant volume spikes
Range: 1.0-3.0
Values above this threshold mark high-volume nodes with diamond shapes
Lower values = More frequent high-volume signals
Higher values = Only extreme volume events marked
Momentum Divergence Settings
Enable Divergence Detection (Default: True)
Master switch for momentum divergence analysis
When disabled, removes divergence from confluence scoring
Significantly impacts signal generation quality
RSI Length (Default: 14)
Period for RSI calculation used in divergence detection
Range: 5-50
Standard RSI settings apply (14 is most common)
Shorter periods = More sensitive, more signals
Longer periods = Smoother, fewer but more reliable signals
MACD Settings
Fast (Default: 12): Fast EMA period for MACD calculation (5-50)
Slow (Default: 26): Slow EMA period for MACD calculation (10-100)
Signal (Default: 9): Signal line EMA period (3-20)
Standard MACD settings for divergence detection
Divergence Lookback (Default: 5)
Number of bars to look back when detecting divergences
Range: 3-20
Shorter periods = More frequent divergence signals
Longer periods = More significant divergence signals
Volume Analysis Enhancement Settings
Enable Advanced Volume Analysis (Default: True)
Master control for sophisticated volume calculations
Includes CVD, volume ROC, and large trade detection
Critical for signal accuracy
Cumulative Volume Delta Length (Default: 20)
Period for CVD smoothing calculation
Range: 10-100
Tracks buying vs. selling pressure over time
Shorter periods = More reactive to recent flows
Longer periods = Broader trend perspective
Volume ROC Length (Default: 10)
Period for Volume Rate of Change calculation
Range: 5-50
Measures volume acceleration/deceleration
Key component in volume confirmation requirements
Large Trade Volume Threshold (Default: 2.0)
Multiplier for identifying institutional-size trades
Range: 1.5-5.0
Trades above this threshold marked as large trades
Lower values = More frequent large trade signals
Higher values = Only extreme institutional activity
Advanced Price Action Settings
Enable Wyckoff Analysis (Default: True)
Activates simplified Wyckoff accumulation/distribution detection
Identifies potential smart money positioning
Important for high-quality signal generation
Enable Supply/Demand Zones (Default: True)
Identifies fresh supply and demand zones
Tracks zone strength based on subsequent price action
Enhances confluence scoring accuracy
Enable Liquidity Analysis (Default: True)
Detects liquidity sweeps and stop hunts
Identifies fake breakouts vs. genuine moves
Critical for avoiding false signals
Zone Strength Period (Default: 20)
Bars used to assess supply/demand zone strength
Range: 10-50
Longer periods = More thorough zone validation
Shorter periods = Faster zone assessment
Liquidity Sweep Threshold (Default: 0.5%)
Percentage move required to confirm liquidity sweep
Range: 0.1-2.0%
Lower values = More sensitive sweep detection
Higher values = Only significant sweeps detected
Sentiment and Flow Settings
Enable Sentiment Analysis (Default: True)
Master control for market sentiment calculations
Includes fear/greed index and regime classification
Important for market context assessment
Fear/Greed Period (Default: 20)
Calculation period for market sentiment indicator
Range: 10-50
Based on price volatility and momentum
Shorter periods = More reactive sentiment readings
Momentum Regime Length (Default: 50)
Period for determining overall market regime
Range: 20-100
Classifies market as Bull/Bear/Sideways
Longer periods = More stable regime classification
Trend Strength Length (Default: 30)
Period for ADX-like trend strength calculation
Range: 10-100
Measures directional momentum intensity
Used in signal filtering requirements
Advanced Signal Generation Settings
Enable Signal Filtering (Default: True)
Master control for premium signal generation system
When disabled, uses basic signal conditions
Highly recommended to keep enabled
Minimum Signal Confluence Score (Default: 80)
Required confluence score for signal generation
Range: 70-95
Higher values = Fewer but higher quality signals
Lower values = More frequent but potentially lower quality signals
Signal Cooldown (Default: 10 bars)
Minimum bars between signals of same type
Range: 5-50
Prevents signal spam and overtrading
Higher values = More conservative signal spacing
Require Volume Confirmation (Default: True)
Mandates volume requirements for signal generation
Requires 1.5x average volume + 25% volume ROC
Critical for signal quality
Require Momentum Confirmation (Default: True)
Mandates divergence detection for signals
Ensures momentum backing for directional moves
Essential for high-probability setups
Minimum Trend Strength (Default: 25)
Required ADX level for signal generation
Range: 15-40
Ensures signals occur in trending markets
Higher values = Only strong trending conditions
Confluence Scoring Settings
Minimum Confluence Score (Default: 70)
Threshold for displaying support/resistance levels
Range: 50-90
Levels below this score are filtered out
Higher values = Only strongest levels shown
Component Weights (Default: 25% each)
Divergence Weight: Momentum component influence (10-40%)
Volume Weight: Volume analysis influence (10-40%)
Price Action Weight: Price patterns influence (10-40%)
Sentiment Weight: Market sentiment influence (10-40%)
Must total 100% for balanced scoring
Vitality Field Settings
Enable Vitality Field (Default: True)
Controls the background gradient field display
Provides instant visual market sentiment feedback
Enhances chart readability and context
Vitality Center Transparency (Default: 85%)
Opacity at the center of the vitality field
Range: 70-95%
Lower values = More opaque center
Higher values = More transparent center
Vitality Edge Transparency (Default: 98%)
Opacity at the edges of the vitality field
Range: 95-99%
Creates smooth fade effect from center to edges
Higher values = More subtle edge appearance
Vitality Field Size (Default: 8.0)
Controls the overall size of the vitality field
Range: 3.0-20.0
Based on ATR multiples for dynamic sizing
Lower values = Tighter field around price
Higher values = Broader field coverage
Recommended Settings by Trading Style
Scalping (1-5 minutes)
Base Length: 15
Volume MA Length: 20
Signal Cooldown: 5 bars
Vitality Field Size: 5.0
Higher sensitivity for quick moves
Day Trading (15-60 minutes)
Base Length: 25 (default)
Volume MA Length: 50 (default)
Signal Cooldown: 10 bars (default)
Vitality Field Size: 8.0 (default)
Balanced settings for intraday moves
Swing Trading (4H-Daily)
Base Length: 50
Volume MA Length: 100
Signal Cooldown: 20 bars
Vitality Field Size: 12.0
Longer-term perspective for multi-day moves
Conservative Trading
Minimum Signal Confluence: 85
Minimum Confluence Score: 80
Require all confirmations: True
Higher thresholds for maximum quality
Aggressive Trading
Minimum Signal Confluence: 75
Minimum Confluence Score: 65
Signal Cooldown: 5 bars
Lower thresholds for more opportunities
在脚本中搜索"volume profile"
Volume Weighted Regression ChannelThis indicator constructs a volume-weighted linear regression channel over a custom time range.
It’s conceptually similar to a Volume Profile, but instead of projecting horizontal value zones, it builds a tilted trend channel that reflects both price direction and volume concentration.
🧠 Core Features:
Volume-weighted points: Each candle contributes to the regression line proportionally to its volume — heavier candles shift the channel toward high-activity price zones.
Linear regression line: Shows the trend direction within the selected time interval.
±σ boundaries: Outer bands represent the standard deviation of price (also volume-weighted), highlighting statistical dispersion.
Fully customizable: Adjustable line styles, widths, and channel width (sigma multiplier).
Time window control: Select any start and end time to define the regression interval.
📊 Why use this instead of Volume Profile?
While Volume Profile shows horizontal distributions of traded volume, this indicator is ideal when:
You want to understand how volume clusters affect trend direction, not just price levels.
You're analyzing time-dependent flow rather than static price zones.
You're looking for a dynamic volume-adjusted channel that moves with the market's structure.
It’s especially useful in identifying volume-supported trends, hidden pullback zones, and statistical extremes.
⚙️ Notes:
Works on any timeframe and instrument.
Does not repaint.
Does not require volume profile data feeds — uses standard volume and hl2.
Order Block Matrix [Alpha Extract]The Order Block Matrix indicator identifies and visualizes key supply and demand zones on your chart, helping traders recognize potential reversal points and high-probability trading setups.
This tool helps traders:
Visualize key order blocks with volume profile histograms showing liquidity distribution.
Identify high-volume price levels where institutional activity occurs.
rank historical order blocks and analyze their strength based on volume.
Receive alerts for potential trading opportunities based on price-block interactions.
🔶 CALCULATION
The indicator processes chart data to identify and analyze order blocks:
Order Block Detection
Inputs:
Price action patterns (consolidation areas followed by breakouts).
Volume data from current and lower timeframes.
User-defined lookback periods and thresholds.
Detection Logic:
Identifies consolidation areas using a dynamic range comparison.
Confirms breakout patterns with percentage threshold validation.
Maps volume distribution across price levels within each order block.
🔶Volume Analysis
Volume Profiling:
Divides each order block into configurable grid segments.
Maps volume distribution across price segments within blocks.
Highlights zones with highest volume concentration.
Strength Assessment:
Calculates total block volume and relative strength metrics.
Compares block volume to historical averages.
Determines probability of reversal based on volume patterns.
isConsolidation(len) =>
high_range = ta.highest(high, len) - ta.lowest(high, len)
low_range = ta.highest(low, len) - ta.lowest(low, len)
avg_range = (high_range + low_range) / 2
current_range = high - low
current_range <= avg_range * (1 + obThreshold)
🔶 DETAILS
Visual Features
Volume Profile Histograms:
Color-coded bars showing volume concentration within order blocks.
Gradient coloring based on relative volume (high volume = brighter colors).
Bull blocks (green/teal) and bear blocks (red) with varying opacity.
Block Visualization:
Dynamic box sizing based on volume concentration.
Optional block borders and background fills.
Volume labels showing total block volume.
Screener Table:
Real-time analysis of order block metrics.
Shows block direction, proximity, retest count, and volume metrics.
Color-coded for quick reference.
Interpretation
High Volume Areas: Zones with institutional interest and potential reversal points.
Block Direction: Bullish blocks typically support price, bearish blocks typically resist price.
Retests: Multiple tests of an order block may strengthen or weaken its influence.
Block Age: Newer blocks often have stronger influence than older ones.
Volume Concentration: Brightest segments within blocks represent the highest volume areas.
🔶 EXAMPLES
The indicator helps identify key trading opportunities:
Bullish Order Blocks
Support Zones: Identify strong support levels where price is likely to bounce.
Breakout Confirmation: Validate breakouts with volume analysis to avoid false moves.
Retest Strategies: Enter trades when price retests a bullish order block with high volume.
Bearish Order Blocks
Resistance Zones: Identify strong resistance levels where price is likely to reverse.
Distribution Areas: Detect zones where smart money is distributing to retail.
Short Opportunities: Find optimal short entry points at high-volume bearish blocks.
Combined Strategies
Order Block Stacking: Multiple aligned blocks create stronger support/resistance zones.
Block Mitigation: When price breaks through a block, it often indicates a strong trend continuation.
Volume Profile Applications: Higher volume segments provide more precise entry and exit points.
🔶 SETTINGS
Customization Options
Order Block Detection:
Consolidation Lookback: Adjust the period for consolidation detection.
Breakout Threshold: Set minimum percentage for breakout confirmation.
Historical Lookback Limit: Control how far back to scan for historical order blocks.
Maximum Order Blocks: Limit the number of visible blocks on the chart.
Visual Style:
Grid Segments: Adjust the number of volume profile segments.
Extend Blocks to Right: Enable/disable extending blocks to current price.
Show Block Borders: Toggle border visibility.
Border Width: Adjust thickness of block borders.
Show Volume Text: Enable/disable volume labels.
Volume Text Position: Control placement of volume labels.
Color Settings:
Bullish High/Low Volume Colors: Customize appearance of bullish blocks.
Bearish High/Low Volume Colors: Customize appearance of bearish blocks.
Border Color: Set color for block outlines.
Background Fill: Adjust color and transparency of block backgrounds.
Volume Text Color: Customize label appearance.
Screener Table:
Show Screener Table: Toggle table visibility.
Table Position: Select positioning on the chart.
Table Size: Adjust display size.
The Order Block Matrix indicator provides traders with powerful insights into market structure, helping to identify key levels where smart money is active and where high-probability trading opportunities may exist.
Multiple AVWAP [OmegaTools]The Multiple AVWAP indicator is a sophisticated trading tool designed for professional traders who require precision in volume-weighted price tracking. This indicator allows for the deployment of multiple Anchored Volume Weighted Average Price (AVWAP) calculations simultaneously, offering deep insights into price movements, dynamic support and resistance levels, and trend structures across multiple timeframes.
This indicator caters to both institutional and retail traders by integrating flexible anchoring methods, multi-timeframe adaptability, and enhanced visualization features. It also includes deviation bands for statistical analysis, making it a comprehensive volume-based trading solution.
Key Features & Functionalities
1. Multiple AVWAP Configurations
Users can configure up to four distinct AVWAP calculations to track different market conditions.
Supports various anchoring methods:
Fixed: A traditional AVWAP that starts from a defined historical point.
Perpetual: A rolling VWAP that continuously adjusts over time.
Extension: An extension-based AVWAP that projects from past calculations.
High Volume: Anchors AVWAP to the highest volume bar within a specified period.
None: Option to disable AVWAP calculation if not required.
2. Advanced Deviation Bands
Implements standard deviation bands (1st and 2nd deviation) to provide a statistical measure of price dispersion from the AVWAP.
Serves as a dynamic method for identifying overbought and oversold conditions relative to VWAP pricing.
Deviation bands are customizable in terms of visibility, color, and transparency.
3. Multi-Timeframe Support
Users can assign different timeframes to each AVWAP calculation for macro and micro analysis.
Helps in identifying long-term institutional trading levels alongside short-term intraday trends.
4. Z-Score Normalization Mode
Option to standardize oscillator values based on AVWAP deviations.
Converts price movements into a statistical Z-score, allowing traders to measure price strength in a normalized range.
Helps in detecting extreme price dislocations and mean-reversion opportunities.
5. Customizable Visual & Aesthetic Settings
Fully customizable line colors, transparency, and thickness to enhance clarity.
Users can modify AVWAP and deviation band colors to distinguish between different levels.
Configurable display options to match personal trading preferences.
6. Oscillator Mode for Trend & Momentum Analysis
The indicator converts price deviations into an oscillator format, displaying AVWAP strength and weakness dynamically.
This provides traders with a momentum-based perspective on volume-weighted price movements.
User Guide & Implementation
1. Configuring AVWAPs for Optimal Use
Choose the mode for each AVWAP instance:
Fixed (set historical point)
Perpetual (rolling, continuously updated AVWAP)
Extension (projection from past AVWAP levels)
High Volume (anchored to highest volume bar)
None (disables the AVWAP line)
Adjust the length settings to fine-tune calculation sensitivity.
2. Utilizing Deviation Bands for Market Context
Activate deviation bands to see statistical boundaries of price action.
Monitor +1 / -1 and +2 / -2 standard deviation levels for extended price movements.
Consider price action outside of deviation bands as potential mean-reversion signals.
3. Multi-Timeframe Analysis for Institutional-Level Insights
Assign different timeframes to each AVWAP to compare:
Daily VWAP (institutional trading levels)
Weekly VWAP (swing trading trends)
Intraday VWAPs (short-term momentum shifts)
Helps identify where institutional liquidity is positioned relative to price.
4. Activating the Oscillator for Momentum & Bias Confirmation
The oscillator converts AVWAP deviations into a normalized value.
Use overbought/oversold levels to determine strength and potential reversals.
Combine with other indicators (RSI, MACD) for confluence-based trading decisions.
Trading Applications & Strategies
5. Trend Confirmation & Institutional VWAP Tracking
If price consistently holds above the primary AVWAP, it signals a bullish trend.
If price remains below AVWAP, it indicates selling pressure and a bearish trend.
Monitor retests of AVWAP levels for potential trend continuation or reversal.
6. Dynamic Support & Resistance Levels
AVWAP lines act as dynamic floating support and resistance zones.
Price bouncing off AVWAP suggests continuation, whereas breakdowns indicate a shift in momentum.
Look for confluence with high-volume zones for stronger trade signals.
7. Mean Reversion & Statistical Edge Trading
Prices that deviate beyond +2 or -2 standard deviations often revert toward AVWAP.
Mean reversion traders can fade extended moves and target AVWAP re-tests.
Helps in identifying exhaustion points in trending markets.
8. Institutional Liquidity & Volume Footprints
Institutions often execute large trades near VWAP zones, causing price reactions.
Tracking multi-timeframe AVWAP levels allows traders to anticipate key liquidity areas.
Use higher timeframe AVWAPs as macro support/resistance for swing trading setups.
9. Enhancing Momentum Trading with AVWAP Oscillator
The oscillator provides a momentum-based measure of AVWAP deviations.
Helps in confirming entry and exit timing for trend-following trades.
Useful for pairing with stochastic oscillators, MACD, or RSI to validate trade decisions.
Best Practices & Trading Tips
Use in Conjunction with Volume Analysis: Combine with volume profiles, OBV, or CVD for increased accuracy.
Adjust Timeframes Based on Trading Style: Scalpers can focus on short-term AVWAP, while swing traders benefit from weekly/daily AVWAP tracking.
Backtest Different AVWAP Configurations: Experiment with different anchoring methods and lookback periods to optimize trade performance.
Monitor Institutional Order Flow: Identify key VWAP zones where institutional traders may be active.
Use with Other Technical Indicators: Enhance trading confidence by integrating with moving averages, Bollinger Bands, or Fibonacci retracements.
Final Thoughts & Disclaimer
The Multiple AVWAP indicator provides a comprehensive approach to volume-weighted price tracking, making it ideal for professional traders. While this tool enhances market clarity and trade decision-making, it should be used as part of a well-rounded trading strategy with risk management principles in place.
This indicator is provided for informational and educational purposes only. Trading involves risk, and past performance is not indicative of future results. Always conduct your own analysis and due diligence before executing trades.
OmegaTools - Enhancing Market Clarity with Precision Indicators
Volatility Footprint CandlesVolatility Footprint is an innovative volume profile indicator that dynamically adapts to real-time market conditions, providing traders with a powerful tool to visualize and interpret market structure, order flow, and potential areas of support and resistance.
At its core, Volatility Footprint combines the concepts of market profile, volume analysis, and volatility measurement to create a unique and adaptive charting experience. The indicator intelligently adjusts its display based on the current market volatility, ensuring that traders always have a clear and readable chart, regardless of the instrument or timeframe they are analyzing.
The footprint chart is composed of a series of color-coded boxes, each representing a specific price level. The color of the box indicates whether there is a net buying or selling pressure at that level, while the opacity reflects the relative strength of the volume. This intuitive visualization allows traders to quickly identify areas of high and low volume, as well as potential imbalances in order flow.
In addition to the individual box volumes, Volatility Footprint also calculates and displays the cumulative volume delta. This running total of buy and sell volumes across all price levels provides valuable insight into the overall market sentiment and potential trends.
One of the key features of Volatility Footprint is its ability to identify and highlight the Point of Control (POC). The POC represents the price level with the highest volume concentration and serves as a key reference point for potential support or resistance. By drawing attention to this crucial level, the indicator helps traders make more informed decisions about potential entry and exit points.
Volatility Footprint is designed to be highly customizable, allowing traders to tailor the appearance of the footprint chart to their specific preferences. Users can easily modify the colors, opacity, and size of the boxes, labels, and POC marker to enhance readability and clarity.
The indicator's versatility makes it suitable for a wide range of trading styles and strategies. Whether you are a scalper looking for short-term opportunities or a swing trader aiming to identify potential trend reversals, Volatility Footprint can provide valuable insights into market dynamics.
By combining Volatility Footprint with other forms of analysis, such as price action, key levels, and technical indicators, traders can gain a more comprehensive understanding of market behavior and make better-informed trading decisions.
Volatility Footprint's adaptive approach to volume profile analysis sets it apart from traditional fixed-resolution volume profile indicators. By dynamically adjusting to the unique characteristics of each instrument and timeframe, the indicator ensures that traders always have a clear and meaningful representation of market structure and order flow.
Volatility Footprint is a powerful tool that traders can incorporate into their market analysis and decision-making process. By providing a dynamic, visual representation of volume and order flow at different price levels, this indicator offers valuable insights into market structure, sentiment, and potential areas of support and resistance. Let's explore how traders might effectively utilize Volatility Footprint in their trading approach.
1. Identifying Key Levels:
One of the primary uses of Volatility Footprint is to identify key price levels where significant trading activity has occurred. The color-coded boxes allow traders to quickly spot areas of high volume concentration, which may indicate potential support or resistance zones. For example, if a trader notices a cluster of boxes with high opacity at a specific price level, they may interpret this as a strong support or resistance area, depending on the prevailing market context. By paying attention to these key levels, traders can make more informed decisions about potential entry and exit points, as well as placement of stop-loss orders and profit targets.
2. Assessing Market Sentiment:
The cumulative volume delta feature of Volatility Footprint provides traders with a valuable gauge of overall market sentiment. By analyzing the running total of buy and sell volumes across all price levels, traders can gain insight into the dominant market forces at play. If the cumulative delta is significantly positive, it may suggest a bullish sentiment, as buying pressure has been consistently outpacing selling pressure. Conversely, a negative cumulative delta may indicate a bearish sentiment. Traders can use this information to confirm or question their bias and adjust their trading plan accordingly.
3. Confirming Breakouts and Trend Reversals:
Volatility Footprint can be particularly useful in confirming the strength and validity of breakouts and potential trend reversals. When a price level is breached, traders can refer to the footprint chart to assess the volume and order flow characteristics around that level. If the breakout is accompanied by a surge in volume and a clear imbalance between buying and selling pressure, it may suggest a strong and sustainable move. On the other hand, if the volume is relatively low or evenly distributed, the breakout may be less reliable. By using Volatility Footprint to confirm breakouts, traders can make more informed decisions about whether to enter or exit a trade, or to adjust their position size.
4. Detecting Imbalances and Potential Reversals:
Imbalances between buying and selling pressure at specific price levels can often precede significant market moves or reversals. Volatility Footprint makes it easy for traders to spot these imbalances visually. For instance, if a trader observes a price level with a significantly larger number of sell boxes compared to buy boxes, it may indicate a potential exhaustion point for a bullish trend, and a reversal might be imminent. Traders can use this information in conjunction with other technical analysis tools, such as trendlines, moving averages, or momentum oscillators, to identify high-probability trading opportunities.
5. Adapting to Market Conditions:
One of the key strengths of Volatility Footprint is its ability to dynamically adapt to the unique volatility characteristics of different instruments and timeframes. This adaptability ensures that the indicator remains relevant and informative across a wide range of market conditions. Traders can use Volatility Footprint to gauge the relative volatility and volume of a particular instrument or timeframe, and adjust their trading approach accordingly. For example, in a highly volatile market, traders may opt for wider stop-loss levels and smaller position sizes to account for the increased risk.
Incorporating Volatility Footprint into a trading strategy requires a combination of technical analysis, market understanding, and risk management. Traders should use this indicator as part of a comprehensive approach, combining it with other forms of analysis, such as price action, key levels, and technical indicators. By doing so, traders can gain a more complete picture of market dynamics and make better-informed trading decisions.
It's important to note that while Volatility Footprint provides valuable insights, it should not be relied upon as a standalone trading signal. Traders should always consider the broader market context, their risk tolerance, and their overall trading plan when making decisions based on the information provided by this indicator.
In conclusion, Volatility Footprint offers traders a dynamic and visually intuitive way to analyze market structure, volume, and order flow. By identifying key levels, assessing market sentiment, confirming breakouts, detecting imbalances, and adapting to market conditions, traders can leverage this powerful tool to make more informed and confident trading decisions. As with any technical analysis tool, Volatility Footprint should be used in conjunction with sound risk management principles and a well-defined trading strategy to maximize its effectiveness.
Key Levels Suite - By LeviathanThis is a comprehensive script, designed to display over 100 key price levels across multiple dimensions, including volume profile levels, HTF levels, VWAPs, SMAs/EMAs, market session levels, day of week levels and more. The indicator offers high flexibility in features, settings and visual appearance.
● The script organizes levels into six main categories:
Higher Timeframe (HTF) Levels
- Current and/or previous period: Open, High, Low, and Midpoint for Daily, Weekly, Monthly, Quarterly, and Yearly timeframes (eg. levels for current weekly high/low and previous weekly high/low).
- These levels provide a clear structure for identifying key support and resistance zones. Traders often use HTF levels to anticipate price reactions, such as bounces or rejections, at major highs and lows. For example, a price nearing the weekly high could signal an area of resistance.
VWAP Levels
- Current and/or previous period: VWAP and upper/lower standard deviations for Daily, Weekly, Monthly, Quarterly, and Yearly timeframes (eg. levels for current daily VWAP and previous weekly VWAP).
- VWAP levels give traders insight into whether the current price is above or below the fair market value for a given period. It’s often used as a reference point for trend direction or S/R. If the price remains above VWAP, the trend may be seen as bullish, while breaks below VWAP can suggest a shift toward bearish sentiment. Standard deviations help identify areas where the price may be overextended, offering opportunities for mean reversion trades.
Moving Average Levels
- EMA and SMA for three customizable lengths (eg. levels for 200 EMA, 50 EMA and 100 SMA).
- These levels act as dynamic support and resistance lines that adjust with price movement. Traders use them to confirm trend direction and watch for reactions around these levels, particularly in trending markets. For example, when the price pulls back to a 200 EMA, it could present an opportunity to enter a trade in line with the prevailing trend.
Volume Profile Levels
- Current and previous: Point of Control (POC), Value Area High (VAH), and Value Area Low (VAL) for Daily, Weekly, Monthly, Quarterly, and Yearly timeframes (eg. levels for current day POC and previous day POC).
- Volume Profile levels highlight price areas where significant trading occurred. The POC indicates the price where the most volume was traded and can act as a strong magnet for price. VAH and VAL mark the boundaries of value areas, making them excellent spots for breakout or mean reversion trades. Traders look for price reactions around these zones to either join or fade moves.
Market Session Levels
- Current and previous: Open, high, low, and midpoint for three user-defined sessions, with default being Tokyo, London, and New York (eg. levels for current New York session open and previous New York session high and low).
- Session levels allow traders to track how price behaves across different global market sessions. For instance, the New York open often brings increased liquidity and volatility. Traders often use these levels to anticipate sharp moves or continuations, especially after session highs and lows are broken, signaling shifts in market momentum.
Day of Week Levels
- Open, high, low, and midpoint for Monday through Sunday (eg. levels for Monday's high and low and Tuesday open).
- These levels help traders identify recurring intraday or intraweek price behaviors. For example, highs or lows established earlier in the week can serve as benchmarks for breakouts or retracements later on. Monday’s open or Friday’s high/low often reflect market sentiment going into or out of the weekend, providing valuable clues for planning trades.
● About the script
I published this script because it was heavily requested by my Tradingview followers who wanted a clean and feature-rich indicator that can display various levels they use in their analysis. The indicator can display levels that are not available in other similar public scripts and makes sure to calculate and load calculation-intensive levels (like volume profile levels, higher timeframe vwap levels, etc) as fast and efficiently as possible. It is one of the only scripts I've published that is not open source. The code is protected because it includes some proprietary calculations (eg: for POC/VAH/VAL), that I don't wish to open source, but I still want to publish a heavily requested script in a public and free format.
● How to use the script
1. Add the script to your chart
Start by adding the script to your chart like any other indicator.
2. Open the indicator settings
Click the settings icon to access all customization options.
3. Select which level groups to display
In the "Controls" section, choose which groups of levels (HTF, VWAP, Moving Averages, etc.) you want displayed. This allows you to quickly toggle between different sets of levels depending on your analysis needs, without overcrowding the chart.
4. Adjust group-specific settings
Scroll down to access detailed settings for each group. For any group, you can choose:
- The relevant time parameter (e.g., Daily, Weekly, Monthly, etc for HTF/VWAP/Volume Profile levels, length for Moving Average levels, day for Day of Week Levels, etc).
- Specific levels to display (e.g., Open/High/Low/Midpoint for HTF, VWAP, Day of Week, Session levels and POC/VAH/VAL for Volume Profile levels).
- For applicable groups, you can also toggle previous period levels by selecting them from the row starting with the "↳" icon.
5. Customize visual appearance
In the "Appearance" section, you have full control over how the levels and labels look. You can:
- Choose what details appear in the labels (e.g., level name, price, or percentage distance from current price).
- Pick from different line types, line style (solid, dashed, dotted), adjust line width, and manage the length of the lines using "Offset Right" and "Offset Left" settings.
- Modify font, label size, and color options. If multiple levels overlap at the same price, use the “Merge Levels” option to combine them into one, reducing visual clutter.
6. Customize level names to your preference
In the "Labels" section, you can rename any parameter to match your preferred abbreviations (e.g., change “Weekly Open” to “wO” or any other shorthand that works for you).
● Key Features:
- Display various different important levels, all in one indicator
- Seamless control of which group of levels / specific level to display
- Choose from various line and label styles to display levels.
- Labels can show the level's title (customizable abbreviations), price, and percentage distance from the current price.
- Merge nearby levels to reduce chart clutter, either for identical levels or those within a user-defined percentage range.
- Fully customizable visual appearance of levels to suit individual preferences.
Delta Volume Channels [LucF]█ OVERVIEW
This indicator displays on-chart visuals aimed at making the most of delta volume information. It can color bars and display two channels: one for delta volume, another calculated from the price levels of bars where delta volume divergences occur. Markers and alerts can also be configured using key conditions, and filtered in many different ways. The indicator caters to traders who prefer chart visuals over raw values. It will work on historical bars and in real time, using intrabar analysis to calculate delta volume in both conditions.
█ CONCEPTS
Delta Volume
The volume delta concept divides a bar's volume in "up" and "down" volumes. The delta is calculated by subtracting down volume from up volume. Many calculation techniques exist to isolate up and down volume within a bar. The simplest techniques use the polarity of interbar price changes to assign their volume to up or down slots, e.g., On Balance Volume or the Klinger Oscillator . Others such as Chaikin Money Flow use assumptions based on a bar's OHLC values. The most precise calculation method uses tick data and assigns the volume of each tick to the up or down slot depending on whether the transaction occurs at the bid or ask price. While this technique is ideal, it requires huge amounts of data on historical bars, which usually limits the historical depth of charts and the number of symbols for which tick data is available.
This indicator uses intrabar analysis to achieve a compromise between the simplest and most precise methods of calculating volume delta. In the context where historical tick data is not yet available on TradingView, intrabar analysis is the most precise technique to calculate volume delta on historical bars on our charts. TradingView's Volume Profile built-in indicators use it, as do the CVD - Cumulative Volume Delta Candles and CVD - Cumulative Volume Delta (Chart) indicators published from the TradingView account . My Volume Delta Columns Pro indicator also uses intrabar analysis. Other volume delta indicators such as my Realtime 5D Profile use realtime chart updates to achieve more precise volume delta calculations. Indicators of that type cannot be used on historical bars however; they only work in real time.
This is the logic I use to assign intrabar volume to up or down slots:
• If the intrabar's open and close values are different, their relative position is used.
• If the intrabar's open and close values are the same, the difference between the intrabar's close and the previous intrabar's close is used.
• As a last resort, when there is no movement during an intrabar and it closes at the same price as the previous intrabar, the last known polarity is used.
Once all intrabars making up a chart bar have been analyzed and the up or down property of each intrabar's volume determined, the up volumes are added and the down volumes subtracted. The resulting value is volume delta for that chart bar, which can be used as an estimate of the buying/selling pressure on an instrument.
Delta Volume Percent (DV%)
This value is the proportion that delta volume represents of the total intrabar volume in the chart bar. Note that on some symbols/timeframes, the total intrabar volume may differ from the chart's volume for a bar, but that will not affect our calculations since we use the total intrabar volume.
Delta Volume Channel
The DV channel is the space between two moving averages: the reference line and a DV%-weighted version of that reference. The reference line is a moving average of a type, source and length which you select. The DV%-weighted line uses the same settings, but it averages the DV%-weighted price source.
The weight applied to the source of the reference line is calculated from two values, which are multiplied: DV% and the relative size of the bar's volume in relation to previous bars. The effect of this is that DV% values on bars with higher total volume will carry greater weight than those with lesser volume.
The DV channel can be in one of four states, each having its corresponding color:
• Bull (teal): The DV%-weighted line is above the reference line.
• Strong bull (lime): The bull condition is fulfilled and the bar's close is above the reference line and both the reference and the DV%-weighted lines are rising.
• Bear (maroon): The DV%-weighted line is below the reference line.
• Strong bear (pink): The bear condition is fulfilled and the bar's close is below the reference line and both the reference and the DV%-weighted lines are falling.
Divergences
In the context of this indicator, a divergence is any bar where the slope of the reference line does not match that of the DV%-weighted line. No directional bias is assigned to divergences when they occur.
Divergence Channel
The divergence channel is the space between two levels (by default, the bar's low and high ) saved when divergences occur. When price has breached a channel and a new divergence occurs, a new channel is created. Until that new channel is breached, bars where additional divergences occur will expand the channel's levels if the bar's price points are outside the channel.
Prices breaches of the divergence channel will change its state. Divergence channels can be in one of five different states:
• Bull (teal): Price has breached the channel to the upside.
• Strong bull (lime): The bull condition is fulfilled and the DV channel is in the strong bull state.
• Bear (maroon): Price has breached the channel to the downside.
• Strong bear (pink): The bear condition is fulfilled and the DV channel is in the strong bear state.
• Neutral (gray): The channel has not been breached.
█ HOW TO USE THE INDICATOR
Load the indicator on an active chart (see here if you don't know how).
The default configuration displays:
• The DV channel, without the reference or DV%-weighted lines.
• The Divergence channel, without its level lines.
• Bar colors using the state of the DV channel.
The default settings use an Arnaud-Legoux moving average on the close and a length of 20 bars. The DV%-weighted version of it uses a combination of DV% and relative volume to calculate the ultimate weight applied to the reference. The DV%-weighted line is capped to 5 standard deviations of the reference. The lower timeframe used to access intrabars automatically adjusts to the chart's timeframe and achieves optimal balance between the number of intrabars inspected in each chart bar, and the number of chart bars covered by the script's calculations.
The Divergence channel's levels are determined using the high and low of the bars where divergences occur. Breaches of the channel require a bar's low to move above the top of the channel, and the bar's high to move below the channel's bottom.
No markers appear on the chart; if you want to create alerts from this script, you will need first to define the conditions that will trigger the markers, then create the alert, which will trigger on those same conditions.
To learn more about how to use this indicator, you must understand the concepts it uses and the information it displays, which requires reading this description. There are no videos to explain it.
█ FEATURES
The script's inputs are divided in four sections: "DV channel", "Divergence channel", "Other Visuals" and "Marker/Alert Conditions". The first setting is the selection method used to determine the intrabar precision, i.e., how many lower timeframe bars (intrabars) are examined in each chart bar. The more intrabars you analyze, the more precise the calculation of DV% results will be, but the less chart coverage can be covered by the script's calculations.
DV Channel
Here, you control the visibility and colors of the reference line, its weighted version, and the DV channel between them.
You also specify what type of moving average you want to use as a reference line, its source and length. This acts as the DV channel's baseline. The DV%-weighted line is also a moving average of the same type and length as the reference line, except that it will be calculated from the DV%-weighted source used in the reference line. By default, the DV%-weighted line is capped to five standard deviations of the reference line. You can change that value here. This section is also where you can disable the relative volume component of the weight.
Divergence Channel
This is where you control the appearance of the divergence channel and the key price values used in determining the channel's levels and breaching conditions. These choices have an impact on the behavior of the channel. More generous level prices like the default low and high selection will produce more conservative channels, as will the default choice for breach prices.
In this section, you can also enable a mode where an attempt is made to estimate the channel's bias before price breaches the channel. When it is enabled, successive increases/decreases of the channel's top and bottom levels are counted as new divergences occur. When one count is greater than the other, a bull/bear bias is inferred from it.
Other Visuals
You specify here:
• The method used to color chart bars, if you choose to do so.
• The display of a mark appearing above or below bars when a divergence occurs.
• If you want raw values to appear in tooltips when you hover above chart bars. The default setting does not display them, which makes the script faster.
• If you want to display an information box which by default appears in the lower left of the chart.
It shows which lower timeframe is used for intrabars, and the average number of intrabars per chart bar.
Marker/Alert Conditions
Here, you specify the conditions that will trigger up or down markers. The trigger conditions can include a combination of state transitions of the DV and the divergence channels. The triggering conditions can be filtered using a variety of conditions.
Configuring the marker conditions is necessary before creating an alert from this script, as the alert will use the marker conditions to trigger.
Markers only appear on bar closes, so they will not repaint. Keep in mind, when looking at markers on historical bars, that they are positioned on the bar when it closes — NOT when it opens.
Raw values
The raw values calculated by this script can be inspected using a tooltip and the Data Window. The tooltip is visible when you hover over the top of chart bars. It will display on the last 500 bars of the chart, and shows the values of DV, DV%, the combined weight, and the intermediary values used to calculate them.
█ INTERPRETATION
The aim of the DV channel is to provide a visual representation of the buying/selling pressure calculated using delta volume. The simplest characteristic of the channel is its bull/bear state. One can then distinguish between its bull and strong bull states, as transitions from strong bull to bull states will generally happen when buyers are losing steam. While one should not infer a reversal from such transitions, they can be a good place to tighten stops. Only time will tell if a reversal will occur. One or more divergences will often occur before reversals.
The nature of the divergence channel's design makes it particularly adept at identifying consolidation areas if its settings are kept on the conservative side. A gray divergence channel should usually be considered a no-trade zone. More adventurous traders can use the DV channel to orient their trade entries if they accept the risk of trading in a neutral divergence channel, which by definition will not have been breached by price.
If your charts are already busy with other stuff you want to hold on to, you could consider using only the chart bar coloring component of this indicator:
At its simplest, one way to use this indicator would be to look for overlaps of the strong bull/bear colors in both the DV channel and a divergence channel, as these identify points where price is breaching the divergence channel when buy/sell pressure is consistent with the direction of the breach. I have highlighted all those points in the chart below. Not all of them would have produced profitable trades, but nothing is perfect in the markets. Also, keep in mind that the circles identify the visual you would be looking for — not the trade's entry level.
█ LIMITATIONS
• The script will not work on symbols where no volume is available. An error will appear when that is the case.
• Because a maximum of 100K intrabars can be analyzed by a script, a compromise is necessary between the number of intrabars analyzed per chart bar
and chart coverage. The more intrabars you analyze per chart bar, the less coverage you will obtain.
The setting of the "Intrabar precision" field in the "DV channel" section of the script's inputs
is where you control how the lower timeframe is calculated from the chart's timeframe.
█ NOTES
Volume Quality
If you use volume, it's important to understand its nature and quality, as it varies with sectors and instruments. My Volume X-ray indicator is one way you can appraise the quality of an instrument's intraday volume.
For Pine Script™ Coders
• This script uses the new overload of the fill() function which now makes it possible to do vertical gradients in Pine. I use it for both channels displayed by this script.
• I use the new arguments for plot() 's `display` parameter to control where the script plots some of its values,
namely those I only want to appear in the script's status line and in the Data Window.
• I wrote my script using the revised recommendations in the Style Guide from the Pine v5 User Manual.
█ THANKS
To PineCoders . I have used their lower_tf library in this script, to manage the calculation of the LTF and intrabar stats, and their Time library to convert a timeframe in seconds to a printable form for its display in the Information box.
To TradingView's Pine Script™ team. Their innovations and improvements, big and small, constantly expand the boundaries of the language. What this script does would not have been possible just a few months back.
And finally, thanks to all the users of my scripts who take the time to comment on my publications and suggest improvements. I do not reply to all but I do read your comments and do my best to implement your suggestions with the limited time that I have.
CVD - Cumulative Volume Delta Candles█ OVERVIEW
This indicator displays cumulative volume delta in candle form. It uses intrabar information to obtain more precise volume delta information than methods using only the chart's timeframe.
█ CONCEPTS
Bar polarity
By bar polarity , we mean the direction of a bar, which is determined by looking at the bar's close vs its open .
Intrabars
Intrabars are chart bars at a lower timeframe than the chart's. Each 1H chart bar of a 24x7 market will, for example, usually contain 60 bars at the lower timeframe of 1min, provided there was market activity during each minute of the hour. Mining information from intrabars can be useful in that it offers traders visibility on the activity inside a chart bar.
Lower timeframes (LTFs)
A lower timeframe is a timeframe that is smaller than the chart's timeframe. This script uses a LTF to access intrabars. The lower the LTF, the more intrabars are analyzed, but the less chart bars can display CVD information because there is a limit to the total number of intrabars that can be analyzed.
Volume delta
The volume delta concept divides a bar's volume in "up" and "down" volumes. The delta is calculated by subtracting down volume from up volume. Many calculation techniques exist to isolate up and down volume within a bar. The simplest techniques use the polarity of interbar price changes to assign their volume to up or down slots, e.g., On Balance Volume or the Klinger Oscillator . Others such as Chaikin Money Flow use assumptions based on a bar's OHLC values. The most precise calculation method uses tick data and assigns the volume of each tick to the up or down slot depending on whether the transaction occurs at the bid or ask price. While this technique is ideal, it requires huge amounts of data on historical bars, which usually limits the historical depth of charts and the number of symbols for which tick data is available.
This indicator uses intrabar analysis to achieve a compromise between the simplest and most precise methods of calculating volume delta. In the context where historical tick data is not yet available on TradingView, intrabar analysis is the most precise technique to calculate volume delta on historical bars on our charts. Our Volume Profile indicators use it. Other volume delta indicators in our Community Scripts such as the Realtime 5D Profile use realtime chart updates to achieve more precise volume delta calculations, but that method cannot be used on historical bars, so those indicators only work in real time.
This is the logic we use to assign intrabar volume to up or down slots:
• If the intrabar's open and close values are different, their relative position is used.
• If the intrabar's open and close values are the same, the difference between the intrabar's close and the previous intrabar's close is used.
• As a last resort, when there is no movement during an intrabar and it closes at the same price as the previous intrabar, the last known polarity is used.
Once all intrabars making up a chart bar have been analyzed and the up or down property of each intrabar's volume determined, the up volumes are added and the down volumes subtracted. The resulting value is volume delta for that chart bar.
█ FEATURES
CVD Candles
Cumulative Volume Delta Candles present volume delta information as it evolves during a period of time.
This is how each candle's levels are calculated:
• open : Each candle's' open level is the cumulative volume delta for the current period at the start of the bar.
This value becomes zero on the first candle following a CVD reset.
The candles after the first one always open where the previous candle closed.
The candle's high, low and close levels are then calculated by adding or subtracting a volume value to the open.
• high : The highest volume delta value found in intrabars. If it is not higher than the volume delta for the bar, then that candle will have no upper wick.
• low : The lowest volume delta value found in intrabars. If it is not lower than the volume delta for the bar, then that candle will have no lower wick.
• close : The aggregated volume delta for all intrabars. If volume delta is positive for the chart bar, then the candle's close will be higher than its open, and vice versa.
The candles are plotted in one of two configurable colors, depending on the polarity of volume delta for the bar.
CVD resets
The "cumulative" part of the indicator's name stems from the fact that calculations accumulate during a period of time. This allows you to analyze the progression of volume delta across manageable chunks, which is often more useful than looking at volume delta cumulated from the beginning of a chart's history.
You can configure the reset period using the "CVD Resets" input, which offers the following selections:
• None : Calculations do not reset.
• On a fixed higher timeframe : Calculations reset on the higher timeframe you select in the "Fixed higher timeframe" field.
• At a fixed time that you specify.
• At the beginning of the regular session .
• On a stepped higher timeframe : Calculations reset on a higher timeframe automatically stepped using the chart's timeframe and following these rules:
Chart TF HTF
< 1min 1H
< 3H 1D
<= 12H 1W
< 1W 1M
>= 1W 1Y
The indicator's background shows where resets occur.
Intrabar precision
The precision of calculations increases with the number of intrabars analyzed for each chart bar. It is controlled through the script's "Intrabar precision" input, which offers the following selections:
• Least precise, covering many chart bars
• Less precise, covering some chart bars
• More precise, covering less chart bars
• Most precise, 1min intrabars
As there is a limit to the number of intrabars that can be analyzed by a script, a tradeoff occurs between the number of intrabars analyzed per chart bar and the chart bars for which calculations are possible.
Total volume candles
You can choose to display candles showing the total intrabar volume for the chart bar. This provides you with more context to evaluate a bar's volume delta by showing it relative to the sum of intrabar volume. Note that because of the reasons explained in the "NOTES" section further down, the total volume is the sum of all intrabar volume rather than the volume of the bar at the chart's timeframe.
Total volume candles can be configured with their own up and down colors. You can also control the opacity of their bodies to make them more or less prominent. This publication's chart shows the indicator with total volume candles. They are turned off by default, so you will need to choose to display them in the script's inputs for them to plot.
Divergences
Divergences occur when the polarity of volume delta does not match that of the chart bar. You can identify divergences by coloring the CVD candles differently for them, or by coloring the indicator's background.
Information box
An information box in the lower-left corner of the indicator displays the HTF used for resets, the LTF used for intrabars, and the average quantity of intrabars per chart bar. You can hide the box using the script's inputs.
█ INTERPRETATION
The first thing to look at when analyzing CVD candles is the side of the zero line they are on, as this tells you if CVD is generally bullish or bearish. Next, one should consider the relative position of successive candles, just as you would with a price chart. Are successive candles trending up, down, or stagnating? Keep in mind that whatever trend you identify must be considered in the context of where it appears with regards to the zero line; an uptrend in a negative CVD (below the zero line) may not be as powerful as one taking place in positive CVD values, but it may also predate a movement into positive CVD territory. The same goes with stagnation; a trader in a long position will find stagnation in positive CVD territory less worrisome than stagnation under the zero line.
After consideration of the bigger picture, one can drill down into the details. Exactly what you are looking for in markets will, of course, depend on your trading methodology, but you may find it useful to:
• Evaluate volume delta for the bar in relation to price movement for that bar.
• Evaluate the proportion that volume delta represents of total volume.
• Notice divergences and if the chart's candle shape confirms a hesitation point, as a Doji would.
• Evaluate if the progress of CVD candles correlates with that of chart bars.
• Analyze the wicks. As with price candles, long wicks tend to indicate weakness.
Always keep in mind that unless you have chosen not to reset it, your CVD resets for each period, whether it is fixed or automatically stepped. Consequently, any trend from the preceding period must re-establish itself in the next.
█ NOTES
Know your volume
Traders using volume information should understand the volume data they are using: where it originates and what transactions it includes, as this can vary with instruments, sectors, exchanges, timeframes, and between historical and realtime bars. The information used to build a chart's bars and display volume comes from data providers (exchanges, brokers, etc.) who often maintain distinct feeds for intraday and end-of-day (EOD) timeframes. How volume data is assembled for the two feeds depends on how instruments are traded in that sector and/or the volume reporting policy for each feed. Instruments from crypto and forex markets, for example, will often display similar volume on both feeds. Stocks will often display variations because block trades or other types of trades may not be included in their intraday volume data. Futures will also typically display variations.
Note that as intraday vs EOD variations exist for historical bars on some instruments, differences may also exist between the realtime feeds used on intraday vs 1D or greater timeframes for those same assets. Realtime reporting rules will often be different from historical feed reporting rules, so variations between realtime feeds will often be different from the variations between historical feeds for the same instrument. The Volume X-ray indicator can help you analyze differences between intraday and EOD volumes for the instruments you trade.
If every unit of volume is both bought by a buyer and sold by a seller, how can volume delta make sense?
Traders who do not understand the mechanics of matching engines (the exchange software that matches orders from buyers and sellers) sometimes argue that the concept of volume delta is flawed, as every unit of volume is both bought and sold. While they are rigorously correct in stating that every unit of volume is both bought and sold, they overlook the fact that information can be mined by analyzing variations in the price of successive ticks, or in our case, intrabars.
Our calculations model the situation where, in fully automated order handling, market orders are generally matched to limit orders sitting in the order book. Buy market orders are matched to quotes at the ask level and sell market orders are matched to quotes at the bid level. As explained earlier, we use the same logic when comparing intrabar prices. While using intrabar analysis does not produce results as precise as when individual transactions — or ticks — are analyzed, results are much more precise than those of methods using only chart prices.
Not only does the concept underlying volume delta make sense, it provides a window on an oft-overlooked variable which, with price and time, is the only basic information representing market activity. Furthermore, because the calculation of volume delta also uses price and time variations, one could conceivably surmise that it can provide a more complete model than ones using price and time only. Whether or not volume delta can be useful in your trading practice, as usual, is for you to decide, as each trader's methodology is different.
For Pine Script™ coders
As our latest Polarity Divergences publication, this script uses the recently released request.security_lower_tf() Pine Script™ function discussed in this blog post . It works differently from the usual request.security() in that it can only be used at LTFs, and it returns an array containing one value per intrabar. This makes it much easier for programmers to access intrabar information.
Look first. Then leap.
Delta Volume Columns Pro [LucF]█ OVERVIEW
This indicator displays volume delta information calculated with intrabar inspection on historical bars, and feed updates when running in realtime. It is designed to run in a pane and can display either stacked buy/sell volume columns or a signal line which can be calculated and displayed in many different ways.
Five different models are offered to reveal different characteristics of the calculated volume delta information. Many options are offered to visualize the calculations, giving you much leeway in morphing the indicator's visuals to suit your needs. If you value delta volume information, I hope you will find the time required to master Delta Volume Columns Pro well worth the investment. I am confident that if you combine a proper understanding of the indicator's information with an intimate knowledge of the volume idiosyncrasies on the markets you trade, you can extract useful market intelligence using this tool.
█ WARNINGS
1. The indicator only works on markets where volume information is available,
Please validate that your symbol's feed carries volume information before asking me why the indicator doesn't plot values.
2. When you refresh your chart or re-execute the script on the chart, the indicator will repaint because elapsed realtime bars will then recalculate as historical bars.
3. Because the indicator uses different modes of calculation on historical and realtime bars, it's critical that you understand the differences between them. Details are provided further down.
4. Calculations using intrabar inspection on historical bars can only be done from some chart timeframes. See further down for a list of supported timeframes.
If the chart's timeframe is not supported, no historical volume delta will display.
█ CONCEPTS
Chart bars
Three different types of bars are used in charts:
1. Historical bars are bars that have already closed when the script executes on them.
2. The realtime bar is the current, incomplete bar where a script is running on an open market. There is only one active realtime bar on your chart at any given time.
The realtime bar is where alerts trigger.
3. Elapsed realtime bars are bars that were calculated when they were realtime bars but have since closed.
When a script re-executes on a chart because the browser tab is refreshed or some of its inputs are changed, elapsed realtime bars are recalculated as historical bars.
Why does this indicator use two modes of calculation?
Historical bars on TradingView charts contain OHLCV data only, which is insufficient to calculate volume delta on them with any level of precision. To mine more detailed information from those bars we look at intrabars , i.e., bars from a smaller timeframe (we call it the intrabar timeframe ) that are contained in one chart bar. If your chart Is running at 1D on a 24x7 market for example, most 1D chart bars will contain 24 underlying 1H bars in their dilation. On historical bars, this indicator looks at those intrabars to amass volume delta information. If the intrabar is up, its volume goes in the Buy bin, and inversely for the Sell bin. When price does not move on an intrabar, the polarity of the last known movement is used to determine in which bin its volume goes.
In realtime, we have access to price and volume change for each update of the chart. Because a 1D chart bar can be updated tens of thousands of times during the day, volume delta calculations on those updates is much more precise. This precision, however, comes at a price:
— The script must be running on the chart for it to keep calculating in realtime.
— If you refresh your chart you will lose all accumulated realtime calculations on elapsed realtime bars, and the realtime bar.
Elapsed realtime bars will recalculate as historical bars, i.e., using intrabar inspection, and the realtime bar's calculations will reset.
When the script recalculates elapsed realtime bars as historical bars, the values on those bars will change, which means the script repaints in those conditions.
— When the indicator first calculates on a chart containing an incomplete realtime bar, it will count ALL the existing volume on the bar as Buy or Sell volume,
depending on the polarity of the bar at that point. This will skew calculations for that first bar. Scripts have no access to the history of a realtime bar's previous updates,
and intrabar inspection cannot be used on realtime bars, so this is the only to go about this.
— Even if alerts only trigger upon confirmation of their conditions after the realtime bar closes, they are repainting alerts
because they would perhaps not have calculated the same way using intrabar inspection.
— On markets like stocks that often have different EOD and intraday feeds and volume information,
the volume's scale may not be the same for the realtime bar if your chart is at 1D, for example,
and the indicator is using an intraday timeframe to calculate on historical bars.
— Any chart timeframe can be used in realtime mode, but plots that include moving averages in their calculations may require many elapsed realtime bars before they can calculate.
You might prefer drastically reducing the periods of the moving averages, or using the volume columns mode, which displays instant values, instead of the line.
Volume Delta Balances
This indicator uses a variety of methods to evaluate five volume delta balances and derive other values from those balances. The five balances are:
1 — On Bar Balance : This is the only balance using instant values; it is simply the subtraction of the Sell volume from the Buy volume on the bar.
2 — Average Balance : Calculates a distinct EMA for both the Buy and Sell volumes, and subtracts the Sell EMA from the Buy EMA.
3 — Momentum Balance : Starts by calculating, separately for both Buy and Sell volumes, the difference between the same EMAs used in "Average Balance" and
an SMA of double the period used for the "Average Balance" EMAs. The difference for the Sell side is subtracted from the difference for the Buy side,
and an RSI of that value is calculated and brought over the −50/+50 scale.
4 — Relative Balance : The reference values used in the calculation are the Buy and Sell EMAs used in the "Average Balance".
From those, we calculate two intermediate values using how much the instant Buy and Sell volumes on the bar exceed their respective EMA — but with a twist.
If the bar's Buy volume does not exceed the EMA of Buy volume, a zero value is used. The same goes for the Sell volume with the EMA of Sell volume.
Once we have our two intermediate values for the Buy and Sell volumes exceeding their respective MA, we subtract them. The final "Relative Balance" value is an ALMA of that subtraction.
The rationale behind using zero values when the bar's Buy/Sell volume does not exceed its EMA is to only take into account the more significant volume.
If both instant volume values exceed their MA, then the difference between the two is the signal's value.
The signal is called "relative" because the intermediate values are the difference between the instant Buy/Sell volumes and their respective MA.
This balance flatlines when the bar's Buy/Sell volumes do not exceed their EMAs, which makes it useful to spot areas where trader interest dwindles, such as consolidations.
The smaller the period of the final value's ALMA, the more easily you will see the balance flatline. These flat zones should be considered no-trade zones.
5 — Percent Balance : This balance is the ALMA of the ratio of the "On Bar Balance" value, i.e., the volume delta balance on the bar (which can be positive or negative),
over the total volume for that bar.
From the balances and marker conditions, two more values are calculated:
1 — Marker Bias : It sums the up/down (+1/‒1) occurrences of the markers 1 to 4 over a period you define, so it ranges from −4 to +4, times the period.
Its calculation will depend on the modes used to calculate markers 3 and 4.
2 — Combined Balances : This is the sum of the bull/bear (+1/−1) states of each of the five balances, so it ranges from −5 to +5.
█ FEATURES
The indicator has two main modes of operation: Columns and Line .
Columns
• In Columns mode you can display stacked Buy/Sell volume columns.
• The buy section always appears above the centerline, the sell section below.
• The top and bottom sections can be colored independently using eight different methods.
• The EMAs of the Buy/Sell values can be displayed (these are the same EMAs used to calculate the "Average Balance").
Line
• Displays one of seven signals: the five balances or one of two complementary values, i.e., the "Marker Bias" or the "Combined Balances".
• You can color the line and its fill using independent calculation modes to pack more information in the display.
You can thus appraise the state of 3 different values using the line itself, its color and the color of its fill.
• A "Divergence Levels" feature will use the line to automatically draw expanding levels on divergence events.
Default settings
Using the indicator's default settings, this is the information displayed:
• The line is calculated on the "Average Balance".
• The line's color is determined by the bull/bear state of the "Percent Balance".
• The line's fill gradient is determined by the advances/declines of the "Momentum Balance".
• The orange divergence dots are calculated using discrepancies between the polarity of the "On Bar Balance" and the chart's bar.
• The divergence levels are determined using the line's level when a divergence occurs.
• The background's fill gradient is calculated on advances/declines of the "Marker Bias".
• The chart bars are colored using advances/declines of the "Relative Balance". Divergences are shown in orange.
• The intrabar timeframe is automatically determined from the chart's timeframe so that a minimum of 50 intrabars are used to calculate volume delta on historical bars.
Alerts
The configuration of the marker conditions explained further is what determines the conditions that will trigger alerts created from this script. Note that simply selecting the display of markers does not create alerts. To create an alert on this script, you must use ALT-A from the chart. You can create multiple alerts triggering on different conditions from this same script; simply configure the markers so they define the trigger conditions for each alert before creating the alert. The configuration of the script's inputs is saved with the alert, so from then on you can change them without affecting the alert. Alert messages will mention the marker(s) that triggered the specific alert event. Keep in mind, when creating alerts on small chart timeframes, that discrepancies between alert triggers and markers displayed on your chart are to be expected. This is because the alert and your chart are running two distinct instances of the indicator on different servers and different feeds. Also keep in mind that while alerts only trigger on confirmed conditions, they are calculated using realtime calculation mode, which entails that if you refresh your chart and elapsed realtime bars recalculate as historical bars using intrabar inspection, markers will not appear in the same places they appeared in realtime. So it's important to understand that even though the alert conditions are confirmed when they trigger, these alerts will repaint.
Let's go through the sections of the script's inputs.
Columns
The size of the Buy/Sell columns always represents their respective importance on the bar, but the coloring mode for tops and bottoms is independent. The default setup uses a standard coloring mode where the Buy/Sell columns are always in the bull/bear color with a higher intensity for the winning side. Seven other coloring modes allow you to pack more information in the columns. When choosing to color the top columns using a bull/bear gradient on "Average Balance", for example, you will have bull/bear colored tops. In order for the color of the bottom columns to continue to show the instant bar balance, you can then choose the "On Bar Balance — Dual Solid Colors" coloring mode to make those bars the color of the winning side for that bar. You can display the averages of the Buy and Sell columns. If you do, its coloring is controlled through the "Line" and "Line fill" sections below.
Line and Line fill
You can select the calculation mode and the thickness of the line, and independent calculations to determine the line's color and fill.
Zero Line
The zero line can display dots when all five balances are bull/bear.
Divergences
You first select the detection mode. Divergences occur whenever the up/down direction of the signal does not match the up/down polarity of the bar. Divergences are used in three components of the indicator's visuals: the orange dot, colored chart bars, and to calculate the divergence levels on the line. The divergence levels are dynamic levels that automatically build from the line's values on divergence events. On consecutive divergences, the levels will expand, creating a channel. This implementation of the divergence levels corresponds to my view that divergences indicate anomalies, hesitations, points of uncertainty if you will. It precludes any attempt to identify a directional bias to divergences. Accordingly, the levels merely take note of divergence events and mark those points in time with levels. Traders then have a reference point from which they can evaluate further movement. The bull/bear/neutral colors used to plot the levels are also congruent with this view in that they are determined by the line's position relative to the levels, which is how I think divergences can be put to the most effective use. One of the coloring modes for the line's fill uses advances/declines in the line after divergence events.
Background
The background can show a bull/bear gradient on six different calculations. As with other gradients, you can adjust its brightness to make its importance proportional to how you use it in your analysis.
Chart bars
Chart bars can be colored using seven different methods. You have the option of emptying the body of bars where volume does not increase, as does my TLD indicator, and you can choose whether you want to show divergences.
Intrabar Timeframe
This is the intrabar timeframe that will be used to calculate volume delta using intrabar inspection on historical bars. You can choose between four modes. The three "Auto-steps" modes calculate, from the chart's timeframe, the intrabar timeframe where the said number of intrabars will make up the dilation of chart bars. Adjustments are made for non-24x7 markets. "Fixed" mode allows you to select the intrabar timeframe you want. Checking the "Show TF" box will display in the lower-right corner the intrabar timeframe used at any given moment. The proper selection of the intrabar timeframe is important. It must achieve maximal granularity to produce precise results while not unduly slowing down calculations, or worse, causing runtime errors. Note that historical depth will vary with the intrabar timeframe. The smaller the timeframe, the shallower historical plots you will be.
Markers
Markers appear when the required condition has been confirmed on a closed bar. The configuration of the markers when you create an alert is what determines when the alert will trigger. Five markers are available:
• Balances Agreement : All five balances are either bullish or bearish.
• Double Bumps : A double bump is two consecutive up/down bars with +/‒ volume delta, and rising Buy/Sell volume above its average.
• Divergence confirmations : A divergence is confirmed up/down when the chosen balance is up/down on the previous bar when that bar was down/up, and this bar is up/down.
• Balance Shifts : These are bull/bear transitions of the selected signal.
• Marker Bias Shifts : Marker bias shifts occur when it crosses into bull/bear territory.
Periods
Allows control over the periods of the different moving averages used to calculate the balances.
Volume Discrepancies
Stock exchanges do not report the same volume for intraday and daily (or higher) resolutions. Other variations in how volume information is reported can also occur in other markets, namely Forex, where volume irregularities can even occur between different intraday timeframes. This will cause discrepancies between the total volume on the bar at the chart's timeframe, and the total volume calculated by adding the volume of the intrabars in that bar's dilation. This does not necessarily invalidate the volume delta information calculated from intrabars, but it tells us that we are using partial volume data. A mechanism to detect chart vs intrabar timeframe volume discrepancies is provided. It allows you to define a threshold percentage above which the background will indicate a difference has been detected.
Other Settings
You can control here the display of the gray dot reminder on realtime bars, and the display of error messages if you are using a chart timeframe that is not greater than the fixed intrabar timeframe, when you use that mode. Disabling the message can be useful if you only use realtime mode at chart timeframes that do not support intrabar inspection.
█ RAMBLINGS
On Volume Delta
Volume is arguably the best complement to interpret price action, and I consider volume delta to be the most effective way of processing volume information. In periods of low-volatility price consolidations, volume will typically also be lower than normal, but slight imbalances in the trend of the buy/sell volume balance can sometimes help put early odds on the direction of the break from consolidation. Additionally, the progression of the volume imbalance can help determine the proximity of the breakout. I also find volume delta and the number of divergences very useful to evaluate the strength of trends. In trends, I am looking for "slow and steady", i.e., relatively low volatility and pauses where price action doesn't look like world affairs are being reassessed. In my personal mythology, this type of trend is often more resilient than high-volatility breakouts, especially when volume balance confirms the general agreement of traders signaled by the low-volatility usually accompanying this type of trend. The volume action on pauses will often help me decide between aggressively taking profits, tightening a stop or going for a longer-term movement. As for reversals, they generally occur in high-volatility areas where entering trades is more expensive and riskier. While the identification of counter-trend reversals fascinates many traders to no end, they represent poor opportunities in my view. Volume imbalances often precede reversals, but I prefer to use volume delta information to identify the areas following reversals where I can confirm them and make relatively low-cost entries with better odds.
On "Buy/Sell" Volume
Buying or selling volume are misnomers, as every unit of volume transacted is both bought and sold by two different traders. While this does not keep me from using the terms, there is no such thing as “buy only” or “sell only” volume. Trader lingo is riddled with peculiarities.
Divergences
The divergence detection method used here relies on a difference between the direction of a signal and the polarity (up/down) of a chart bar. When using the default "On Bar Balance" to detect divergences, however, only the bar's volume delta is used. You may wonder how there can be divergences between buying/selling volume information and price movement on one bar. This will sometimes be due to the calculation's shortcomings, but divergences may also occur in instances where because of order book structure, it takes less volume to increase the price of an asset than it takes to decrease it. As usual, divergences are points of interest because they reveal imbalances, which may or may not become turning points. To your pattern-hungry brain, the divergences displayed by this indicator will — as they do on other indicators — appear to often indicate turnarounds. My opinion is that reality is generally quite sobering and I have no reliable information that would tend to prove otherwise. Exercise caution when using them. Consequently, I do not share the overwhelming enthusiasm of traders in identifying bullish/bearish divergences. For me, the best course of action when a divergence occurs is to wait and see what happens from there. That is the rationale underlying how my divergence levels work; they take note of a signal's level when a divergence occurs, and it's the signal's behavior from that point on that determines if the post-divergence action is bullish/bearish.
Superfluity
In "The Bed of Procrustes", Nassim Nicholas Taleb writes: To bankrupt a fool, give him information . This indicator can display lots of information. While learning to use a new indicator inevitably requires an adaptation period where we put it through its paces and try out all its options, once you have become used to it and decide to adopt it, rigorously eliminate the components you don't use and configure the remaining ones so their visual prominence reflects their relative importance in your analysis. I tried to provide flexible options for traders to control this indicator's visuals for that exact reason — not for window dressing.
█ LIMITATIONS
• This script uses a special characteristic of the `security()` function allowing the inspection of intrabars — which is not officially supported by TradingView.
It has the advantage of permitting a more robust calculation of volume delta than other methods on historical bars, but also has its limits.
• Intrabar inspection only works on some chart timeframes: 3, 5, 10, 15 and 30 minutes, 1, 2, 3, 4, 6, and 12 hours, 1 day, 1 week and 1 month.
The script’s code can be modified to run on other resolutions.
• When the difference between the chart’s timeframe and the intrabar timeframe is too great, runtime errors will occur. The Auto-Steps selection mechanisms should avoid this.
• All volume is not created equally. Its source, components, quality and reliability will vary considerably with sectors and instruments.
The higher the quality, the more reliably volume delta information can be used to guide your decisions.
You should make it your responsibility to understand the volume information provided in the data feeds you use. It will help you make the most of volume delta.
█ NOTES
For traders
• The Data Window shows key values for the indicator.
• While this indicator displays some of the same information calculated in my Delta Volume Columns ,
I have elected to make it a separate publication so that traders continue to have a simpler alternative available to them. Both code bases will continue to evolve separately.
• All gradients used in this indicator determine their brightness intensities using advances/declines in the signal—not their relative position in a pre-determined scale.
• Volume delta being relative, by nature, it is particularly well-suited to Forex markets, as it filters out quite elegantly the cyclical volume data characterizing the sector.
If you are interested in volume delta, consider having a look at my other "Delta Volume" indicators:
• Delta Volume Realtime Action displays realtime volume delta and tick information on the chart.
• Delta Volume Candles builds volume delta candles on the chart.
• Delta Volume Columns is a simpler version of this indicator.
For coders
• I use the `f_c_gradientRelativePro()` from the PineCoders Color Gradient Framework to build my gradients.
This function has the advantage of allowing begin/end colors for both the bull and bear colors. It also allows us to define the number of steps allowed for each gradient.
I use this to modulate the gradients so they perform optimally on the combination of the signal used to calculate advances/declines,
but also the nature of the visual component the gradient applies to. I use fewer steps for choppy signals and when the gradient is used on discrete visual components
such as volume columns or chart bars.
• I use the PineCoders Coding Conventions for Pine to write my scripts.
• I used functions modified from the PineCoders MTF Selection Framework for the selection of timeframes.
█ THANKS TO:
— The devs from TradingView's Pine and other teams, and the PineCoders who collaborate with them. They are doing amazing work,
and much of what this indicator does could not be done without their recent improvements to Pine.
— A guy called Kuan who commented on a Backtest Rookies presentation of their Volume Profile indicator using a `for` loop.
This indicator started from the intrabar inspection technique illustrated in Kuan's snippet.
— theheirophant , my partner in the exploration of the sometimes weird abysses of `security()`’s behavior at intrabar timeframes.
— midtownsk8rguy , my brilliant companion in mining the depths of Pine graphics.
Cantana Algo | ES - NQ - YMCantana Algo | CME_MINI:ES1! CME_MINI:NQ1! CBOT_MINI:YM1!
Cantana Algo is a market structure and volume analysis tool for the S&P 500 (ES), Nasdaq 100 (NQ), and Dow Jones (YM) futures. It combines POE boxes, multi-VWAP analysis, volatility profiling, and a compact info panel to provide a clear and structured market overview.
🔹 Key Features
Dynamic POE Boxes – automatically highlight relevant price areas.
POE Breaks & Retest Attention on the 70% Value Area – informs the user that a manually drawn Fixed Volume Profile is recommended to monitor price action around the 70% Value Area.
Multi-VWAP Framework – session, weekly, and monthly VWAPs with tolerance bands for bias detection.
Daily & Weekly Bias Detection – color-coded overview for quick orientation.
Volatility Analysis – displays minimum, maximum, average, and quartile statistics of current market volatility.
Alert on Volatility Reversal – optional alert triggers when the market drops back below the average ATR after a period of high volatility. Works with any alert function call.
Risk-On / Risk-Off Dashboard – provides a high-level market view, showing overall risk sentiment based on Gold, S&P, and Dollar Index.
⚙️ Customizable
Info and statistics panels can be freely positioned.
Modules (Market Profile / Volume Profile / tables) can be toggled individually.
Alerts can be activated according to user preference.
📜 Note
The script does not draw a Fixed Volume Profile – the “Retest Attention on 70% VA” message serves solely as a reminder for the user to manually add a profile in order to detect setups based on the Value Area. Additionally, this script only works on the 1-minute timeframe (1M).
This script is currently available for free. It may become a paid version in the future.
⚠️ Disclaimer
This script is provided for educational and analytical purposes only. It does not constitute financial advice, a trading strategy, or a recommendation to buy or sell any financial instrument.
All decisions based on this script are solely the responsibility of the user.
Trading involves risks, including the potential loss of invested capital.
CAPITAL 121//@version=5
indicator("CAPITAL X", overlay=true)
// === הגדרות משתמש ===
yPos = input.string("Top", "מיקום אנכי של ה־Watermark", options = , inline = '1')
xPos = input.string("Right", "מיקום אופקי של ה־Watermark", options = , inline = '1')
offsetY = input.int(20, "מרחק אנכי מהקצה", minval=0, maxval=100)
txtCol = input.color(color.rgb(255, 255, 255, 80), 'צבע טקסט', inline = '2')
txtSize = input.string('Large', 'גודל טקסט', options = , inline = '2')
// ATR והגדרות תנודתיות
lengthATR = input.int(14, title='אורך ATR')
atrRedThreshold = input.float(7.0, "רף אדום (%)", minval=0)
atrYellowThreshold = input.float(3.0, "רף צהוב (%)", minval=0)
// חישוב ATR
atrValue = ta.atr(lengthATR)
atrPercent = (atrValue / close) * 100
atrDisplay = "ATR (" + str.tostring(lengthATR) + "): " + str.tostring(atrValue, "#.##") + " (" + str.tostring(atrPercent, "#.##") + "%)"
atrEmoji = atrPercent >= atrRedThreshold ? "🔴" : atrPercent >= atrYellowThreshold ? "🟡" : "🟢"
// גודל טקסט
sizer = switch txtSize
"Huge" => size.huge
"Large" => size.large
"Normal" => size.normal
=> size.small
// מיקום טבלה על המסך
posTable = str.lower(yPos) + '_' + str.lower(xPos)
// === תצוגת טבלת Watermark ===
var table watermarkTable = table.new(posTable, 1, 1, border_width=0)
if barstate.islast
table.cell(watermarkTable, 0, 0, atrDisplay + " " + atrEmoji, text_color=txtCol, text_size=sizer, text_halign=text.align_left)
// === חישוב ממוצעים נעים ===
smaShortLength = input.int(20, title='SMA Short Length', minval=1)
smaLongLength = input.int(100, title='SMA Long Length', minval=1)
smaShort = ta.sma(close, smaShortLength)
smaLong = ta.sma(close, smaLongLength)
// ממוצע נוסף (ניטרלי)
showCustomMA = input.bool(true, title='הצג ממוצע נע מותאם אישית')
customMALength = input.int(50, title='Custom MA Length')
customMA = ta.sma(close, customMALength)
plot(showCustomMA ? customMA : na, color=color.orange, linewidth=1, title='Custom MA')
// ציור ממוצעים עיקריים
plot(smaShort, color=color.yellow, linewidth=2, title='SMA 20')
plot(smaLong, color=color.blue, linewidth=2, title='SMA 100')
// איתותים
buySignal = ta.crossover(smaShort, smaLong)
sellSignal = ta.crossunder(smaShort, smaLong)
// הצגת אזורי קנייה ומכירה
plotshape(buySignal, title='אזור קנייה', text='אזור קנייה', location=location.belowbar,
style=shape.labelup, size=size.small, color=color.green, textcolor=color.white)
plotshape(sellSignal, title='אזור מכירה', text='אזור מכירה', location=location.abovebar,
style=shape.labeldown, size=size.small, color=color.red, textcolor=color.white)
// התראות
alertcondition(buySignal, title='אזור קנייה', message='זוהה אזור קנייה!')
alertcondition(sellSignal, title='אזור מכירה', message='זוהה אזור מכירה!')
// === Volume Profile Zone (פרופיל ווליום בסיסי) ===
showVolumeProfile = input.bool(true, title="הצג Volume Profile איזורי (ניסיוני)")
vpRange = input.int(100, title="טווח ברים לניתוח Volume Profile")
var float maxVol = na
var float vwap = na
if showVolumeProfile and bar_index > vpRange
float totalVol = 0.0
float volWeightedPrice = 0.0
for i = 0 to vpRange
totalVol += volume
volWeightedPrice += volume * close
maxVol := totalVol
vwap := volWeightedPrice / totalVol
plot(showVolumeProfile and not na(vwap) ? vwap : na, color=color.purple, style=plot.style_line, linewidth=2, title='Volume Profile VWAP')
Multi Doji Detector v1 [JopAlgo]Multi Doji Detector v1 — fast pattern pings with real filters
What it does (one line):
Marks reversal/indecision candles (Doji family) and impulse candles (Engulfing, Hammer/Inverted Hammer), with optional ATR and volume filters so you don’t chase every wiggle.
Why it’s useful:
Candles tell you when the auction pauses or flips. This tool spots those moments, but only matters at a level. Use it to time entries at Volume Profile edges and AVWAP—not as a standalone signal.
What you’ll see on the chart
Doji family
Standard Doji (▲ blue above bar)
Dragonfly Doji (● green below bar)
Gravestone Doji (● red above bar)
Long-Legged Doji (▲ orange above bar)
Engulfing
Bullish Engulfing (⬆ teal below bar)
Bearish Engulfing (⬇ purple above bar)
Hammer set
Hammer (⬆ lime below bar)
Inverted Hammer (⬆ fuchsia below bar)
Shapes = heads-up. Your trade still needs location, flow, and a risk plan.
How to use it (the simple playbook)
Location first
Work at Volume Profile v3.2 levels (VAH/VAL/POC/LVNs) or Anchored VWAP.
No level, no trade.
Flow check (optional but strong)
Use CVDv1: take signals only when Alignment = OK and Absorption ≠ red against your idea.
Pattern = timing
At support (VAL/AVWAP): Bullish Engulfing or Hammer, or a Dragonfly/Standard Doji that gets follow-through up.
At resistance (VAH/AVWAP): Bearish Engulfing, Inverted Hammer, or Gravestone/Standard Doji with follow-through down.
Confirm the bar
Let the signal close. If the next bar rejects the idea, stand down.
Timeframe guidance
1–5m (scalps): Many marks. Keep ATR/volume filters ON. Only take signals at VA edges / Session AVWAP.
15m–1H (intraday): Cleanest. Best combo of signal quality and frequency.
2H–4H (swing): Fewer, stronger signals. Ideal for AVWAP/Composite VP reclaims.
1D+ (position): Use as a heads-up at weekly levels; wait for intraday confirmation to enter.
Entries, exits, risk (quick rules)
Entry:
Long: Bullish Engulfing / Hammer / bullish Doji at support, next bar holds above signal’s high or prints follow-through.
Short: Bearish Engulfing / Inverted Hammer / bearish Doji at resistance, next bar holds below signal’s low or follows through.
Stop:
Longs: below signal low or structure under the level.
Shorts: above signal high or structure over the level.
Targets:
Aim for POC/HVNs or obvious swings. Don’t use the symbol alone as a target.
Pass:
Signals mid-range (no level), or against CVDv1 (Absorption), or when ATR is tiny (fake pokes).
Settings that actually matter
Doji mode
Use Percentage-Based: compares body to full candle range (default 5%).
Off = fixed definition (body < 10% of range).
Tip: If you get too many dojis, lower the %; if too few, raise it slightly.
Engulfing filters
ATR Length (default 14) + Min Size (ATR): require real body expansion.
Volume confirmation: ON = demand above-average volume; reduces noise.
Hammer filters
Wick-to-Body Ratio: default 2.5×; increase for stricter hammers.
ATR Filter: minimum candle size; blocks tiny “toy” candles.
Volume confirmation: ON = better reliability.
Alerts
Toggle Doji Alerts on if you want all doji pings; engulfing/hammer alerts are always available.
Pattern cheatsheet (what they mean at a level)
Standard Doji: indecision → wait for directional close next bar.
Dragonfly (at support): buyers rejected lows → look for long on follow-through.
Gravestone (at resistance): sellers rejected highs → look for short on follow-through.
Long-Legged Doji: big fight → only trade it at a level and with the next bar confirming.
Bullish Engulfing: fresh control shift to buyers; best after a drive into support.
Bearish Engulfing: fresh control shift to sellers; best after a pop into resistance.
Hammer: capitulation then rescue; strongest when the low sweeps a level and closes back above.
Inverted Hammer: rejection from above; needs downside follow-through to matter.
Best combos (kept simple)
Volume Profile v3.2 : Signals at VAH/VAL/LVNs. Use POC/HVNs for targets.
Anchored VWAP : Reclaims/rejections get much better with a matching candle signal.
CVDv1 : Take signals with flow (ALIGN OK, no Absorption). If Absorption flashes red against your signal, skip it.
Common mistakes this prevents
Taking a “pretty” candle in the middle of nowhere.
Shorting every Gravestone in a real uptrend (ATR expanding, CVD strong).
Ignoring size: Engulfing/Hammer without ATR/volume often fail.
Entering before close: half of false signals vanish by the close.
Practical defaults to start
Doji: Percentage-based ON, 5%
Engulfing: Min size 1.0 ATR, Volume confirm ON
Hammer: Wick/Body 2.5×, ATR filter 0.5, Volume confirm ON
Timeframes: 15m–1H for most assets; 2H–4H for swing
Quick disclaimer
Educational tool, not financial advice. Patterns are timers, not trades by themselves. Always pair with location, flow, and risk.
Advanced Range Analyzer ProAdvanced Range Analyzer Pro – Adaptive Range Detection & Breakout Forecasting
Overview
Advanced Range Analyzer Pro is a comprehensive trading tool designed to help traders identify consolidations, evaluate their strength, and forecast potential breakout direction. By combining volatility-adjusted thresholds, volume distribution analysis, and historical breakout behavior, the indicator builds an adaptive framework for navigating sideways price action. Instead of treating ranges as noise, this system transforms them into opportunities for mean reversion or breakout trading.
How It Works
The indicator continuously scans price action to identify active range environments. Ranges are defined by volatility compression, repeated boundary interactions, and clustering of volume near equilibrium. Once detected, the indicator assigns a strength score (0–100), which quantifies how well-defined and compressed the consolidation is.
Breakout probabilities are then calculated by factoring in:
Relative time spent near the upper vs. lower range boundaries
Historical breakout tendencies for similar structures
Volume distribution inside the range
Momentum alignment using auxiliary filters (RSI/MACD)
This creates a live probability forecast that updates as price evolves. The tool also supports range memory, allowing traders to analyze the last completed range after a breakout has occurred. A dynamic strength meter is displayed directly above each consolidation range, providing real-time insight into range compression and breakout potential.
Signals and Breakouts
Advanced Range Analyzer Pro includes a structured set of visual tools to highlight actionable conditions:
Range Zones – Gradient-filled boxes highlight active consolidations.
Strength Meter – A live score displayed in the dashboard quantifies compression.
Breakout Labels – Probability percentages show bias toward bullish or bearish continuation.
Breakout Highlights – When a breakout occurs, the range is marked with directional confirmation.
Dashboard Table – Displays current status, strength, live/last range mode, and probabilities.
These elements update in real time, ensuring that traders always see the current state of consolidation and breakout risk.
Interpretation
Range Strength : High scores (70–100) indicate strong consolidations likely to resolve explosively, while low scores suggest weak or choppy ranges prone to false signals.
Breakout Probability : Directional bias greater than 60% suggests meaningful breakout pressure. Equal probabilities indicate balanced compression, favoring mean-reversion strategies.
Market Context : Ranges aligned with higher timeframe trends often resolve in the dominant direction, while counter-trend ranges may lead to reversals or liquidity sweeps.
Volatility Insight : Tight ranges with low ATR imply imminent expansion; wide ranges signal extended consolidation or distribution phases.
Strategy Integration
Advanced Range Analyzer Pro can be applied across multiple trading styles:
Breakout Trading : Enter on probability shifts above 60% with confirmation of volume or momentum.
Mean Reversion : Trade inside ranges with high strength scores by fading boundaries and targeting equilibrium.
Trend Continuation : Focus on ranges that form mid-trend, anticipating continuation after consolidation.
Liquidity Sweeps : Use failed breakouts at boundaries to capture reversals.
Multi-Timeframe : Apply on higher timeframes to frame market context, then execute on lower timeframes.
Advanced Techniques
Combine with volume profiles to identify areas of institutional positioning within ranges.
Track sequences of strong consolidations for trend development or exhaustion signals.
Use breakout probability shifts in conjunction with order flow or momentum indicators to refine entries.
Monitor expanding/contracting range widths to anticipate volatility cycles.
Custom parameters allow fine-tuning sensitivity for different assets (crypto, forex, equities) and trading styles (scalping, intraday, swing).
Inputs and Customization
Range Detection Sensitivity : Controls how strictly ranges are defined.
Strength Score Settings : Adjust weighting of compression, volume, and breakout memory.
Probability Forecasting : Enable/disable directional bias and thresholds.
Gradient & Fill Options : Customize range visualization colors and opacity.
Dashboard Display : Toggle live vs last range, info table size, and position.
Breakout Highlighting : Choose border/zone emphasis on breakout events.
Why Use Advanced Range Analyzer Pro
This indicator provides a data-driven approach to trading consolidation phases, one of the most common yet underutilized market states. By quantifying range strength, mapping probability forecasts, and visually presenting risk zones, it transforms uncertainty into clarity.
Whether you’re trading breakouts, fading ranges, or mapping higher timeframe context, Advanced Range Analyzer Pro delivers a structured, adaptive framework that integrates seamlessly into multiple strategies.
Tick Ratio Simulator - Advanced Market Sentiment IndicatorOverview
The Tick Ratio Simulator is a sophisticated market sentiment indicator that provides real-time insights into buying and selling pressure dynamics. This proprietary indicator transforms complex market microstructure data into actionable trading signals.
Key Features
Real-Time Sentiment Analysis: Captures instantaneous shifts in market momentum
Multi-Timeframe Adaptability: Customizable calculation periods for any trading style
Visual Clarity: Color-coded histogram with dynamic zone highlighting
Integrated Alert System: Pre-configured alerts for key market transitions
Performance Dashboard: Live metrics display for informed decision-making
Trading Applications
✓ Trend Confirmation: Validate existing trends with momentum analysis
✓ Reversal Detection: Identify potential turning points at extreme readings
✓ Entry/Exit Timing: Optimize trade execution with overbought/oversold zones
✓ Risk Management: Clear visual boundaries for position sizing decisions
Signal Interpretation
Extreme Zones (±75): High probability reversal areas
Standard Thresholds (±50): Traditional overbought/oversold levels
Zero Line Crossings: Momentum shift confirmations
Histogram Expansion/Contraction: Strength of directional bias
Customization Options
Adjustable calculation and smoothing periods
Fully customizable color schemes
Toggle histogram and reference lines
Real-time information table positioning
Alert Conditions
Four pre-built alert templates for automated notifications:
Momentum threshold breaches
Directional changes
Extreme zone entries
Custom level crossovers
Best Practices
Works exceptionally well when combined with:
Volume analysis
Support/resistance levels
Price action patterns
Other momentum oscillators
Note: This indicator uses proprietary calculations to simulate institutional-grade tick analysis without requiring actual tick data feeds. Results are optimized for liquid markets with consistent volume profiles.
For optimal results, adjust parameters based on your specific instrument and timeframe. Past performance does not guarantee future results.
Ema With VoLume RangeEMA with Volume Range – Adaptive Trend, Trailing Stops & Volume Profile Zones
This sophisticated indicator integrates three powerful trading tools in a single overlay: a classic EMA200, precision ATR-based buy/sell signals, and a unique double-zone volume profile for deep market structure analysis. Ideal for swing traders, scalpers, and volume-driven investors seeking actionable, multi-dimensional price insights.
Core Features
EMA200 (Exponential Moving Average):
Plots a customizable EMA200 (blue line) for identifying primary trend direction and dynamic support/resistance.
Exponential smoothing is enabled by default for better tracking of recent price action.
ATR-Based Trailing Stop with Buy/Sell Signals:
Uses Average True Range (ATR) to set adaptive trailing stop levels that respond to current market volatility.
Buy and Sell signals (tiny green and red labels) trigger whenever price crosses the trailing stop for precise entries and exits.
All signals are alert-enabled for automated or semi-automated trading workflows.
Adjustable ATR multiplier and lookback for tuning responsiveness.
Dual Volume Range Zones & Profile Histogram:
Automatically highlights recent high/low price zones (upper and lower) using your lookback period and zone width settings.
Each zone is split into horizontal "bins," color-coded for buy/sell dominance and highlighting the Point of Control (POC)—the price with the most traded volume.
The indicator draws live volume histograms inside each zone, supplementing them with labels that show buy vs. sell volumes and POC statistics.
Adjustable bin count, transparency, colors, and histogram granularity to fit your visual preference.
Optional midlines and fair value drift line help visualize price equilibrium and value shifts over time.
How to Use
Trend Confirmation: Align trades with the EMA200—trade long above, short below, or wait for ATR-trailing stop triggers that coincide with the EMA bias.
Signal Generation: Use the ATR trailing stop Buy/Sell signals to spot shifts in volatility-adjusted direction early.
Volume Zone Analysis: Identify where the highest concentration of buy/sell activity occurred within the customizable upper/lower zones:
Use high volume bins and POC as magnets for price, support/resistance, or to confirm breakout/failure zones.
Leverage the fair value drift line and dynamic labels to detect changes in market sentiment and volume pressure.
Ema With Buy/Sell Signals Pro This advanced multi-tool indicator combines Exponential Moving Averages (EMAs), dynamic buy/sell signal logic, ATR-based trailing stops, and a custom volume profile heatmap, delivering a complete solution for identifying trend direction, momentum shifts, and high-activity price zones.
Core Components & Features
📊 1. Triple EMA Overlay
Plots 20, 50, and 200 EMA lines on the chart.
Visualizes short-term, medium-term, and long-term trend directions.
Acts as dynamic support/resistance levels and trend confirmation tools.
💡 2. Smart Buy/Sell Signal System (ATR-Based)
Utilizes an ATR Trailing Stop to detect trend reversals.
Generates Buy signals when price breaks above the ATR stop and confirms strength.
Generates Sell signals when price breaks below the ATR stop and confirms weakness.
Optionally triggers alerts on crossover signals to capture momentum moves early.
📈 3. ATR Extension Signal
Highlights strong momentum bursts using a price/ATR divergence logic.
Filters conditions where price is significantly extended from the 50 EMA.
Plots blue circles above bars to indicate potential breakout continuation.
🧮 4. Volume Profile Heatmap (Custom Coded)
Plots a horizontal Volume Distribution Profile over a customizable lookback window.
Visualizes buy vs sell volume density across price levels using colored boxes:
Green = Buy Dominant
Red = Sell Dominant
5. Fully Customizable Inputs
Adjustable EMAs, ATR period, multipliers, and signal sensitivity.
Fine-tune volume profile resolution, scale, and transparency.
Turn ON/OFF heatmap and lookback visualization for cleaner charts.
✅ Best Use-Cases
Trend-following strategies with reliable momentum confirmation.
Entry/exit signals based on volatility-adjusted stop loss logic.
Spotting key liquidity zones, support/resistance bands, and volume imbalances.
Works for intraday, swing, and position trading.
MojoPivots Breakout Signals [DonnieMojo]The MojoPivots Breakout Indicator is a precision-engineered tool designed for traders seeking high-probability breakout opportunities using dynamic pivot structures and real-time volume imbalances.
Built on DonnieMojo’s breakout framework, this indicator analyzes market structure via custom MR (Major Resistance) and MS (Major Support) levels, dynamically derived from intraday volume profiles and statistical price expansion. It intelligently tracks and visualizes potential breakout zones, key "line-in-the-sand" levels, and take-profit targets (TP1, TP2, TP3) based on volatility-adjusted zones.
🔑 Core Features:
Breakout Signal Detection
Identifies potential bullish and bearish breakouts when price breaches predefined resistance (MR1) or support (MS1) levels with confirmation from volume dynamics.
Smart Take-Profit System
Targets are automatically mapped to MR2–MR4 and MS2–MS4, offering structured TP zones based on standard deviation thresholds.
Delta Zone Visuals
Color-coded fills display real-time buyer/seller dominance in each zone using an imbalance-weighted volume model.
VPOC "Sand Line"
The Volume Point of Control is plotted to show the session's key battle line for trend continuation or rejection.
Statistical Performance Panel
Live breakout stats with hit-rate bars (TP1/TP2/TP3) help you evaluate performance and adjust trade management.
🧪 Usage Tips:
Timeframe Sync: The default detection logic is based on 15-minute candles, but pivot zones are calculated from higher timeframes (2H by default). Adjust these in the settings to suit your strategy.
Entry Trigger: Wait for price to close below MS1 or above MR1 and breach it on the next bar to confirm a breakout signal.
TP Scaling: Use TP1 for conservative exits or scale out progressively at TP2 and TP3 for extended moves.
Volume Confirmation: Delta zone fills (green/red) help validate whether breakout levels are supported by buyer/seller strength — fade low-delta signals with caution.
Combine with Trend Filters: Enhance results by using MojoPivots alongside trend indicators like EMAs, ADX, or macro S/R.
Dynamic VWAP: Fair Value & Divergence SuiteDynamic VWAP: Fair Value & Divergence Suite
Dynamic VWAP: Fair Value & Divergence Suite is a comprehensive tool for tracking contextual valuation, overextension, and potential reversal signals in trending markets. Unlike traditional VWAP that anchors to the start of a session or a fixed period, this indicator dynamically resets the VWAP anchor to the most recent swing low. This design allows you to monitor how far price has extended from the most recent significant low, helping identify zones of potential profit-taking or reversion.
Deviation bands (standard deviations above the anchored VWAP) provide a clear visual framework to assess whether price is in a fair value zone (±1σ), moderately extended (+2σ), or in zones of extreme extension (+3σ to +5σ). The indicator also highlights contextual divergence signals, including slope deceleration, weak-volume retests, and deviation failures—giving you actionable confluence around potential reversal points.
Because the anchor updates dynamically, this tool is particularly well suited for trend-following assets like BTC or stocks in sustained moves, where price rarely returns to deep negative deviation zones. For this reason, the indicator focuses on upside extension rather than symmetrical reversion to a long-term mean.
🎯 Key Features
✅ Dynamic Swing Low Anchoring
Continuously re-anchors VWAP to the most recent swing low based on your chosen lookback period.
Provides context for trend progression and overextension relative to structural lows.
✅ Standard Deviation Bands
Plots up to +5σ deviation bands to visualize levels of overextension.
Extended bands (+3σ to +5σ) can be toggled for simplicity.
✅ Conditional Zone Fills
Colored background fills show when price is inside each valuation zone.
Helps you immediately see if price is in fair value, moderately extended, or highly stretched territory.
✅ Divergence Detection
VWAP Slope Divergence: Flags when price makes a higher high but VWAP slope decelerates.
Low Volume Retest: Highlights weak re-tests of VWAP on low volume.
Deviation Failure: Identifies when price reverts back inside +1σ after closing beyond +3σ.
✅ Volume Fallback
If volume is unavailable, uses high-low range as a proxy.
✅ Highly Customizable
Adjust lookbacks, show/hide extended bands, toggle fills, and enable or disable divergences.
🛠️ How to Use
Identify Buy and Sell Zones
Price in the fair value band (±1σ) suggests equilibrium.
Reaching +2σ to +3σ signals increasing overextension and potential areas to take profits.
+4σ to +5σ zones can be used to watch for exhaustion or mean-reversion setups.
Monitor Divergence Signals
Use slope divergence and deviation failures to look for confluence with overextension.
Low volume retests can flag rallies lacking conviction.
Adapt Swing Lookback
30–50 bars: Faster re-anchoring for swing trading.
75–100 bars: More stable anchors for longer-term trends.
🧭 Best Practices
Combine the anchored VWAP with higher timeframe structure.
Confirm signals with other tools (momentum, volume profiles, or trend filters).
Use extended deviation zones as context, not as standalone signals.
⚠️ Disclaimer
This script is for educational and informational purposes only. It does not constitute financial advice or a recommendation to buy or sell any security or asset. Always do your own research and consult a qualified financial professional before making any trading decisions. Past performance does not guarantee future results.
Senn System A"Senn System A" is a robust, all-in-one indicator engineered to enhance your market analysis by intelligently combining the power of Volume Weighted Average Price (VWAP) for range-bound conditions and Exponential Moving Average (EMA) Ribbons for trending environments. This script aims to provide traders with a clear, dynamic visual representation of market structure and momentum across multiple timeframes. A core feature allows you to select and display two distinct VWAP instances simultaneously, each anchoring to your choice of Daily, Weekly, Monthly, Quarterly, or Yearly periods. These VWAPs include clean, filled bands highlighting the area between Standard Deviation 1 and Standard Deviation 2, providing immediate visual cues for key price zones. Furthermore, a unique "Previous VWAP" feature, complete with its own selectable bands and fills, offers valuable historical context for understanding past price action relative to significant volume profiles.
Complementing the VWAP functionality, the indicator integrates an advanced EMA ribbon system, building upon the principles of effective trend visualization. You can customize the lengths of the primary EMA ribbon (defaulting to 25, 36, 50 periods) to suit your analysis of short to medium-term trends. Additionally, dedicated toggles enable the display of higher-timeframe trend ribbons, using EMAs of 100/200 for daily trend and 600/1200 for weekly trend. These ribbons are color-coded based on EMA crossovers, providing intuitive visual signals of trend direction and strength. The "Senn System A" is designed to be highly configurable, allowing traders to tailor the indicator's appearance and active components to their specific trading strategies and market conditions.
ZenAlgo - AvengerThe ZenAlgo - Avenger indicator provides a multi-layered view of market behavior by combining volume delta analytics, trend-following EMAs, average price comparison, and price-volume profiling into a unified overlay. It is designed to visually assist traders in identifying areas of interest, momentum shifts, and potential reversals using cumulative data from both spot and perpetual markets.
Volume Delta Calculation
This indicator computes delta as the difference between estimated buy and sell volumes using volume data from multiple centralized exchanges. It distinguishes between spot and perpetual volumes, combining them into total volume.
To estimate buying and selling volume from raw volume data, candle structure is broken down into body and wicks. The body is interpreted as the core directional movement (buy/sell), while the wicks are treated as uncertain or counteraction. This segmentation helps infer the likely share of buying and selling within each bar.
The delta is calculated per bar and then aggregated over a lookback period (default 14 bars) to generate a cumulative delta. This approach provides a smoothed value of volume pressure trends over time.
A moving average is applied to the delta values (using selectable MA types like EMA or SMA) to define signal crossovers and suppress noise.
Delta Visualization
To contextualize delta within price action, the delta is scaled dynamically (by ATR or user-defined value) and plotted as a band around the closing price. Positive delta expands upward from price, negative delta downward. This provides a visual overlay that reflects net market pressure in context with price movement.
In cases of extreme delta (threshold set at 80% of recent maximum), the indicator marks spike bars using symbols to indicate significant directional pressure.
Identification of Noteworthy Conditions
The indicator highlights points on the chart where specific conditions are met based on the interaction between volume delta and its moving average. These conditions may align with moments of market pressure imbalance and directional movement, but they are not to be interpreted as trade signals in isolation.
Instead, these chart markers serve as visual flags for potential interest. They are intended to draw the user’s attention to scenarios where:
The delta crosses above or below its moving average, suggesting a potential shift in volume pressure.
The cumulative delta supports the direction of this crossover.
Optional filters can further restrict these markings to periods where:
The short-term trend (as inferred from EMA slope) supports the direction.
Volume is elevated relative to a recent average.
A user-defined cooldown period prevents multiple markings within short succession to avoid clutter.
It is essential to underscore that these markers do not constitute buy or sell advice . Their role is diagnostic , helping the trader to identify potential moments of interest which should be analyzed in conjunction with broader context, such as trend structure, price action, support/resistance levels, or external market data.
EMA Structure
Six EMAs with fixed lengths (13 to 56) are plotted and colored dynamically based on the most recent crossover between the fastest and slowest (EMA1 and EMA6). These EMAs help visualize short- to mid-term trends. The crossover itself is marked with symbols, with vertical offset based on ATR to maintain chart readability.
Average Line (AVG)
The indicator also calculates an average price based on a fixed window (100 bars). This is not a standard moving average but rather a raw average of recent prices stored in a circular buffer. The average is plotted, and its relative distance to the current price is labeled as a percentage. This feature serves as a simplified representation of fair value or mean reversion anchor.
EMA6 vs AVG Cross
Another layer of point of interest detection involves EMA6 crossing the AVG line. This crossover is only considered valid if EMA6 shows slope consistency in the crossing direction. These events are marked using symbols and offset vertically to avoid overlapping price action.
Divergence Detection
The script detects both regular and hidden divergences between price and delta:
Regular divergences are defined when price makes a higher high or lower low, while delta fails to confirm (makes a lower high or higher low).
Hidden divergences occur when price retraces (lower high or higher low), but delta moves against this retracement, indicating underlying strength or weakness.
Divergence points are labeled with "R" (regular) or "H" (hidden) and appear at local pivot highs or lows. The number of visible divergence labels can be limited for chart clarity.
POC and nPOC Calculations
The script includes a simplified volume profile implementation, calculating:
POC (Point of Control): the price level with the highest volume for the given period.
nPOC (non-tested POC): historical POCs that have not yet been revisited by price.
Price levels are bucketed into rows (user-defined), and volume per bucket is tracked to identify the POC. Upon a new period (e.g., day, week), a horizontal POC line is drawn. Once tested by price, the line’s appearance changes (color fades, label shrinks), helping users distinguish between untouched and touched levels.
Limits are enforced on the number of retained POCs and their maximum distance from current bars to optimize performance and chart readability.
Exchange Aggregation
Volume data is aggregated across major exchanges. This ensures that the delta calculation captures a broader market picture beyond a single venue, reducing exchange-specific noise.
How to Interpret Values
Delta Band: Wide bands indicate strong directional imbalance. Narrow bands suggest indecision or low volume.
EMA Crossover Symbols: Appear on directional shifts in moving averages. Multiple EMAs reinforcing the same slope typically indicate stronger trend.
AVG Line: Represents average price over recent history. Large deviations can indicate overextension or potential mean reversion.
Divergences: Regular ones may point to weakening momentum; hidden ones can suggest continuation despite corrective price action.
POC / nPOC: Key volume-based support/resistance levels. Untested nPOCs can act as magnets for price retests.
How to Best Use This Indicator
Use in conjunction with trend context (e.g., higher timeframe EMAs) to avoid counter-trend indications.
Treat delta spikes as caution zones—especially if they occur at known support/resistance.
Watch for divergences as early warning signs before price reverses.
Use POC/nPOC as target levels, especially if aligned with delta signals.
Apply volume and trend filters to reduce noise on shorter timeframes.
Added Value
Multi-exchange volume aggregation makes the delta calculation more robust.
Real-time cumulative delta overlaid directly on the price chart provides immediate context.
Points of interest on chart are conservative and filterable, intended to reduce false positives.
The combination of delta, trend-following EMAs, fair value line, and volume profile data is rarely found in one overlay script.
POC/nPOC visualization based on real traded volume helps identify high-interest zones for future price interaction.
Why Is It Worth Paying For
While free alternatives may provide partial insights (e.g., basic delta or single EMA crossovers), this indicator integrates multiple domains—delta, divergence, average price, trend overlays, and profile levels—into a coherent, optimized chart tool. The value lies not just in having these tools, but in how they are synchronized and visualized.
Furthermore, sourcing and synchronizing volume data from multiple exchanges for delta estimation is not straightforward in Pine Script and adds to the indicator's complexity and utility.
Disclaimers and Limitations
Delta estimation is based on candle structure and assumes wick/body distribution reflects buyer/seller activity, which may not always be precise.
Multi-exchange volume data relies on availability via TradingView’s request.security() function; if exchange data is missing or delayed, results may be incomplete.
Divergences do not guarantee reversals—should be used as part of a broader analysis framework.
On illiquid instruments or exotic pairs, the value of delta and volume-based analytics may be reduced due to unreliable volume.
Exponential Action Map (EAM)### **Exponential Action Map (EAM) – Description and Differences from VPVR**
The Exponential Action Map (EAM) indicator is a Pine Script-based volume profile indicator that offers **a weighted representation of buying and selling activity**. Unlike the standard **Volume Profile Visible Range (VPVR)**, which simply shows traded volume at various price levels, the EAM provides the following additional features:
1. **Exponential Weighting**:
- Instead of treating the volume of all considered bars equally, the EAM uses a **decay factor** to gradually diminish the significance of older data. This allows **more recent price movements to have greater influence**, making it particularly useful for short-term analysis.
2. **Exponential Stealth Move (ESM)**:
- In addition to buy and sell volume, the EAM calculates and displays the **Exponential Stealth Move (ESM)**.
- This measures the relative price movement compared to volume and highlights areas where **significant price changes occur with low volume**, which may indicate institutional activity or strong momentum.
- The ESM visualization is not present in VPVR, making it a distinct and valuable feature.
3. **Visualization Methodology**:
- Instead of simple histograms like in VPVR, volume is represented by **dynamic boxes** that encompass Buy (EBA), Sell (ESA), and Stealth Move (ESM) activities.
- The size and color of these boxes are **customizable**, allowing for clear differentiation between various volume types.
4. **Flexibility & Configuration**:
- Users can adjust parameters such as **Number of Bars, Decay Factor, Bar Width, and Maximum History Data**.
- The ability to **toggle historical data visibility** offers a **tailored view** that VPVR does not provide.
**Conclusion:** The EAM extends the classic volume profile (VPVR) by introducing **time-weighted volume analysis and detection of Stealth Moves (ESM)**. This not only highlights price levels with high trading volume but also reveals **price movements with low liquidity**, which can potentially indicate institutional interest.
Simplified Market ProfileVolume Bins: This script divides the price range into num_bins equal price levels. Each bin holds the cumulative volume for that price range.
Profile Length: The number of past bars that the profile considers for building the volume histogram.
Bin Size: The price range between bins is determined by dividing the difference between the highest and lowest prices over the specified range.
Volume Calculation: The script iterates over each bar within the specified range, determining which price bin the bar’s volume should be added to.
Plotting: The script visualizes the volume profile as lines plotted horizontally at different price levels, with thickness proportional to the volume traded at that level.
CVD - Cumulative Volume Delta (Chart)█ OVERVIEW
This indicator displays cumulative volume delta (CVD) as an on-chart oscillator. It uses intrabar analysis to obtain more precise volume delta information compared to methods that only use the chart's timeframe.
The core concepts in this script come from our first CVD indicator , which displays CVD values as plot candles in a separate indicator pane. In this script, CVD values are scaled according to price ranges and represented on the main chart pane.
█ CONCEPTS
Bar polarity
Bar polarity refers to the position of the close price relative to the open price. In other words, bar polarity is the direction of price change.
Intrabars
Intrabars are chart bars at a lower timeframe than the chart's. Each 1H chart bar of a 24x7 market will, for example, usually contain 60 bars at the lower timeframe of 1min, provided there was market activity during each minute of the hour. Mining information from intrabars can be useful in that it offers traders visibility on the activity inside a chart bar.
Lower timeframes (LTFs)
A lower timeframe is a timeframe that is smaller than the chart's timeframe. This script utilizes a LTF to analyze intrabars, or price changes within a chart bar. The lower the LTF, the more intrabars are analyzed, but the less chart bars can display information due to the limited number of intrabars that can be analyzed.
Volume delta
Volume delta is a measure that separates volume into "up" and "down" parts, then takes the difference to estimate the net demand for the asset. This approach gives traders a more detailed insight when analyzing volume and market sentiment. There are several methods for determining whether an asset's volume belongs in the "up" or "down" category. Some indicators, such as On Balance Volume and the Klinger Oscillator , use the change in price between bars to assign volume values to the appropriate category. Others, such as Chaikin Money Flow , make assumptions based on open, high, low, and close prices. The most accurate method involves using tick data to determine whether each transaction occurred at the bid or ask price and assigning the volume value to the appropriate category accordingly. However, this method requires a large amount of data on historical bars, which can limit the historical depth of charts and the number of symbols for which tick data is available.
In the context where historical tick data is not yet available on TradingView, intrabar analysis is the most precise technique to calculate volume delta on historical bars on our charts. This indicator uses intrabar analysis to achieve a compromise between simplicity and accuracy in calculating volume delta on historical bars. Our Volume Profile indicators use it as well. Other volume delta indicators in our Community Scripts , such as the Realtime 5D Profile , use real-time chart updates to achieve more precise volume delta calculations. However, these indicators aren't suitable for analyzing historical bars since they only work for real-time analysis.
This is the logic we use to assign intrabar volume to the "up" or "down" category:
• If the intrabar's open and close values are different, their relative position is used.
• If the intrabar's open and close values are the same, the difference between the intrabar's close and the previous intrabar's close is used.
• As a last resort, when there is no movement during an intrabar and it closes at the same price as the previous intrabar, the last known polarity is used.
Once all intrabars comprising a chart bar are analyzed, we calculate the net difference between "up" and "down" intrabar volume to produce the volume delta for the chart bar.
█ FEATURES
CVD resets
The "cumulative" part of the indicator's name stems from the fact that calculations accumulate during a period of time. By periodically resetting the volume delta accumulation, we can analyze the progression of volume delta across manageable chunks, which is often more useful than looking at volume delta accumulated from the beginning of a chart's history.
You can configure the reset period using the "CVD Resets" input, which offers the following selections:
• None : Calculations do not reset.
• On a fixed higher timeframe : Calculations reset on the higher timeframe you select in the "Fixed higher timeframe" field.
• At a fixed time that you specify.
• At the beginning of the regular session .
• On trend changes : Calculations reset on the direction change of either the Aroon indicator, Parabolic SAR , or Supertrend .
• On a stepped higher timeframe : Calculations reset on a higher timeframe automatically stepped using the chart's timeframe and following these rules:
Chart TF HTF
< 1min 1H
< 3H 1D
<= 12H 1W
< 1W 1M
>= 1W 1Y
Specifying intrabar precision
Ten options are included in the script to control the number of intrabars used per chart bar for calculations. The greater the number of intrabars per chart bar, the fewer chart bars can be analyzed.
The first five options allow users to specify the approximate amount of chart bars to be covered:
• Least Precise (Most chart bars) : Covers all chart bars by dividing the current timeframe by four.
This ensures the highest level of intrabar precision while achieving complete coverage for the dataset.
• Less Precise (Some chart bars) & More Precise (Less chart bars) : These options calculate a stepped LTF in relation to the current chart's timeframe.
• Very precise (2min intrabars) : Uses the second highest quantity of intrabars possible with the 2min LTF.
• Most precise (1min intrabars) : Uses the maximum quantity of intrabars possible with the 1min LTF.
The stepped lower timeframe for "Less Precise" and "More Precise" options is calculated from the current chart's timeframe as follows:
Chart Timeframe Lower Timeframe
Less Precise More Precise
< 1hr 1min 1min
< 1D 15min 1min
< 1W 2hr 30min
> 1W 1D 60min
The last five options allow users to specify an approximate fixed number of intrabars to analyze per chart bar. The available choices are 12, 24, 50, 100, and 250. The script will calculate the LTF which most closely approximates the specified number of intrabars per chart bar. Keep in mind that due to factors such as the length of a ticker's sessions and rounding of the LTF, it is not always possible to produce the exact number specified. However, the script will do its best to get as close to the value as possible.
As there is a limit to the number of intrabars that can be analyzed by a script, a tradeoff occurs between the number of intrabars analyzed per chart bar and the chart bars for which calculations are possible.
Display
This script displays raw or cumulative volume delta values on the chart as either line or histogram oscillator zones scaled according to the price chart, allowing traders to visualize volume activity on each bar or cumulatively over time. The indicator's background shows where CVD resets occur, demarcating the beginning of new zones. The vertical axis of each oscillator zone is scaled relative to the one with the highest price range, and the oscillator values are scaled relative to the highest volume delta. A vertical offset is applied to each oscillator zone so that the highest oscillator value aligns with the lowest price. This method ensures an accurate, intuitive visual comparison of volume activity within zones, as the scale is consistent across the chart, and oscillator values sit below prices. The vertical scale of oscillator zones can be adjusted using the "Zone Height" input in the script settings.
This script displays labels at the highest and lowest oscillator values in each zone, which can be enabled using the "Hi/Lo Labels" input in the "Visuals" section of the script settings. Additionally, the oscillator's value on a chart bar is displayed as a tooltip when a user hovers over the bar, which can be enabled using the "Value Tooltips" input.
Divergences occur when the polarity of volume delta does not match that of the chart bar. The script displays divergences as bar colors and background colors that can be enabled using the "Color bars on divergences" and "Color background on divergences" inputs.
An information box in the lower-left corner of the indicator displays the HTF used for resets, the LTF used for intrabars, the average quantity of intrabars per chart bar, and the number of chart bars for which there is LTF data. This is enabled using the "Show information box" input in the "Visuals" section of the script settings.
FOR Pine Script™ CODERS
• This script utilizes `ltf()` and `ltfStats()` from the lower_tf library.
The `ltf()` function determines the appropriate lower timeframe from the selected calculation mode and chart timeframe, and returns it in a format that can be used with request.security_lower_tf() .
The `ltfStats()` function, on the other hand, is used to compute and display statistical information about the lower timeframe in an information box.
• The script utilizes display.data_window and display.status_line to restrict the display of certain plots.
These new built-ins allow coders to fine-tune where a script’s plot values are displayed.
• The newly added session.isfirstbar_regular built-in allows for resetting the CVD segments at the start of the regular session.
• The VisibleChart library developed by our resident PineCoders team leverages the chart.left_visible_bar_time and chart.right_visible_bar_time variables to optimize the performance of this script.
These variables identify the opening time of the leftmost and rightmost visible bars on the chart, allowing the script to recalculate and draw objects only within the range of visible bars as the user scrolls.
This functionality also enables the scaling of the oscillator zones.
These variables are just a couple of the many new built-ins available in the chart.* namespace.
For more information, check out this blog post or look them up by typing "chart." in the Pine Script™ Reference Manual .
• Our ta library has undergone significant updates recently, including the incorporation of the `aroon()` indicator used as a method for resetting CVD segments within this script.
Revisit the library to see more of the newly added content!
Look first. Then leap.