OPEN-SOURCE SCRIPT
Volume ROC (smoothed)

Description
The Volume ROC (Rate of Change) indicator is designed to measure the momentum of trading volume over a user-defined period, adjusted for the trading session length of the symbol (e.g., 8.5 hours for the FTSEMIB index). This makes it particularly useful for intraday charts where standard daily calculations might not align with actual trading days.
By focusing on volume changes rather than price, it helps identify potential shifts in market participation, such as accumulation, distribution, or unusual activity that could precede price movements.
How It Works:
Session Adjustment:
The indicator calculates the number of candles per trading day based on the input session duration (in hours) and the chart's timeframe. This ensures that the ROC and other calculations are based on "trading days" rather than calendar days, making it adaptable to markets with non-standard hours like European indices (e.g., FTSEMIB).
Daily Data Fetch:
It retrieves daily high, low, close, and volume data using "request.security" to ensure consistency across timeframes.
ROC Calculation:
The Rate of Change (ROC) is computed on volume using "ta.change" over the specified length (in days), multiplied by the candles-per-day factor for timeframe independence. By chosing the subtraction method instead of the division method we avoid distortions of the ROC below the zero line (method ok for timespans inferior to two years).
Smoothing with SMA:
A Simple Moving Average (SMA) is applied to the ROC to reduce noise and highlight trends in volume momentum.
Standard Deviation Bands:
The standard deviation of the smoothed ROC is calculated over a lookback period. Bands are plotted at +2σ (overbought) and -2σ (oversold) to provide context for extreme volume changes, similar to Bollinger Bands but applied to volume ROC.
Key Plots:
SMA Line (Orange): The smoothed ROC value. Positive values indicate increasing volume momentum; negative values suggest decreasing momentum.
Zero Line (Black Dotted): A reference line at 0, separating positive and negative ROC territories.
+2σ Band (Red Dotted): Upper overbought threshold. Crossings above this may signal excessive buying volume.
-2σ Band (Green Dotted): Lower oversold threshold. Dips below this could indicate capitulation or low interest.
Usage and Interpretation:
Trend Confirmation:
Use the SMA crossing above/below zero to confirm price trends with volume backing. For example, a rising price with positive Volume ROC suggests strong conviction.
Divergences:
Look for divergences between price and Volume ROC (e.g., price making new highs but ROC weakening), which can signal reversals.
Overbought/Oversold Signals:
The ±2σ bands act as dynamic levels. Volume ROC spiking above +2σ might precede pullbacks, while below -2σ could indicate buying opportunities.
Best Applied To:
European indices (like FTSEMIB or DAX), stocks, or futures with defined session hours. Test on intraday (e.g., 2h) and combine with price-based indicators like RSI or MACD for confluence.
Customization:
Adjust the ROC/SMA lengths for sensitivity (shorter for scalping, longer for swings). The STDEV lookback affects band width—longer periods create smoother bands.
Limitations:
Volume data can be noisy in low-liquidity symbols. This indicator assumes consistent session lengths; irregular holidays may affect accuracy. Always backtest and use with risk management.
This indicator is original and built for educational/trading purposes.
The Volume ROC (Rate of Change) indicator is designed to measure the momentum of trading volume over a user-defined period, adjusted for the trading session length of the symbol (e.g., 8.5 hours for the FTSEMIB index). This makes it particularly useful for intraday charts where standard daily calculations might not align with actual trading days.
By focusing on volume changes rather than price, it helps identify potential shifts in market participation, such as accumulation, distribution, or unusual activity that could precede price movements.
How It Works:
Session Adjustment:
The indicator calculates the number of candles per trading day based on the input session duration (in hours) and the chart's timeframe. This ensures that the ROC and other calculations are based on "trading days" rather than calendar days, making it adaptable to markets with non-standard hours like European indices (e.g., FTSEMIB).
Daily Data Fetch:
It retrieves daily high, low, close, and volume data using "request.security" to ensure consistency across timeframes.
ROC Calculation:
The Rate of Change (ROC) is computed on volume using "ta.change" over the specified length (in days), multiplied by the candles-per-day factor for timeframe independence. By chosing the subtraction method instead of the division method we avoid distortions of the ROC below the zero line (method ok for timespans inferior to two years).
Smoothing with SMA:
A Simple Moving Average (SMA) is applied to the ROC to reduce noise and highlight trends in volume momentum.
Standard Deviation Bands:
The standard deviation of the smoothed ROC is calculated over a lookback period. Bands are plotted at +2σ (overbought) and -2σ (oversold) to provide context for extreme volume changes, similar to Bollinger Bands but applied to volume ROC.
Key Plots:
SMA Line (Orange): The smoothed ROC value. Positive values indicate increasing volume momentum; negative values suggest decreasing momentum.
Zero Line (Black Dotted): A reference line at 0, separating positive and negative ROC territories.
+2σ Band (Red Dotted): Upper overbought threshold. Crossings above this may signal excessive buying volume.
-2σ Band (Green Dotted): Lower oversold threshold. Dips below this could indicate capitulation or low interest.
Usage and Interpretation:
Trend Confirmation:
Use the SMA crossing above/below zero to confirm price trends with volume backing. For example, a rising price with positive Volume ROC suggests strong conviction.
Divergences:
Look for divergences between price and Volume ROC (e.g., price making new highs but ROC weakening), which can signal reversals.
Overbought/Oversold Signals:
The ±2σ bands act as dynamic levels. Volume ROC spiking above +2σ might precede pullbacks, while below -2σ could indicate buying opportunities.
Best Applied To:
European indices (like FTSEMIB or DAX), stocks, or futures with defined session hours. Test on intraday (e.g., 2h) and combine with price-based indicators like RSI or MACD for confluence.
Customization:
Adjust the ROC/SMA lengths for sensitivity (shorter for scalping, longer for swings). The STDEV lookback affects band width—longer periods create smoother bands.
Limitations:
Volume data can be noisy in low-liquidity symbols. This indicator assumes consistent session lengths; irregular holidays may affect accuracy. Always backtest and use with risk management.
This indicator is original and built for educational/trading purposes.
Script open-source
Dans l'esprit TradingView, le créateur de ce script l'a rendu open source afin que les traders puissent examiner et vérifier ses fonctionnalités. Bravo à l'auteur! Bien que vous puissiez l'utiliser gratuitement, n'oubliez pas que la republication du code est soumise à nos Règles.
Clause de non-responsabilité
Les informations et publications ne sont pas destinées à être, et ne constituent pas, des conseils ou recommandations financiers, d'investissement, de trading ou autres fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.
Script open-source
Dans l'esprit TradingView, le créateur de ce script l'a rendu open source afin que les traders puissent examiner et vérifier ses fonctionnalités. Bravo à l'auteur! Bien que vous puissiez l'utiliser gratuitement, n'oubliez pas que la republication du code est soumise à nos Règles.
Clause de non-responsabilité
Les informations et publications ne sont pas destinées à être, et ne constituent pas, des conseils ou recommandations financiers, d'investissement, de trading ou autres fournis ou approuvés par TradingView. Pour en savoir plus, consultez les Conditions d'utilisation.