OPEN-SOURCE SCRIPT
Güncellendi Relative Volume multi-timeframe ( D, W, M)

Relative Volume (RVOL) measures how active the market is compared to its normal volume. This indicator calculates RVOL on a selectable higher timeframe (Daily / Weekly / Monthly) and plots it as a column histogram, with colors matched to candle direction (bull/bear) either from the source timeframe or from the current chart timeframe.
What it calculates
RVOL is computed as:
RVOL = Current Volume (TF) ÷ SMA(Volume (TF), Lookback)
Where:
TF is the selected source timeframe: D, W, or M
Lookback is the number of TF bars used to compute the SMA baseline (default 30)
Interpretation:
RVOL = 1.0 → volume is equal to the average volume over the lookback period
RVOL > 1.0 → above-average activity (more participation than normal)
RVOL < 1.0 → below-average activity (less participation than normal)
Multi-timeframe behavior
The indicator uses higher-timeframe volume data regardless of the chart timeframe:
If you are on an intraday chart and TF = Daily, RVOL represents today’s accumulated daily volume so far compared to the average daily volume over the lookback period.
On Daily charts with TF = Daily, each bar represents a full day, so RVOL is the cleanest “day vs average day” comparison.
Weekly/Monthly modes work similarly, comparing the current week/month’s volume (or volume so far) to the average of prior weeks/months.
No forward-looking data is used (lookahead off).
Column coloring (candle-matched)
You can choose how RVOL columns are colored:
1) Source timeframe (D/W/M)
Colors are based on the candle direction of the selected TF:
Bullish TF candle (Close > Open) → bull color
Bearish TF candle (Close < Open) → bear color
Doji/neutral → neutral color
2) Chart timeframe
Colors are based on the current chart candles (your active timeframe), using the same bull/bear/doji logic.
This makes it easy to visually connect “unusual volume” with “which side controlled the candle” on the timeframe you care about.
Threshold guide lines
Horizontal levels are included to classify volume intensity at a glance:
1.0 = average volume baseline
1.2 = early elevated activity
1.5 = clearly above average
2.0 = strong participation
3.0 = high momentum / “power” activity
5.0 = extreme / climax-level activity
These are guides, not signals. RVOL measures participation, not direction or trend by itself.
How to use it
Use RVOL to identify periods where volume is meaningfully above average:
Confirm breakouts, trend continuation, or major reaction candles with elevated RVOL
Spot low-interest environments where moves are more likely to fade (low RVOL)
Combine with price structure (levels, ranges, trend) to distinguish accumulation/distribution vs “noise”
Notes / limitations
On intraday charts with TF = Daily/Weekly/Monthly, the current TF bar may be in progress, so RVOL reflects volume accumulated so far versus the average baseline. This is expected behavior.
The indicator does not generate buy/sell signals; it provides volume context for your existing strategy.
What it calculates
RVOL is computed as:
RVOL = Current Volume (TF) ÷ SMA(Volume (TF), Lookback)
Where:
TF is the selected source timeframe: D, W, or M
Lookback is the number of TF bars used to compute the SMA baseline (default 30)
Interpretation:
RVOL = 1.0 → volume is equal to the average volume over the lookback period
RVOL > 1.0 → above-average activity (more participation than normal)
RVOL < 1.0 → below-average activity (less participation than normal)
Multi-timeframe behavior
The indicator uses higher-timeframe volume data regardless of the chart timeframe:
If you are on an intraday chart and TF = Daily, RVOL represents today’s accumulated daily volume so far compared to the average daily volume over the lookback period.
On Daily charts with TF = Daily, each bar represents a full day, so RVOL is the cleanest “day vs average day” comparison.
Weekly/Monthly modes work similarly, comparing the current week/month’s volume (or volume so far) to the average of prior weeks/months.
No forward-looking data is used (lookahead off).
Column coloring (candle-matched)
You can choose how RVOL columns are colored:
1) Source timeframe (D/W/M)
Colors are based on the candle direction of the selected TF:
Bullish TF candle (Close > Open) → bull color
Bearish TF candle (Close < Open) → bear color
Doji/neutral → neutral color
2) Chart timeframe
Colors are based on the current chart candles (your active timeframe), using the same bull/bear/doji logic.
This makes it easy to visually connect “unusual volume” with “which side controlled the candle” on the timeframe you care about.
Threshold guide lines
Horizontal levels are included to classify volume intensity at a glance:
1.0 = average volume baseline
1.2 = early elevated activity
1.5 = clearly above average
2.0 = strong participation
3.0 = high momentum / “power” activity
5.0 = extreme / climax-level activity
These are guides, not signals. RVOL measures participation, not direction or trend by itself.
How to use it
Use RVOL to identify periods where volume is meaningfully above average:
Confirm breakouts, trend continuation, or major reaction candles with elevated RVOL
Spot low-interest environments where moves are more likely to fade (low RVOL)
Combine with price structure (levels, ranges, trend) to distinguish accumulation/distribution vs “noise”
Notes / limitations
On intraday charts with TF = Daily/Weekly/Monthly, the current TF bar may be in progress, so RVOL reflects volume accumulated so far versus the average baseline. This is expected behavior.
The indicator does not generate buy/sell signals; it provides volume context for your existing strategy.
Sürüm Notları
Update: Added ATR Line (Relative Volume code unchanged)What changed
Added an Average True Range (ATR) line to the existing Relative Volume (RVOL) indicator.
ATR settings are configurable:
ATR Length (default: 14)
ATR Smoothing (RMA / SMA / EMA / WMA, default: RMA)
ATR Color (default: dark red)
ATR Line Width
What did NOT change
The original RVOL logic is unchanged:
Same multi-timeframe volume sourcing (D/W/M)
Same lookback calculation for average volume
Same candle-matched coloring option (source timeframe vs chart timeframe)
Same RVOL column plot and threshold lines (1.0 / 1.2 / 1.5 / 2 / 3 / 5)
Important note for users (units)
RVOL is a ratio (unitless), while ATR is in price units.
Both are plotted in the same pane for convenience, but they are on different “units,” so visually the ATR line may not align with RVOL levels unless you adjust the plot scale in TradingView.
Why this update matters
This lets you see participation (RVOL) and volatility (ATR) together:
RVOL helps identify unusual activity vs normal volume.
ATR shows whether volatility is expanding or contracting during those RVOL events.
Sürüm Notları
Update: ATR no longer “crushes” RVOL visibility (scaled ATR + Pine v6 migration)Why this update was needed
This script plots two different kinds of numbers in the same indicator pane:
RVOL (Relative Volume): a ratio like 0.8, 1.2, 2.5, 5.0
ATR (Average True Range): a price-unit value like 0.30, 2.80, 18.50
TradingView auto-scales the y-axis based on the largest plotted range.
So when ATR is large (high-priced or volatile tickers), the pane’s scale expands to fit ATR, and the RVOL columns become visually compressed and hard to read.
Result: ATR stays visible, but RVOL becomes almost flat → the indicator loses its purpose.
What we changed (mechanism, not “best practice”)
1) ATR is now plotted in a comparable scale to RVOL (default mode)
Instead of plotting raw ATR (price units) on the same axis as RVOL (ratios), we added a scaled ATR line option.
You can choose one of three ATR plot modes:
Relative ATR (default):
ATR / SMA(ATR, baseline)
This turns ATR into a “volatility regime” ratio centered around ~1.0
Example interpretation:
0.8 = volatility below its baseline
1.0 = normal volatility
1.5+ = volatility expansion (more risk / bigger ranges)
ATR as % of Close:
(ATR / Close) * 100
This normalizes ATR across different price levels
Useful for comparing volatility across tickers with very different prices
Raw ATR:
Included for people who explicitly want the old behavior
Warning: raw ATR can still squash RVOL visually because it uses price units
This solves the core scaling problem: the plotted ATR line is now in a similar numeric range to RVOL, so the y-axis stays useful for RVOL.
2) Optional clamp to prevent rare ATR spikes from dominating the pane
Even scaled ATR can spike on extreme candles (earnings gaps, halts, microcaps, etc.).
We added an optional Clamp Max input to cap the plotted ATR line (scaled value only).
If Clamp Max = 10, any scaled ATR above 10 plots as 10.
Set Clamp Max = 0 to disable clamping.
This is not cosmetic — it prevents one extreme event from flattening every other bar visually for months.
3) Raw ATR value can be shown without affecting the pane scale
Some users still want the real ATR number (price units) for position sizing, stops, etc.
So we added an option:
Show raw ATR in Data Window / Status line only
This means:
You can read the raw ATR value in the indicator readout
But it does not influence the pane’s y-axis scale (so RVOL stays readable)
4) Pine Script v6 upgrade + “dynamic_requests” compatibility fix
We upgraded the script from Pine v5 → Pine v6.
During this, TradingView’s compiler enforces a rule when dynamic_requests=false:
You cannot place request.security() inside conditional expressions (?:), if, loops, etc.
The original color-matching logic used a ternary to decide between chart timeframe candles vs source timeframe candles. That was rewritten so request.security() calls happen unconditionally, then we select which series to use afterward.
Same output, but structurally valid in v6 and more deterministic.
How users should use it
Recommended setup (most users)
RVOL timeframe: match your analysis horizon (D for swing/position, W for longer-term)
ATR plot mode: Relative ATR (default)
Baseline length (Relative mode): 50 is a good starting point
Clamp Max: keep at 10 unless you trade ultra-volatile microcaps
Reading the ATR line (Relative mode)
ATR line ~1.0 → normal volatility regime
ATR line rising above 1.2–1.5 → volatility expansion
often means higher risk but also higher opportunity
breakouts and reversals tend to “travel” more
ATR line below 1.0 → contraction
tighter ranges, less follow-through, breakouts fail more often
Keep your original RVOL interpretation unchanged
This update does not change RVOL math or thresholds:
1.0 baseline
1.2 early
1.5 valid
2.0 strong
3.0 power
5.0 climax
RVOL still answers: “Is volume elevated relative to its own recent history on this timeframe?”
ATR now answers (in a compatible scale): “Is volatility expanding or contracting relative to its own baseline?”
Summary of the change in one sentence
We replaced raw ATR plotting (price units) with normalized ATR plotting (ratio or percent), so ATR remains useful without breaking RVOL visibility — and migrated the whole script cleanly to Pine v6 with deterministic request.security() structure.
Açık kaynak kodlu komut dosyası
Gerçek TradingView ruhuyla, bu komut dosyasının mimarı, yatırımcıların işlevselliğini inceleyip doğrulayabilmesi için onu açık kaynaklı hale getirdi. Yazarı tebrik ederiz! Ücretsiz olarak kullanabilseniz de, kodu yeniden yayınlamanın Topluluk Kurallarımıza tabi olduğunu unutmayın.
Researching companies, industries & charts with custom indicators. This is not financial advice.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, alım satım veya diğer türden tavsiye veya öneriler anlamına gelmez ve teşkil etmez. Kullanım Koşulları bölümünde daha fazlasını okuyun.
Açık kaynak kodlu komut dosyası
Gerçek TradingView ruhuyla, bu komut dosyasının mimarı, yatırımcıların işlevselliğini inceleyip doğrulayabilmesi için onu açık kaynaklı hale getirdi. Yazarı tebrik ederiz! Ücretsiz olarak kullanabilseniz de, kodu yeniden yayınlamanın Topluluk Kurallarımıza tabi olduğunu unutmayın.
Researching companies, industries & charts with custom indicators. This is not financial advice.
Feragatname
Bilgiler ve yayınlar, TradingView tarafından sağlanan veya onaylanan finansal, yatırım, alım satım veya diğer türden tavsiye veya öneriler anlamına gelmez ve teşkil etmez. Kullanım Koşulları bölümünde daha fazlasını okuyun.