How to Use the Relative Volume Indicator (RVOL)
How to use the relative volume indicator: the RVOL formula, a worked example where one bar reads 1.5 and 2.5, and what it means on forex.
Relative volume, or RVOL, is this bar's volume divided by the average volume of the last n bars, so 1.0 means a normal bar and 2.0 means twice the usual activity. It is context for a move rather than a signal, and the first thing to settle is which average you are dividing by, because the same bar scores differently on a 10-bar average than on a 50-bar one.
What is the relative volume indicator (RVOL)?
A ratio that ranks one bar's activity against its own recent history.
StockCharts' ChartSchool says it "compares volume data for each price bar with the average volume over a specified number of prior bars", and sets the reading out plainly: "When the indicator value is greater than one, the volume is higher than average; conversely, a value less than one means lower than average volume."
On who invented it, there is one claim in circulation. TrendSpider says the indicator was "developed by J. Welles Wilder", and places volume analysis itself with "Richard Wyckoff in the early 1900s". That is their attribution, quoted as published.
What is the relative volume formula?
ChartSchool prints it in one line: "RVOL = current volume / average volume over the look-back period".
Three things have to be named with any reading, or the number cannot be compared with anyone else's:
- n, the number of prior bars in the average
- the type of average. ChartSchool allows "SMA or EMA", and TrendSpider's indicator help offers a third, "EMA, SMA, or HullMA"
- the scale: ratio or percentage
ChartSchool documents all three as settings. Its own words on the first two: "By default, the average volume used in the formula is calculated with a 50-period simple moving average, but the number of periods as well as the type of moving average (SMA or EMA) can be modified to fit the timeframe being analyzed."
ChartSchool on the scale: "The Scale is set to Ratio by default, as this is how RVOL is traditionally measured. Chartists can change the Scale to Percentage instead", and "When Scale is set to Percentage, the Baseline setting is automatically changed to 0.0". On the ratio scale a reading of 1.5 means one and a half times average. On the percentage scale the same bar reads 50, because the baseline moved from 1.0 to 0.0. A screenshot of a number with no scale label is not a reading you can reuse.
And the bounds, from the same page: "The lower limit for this ratio is zero (where the current volume is zero). There is theoretically no upper value limit, although in practice anything over 4.0 is considered a volume spike and not a typical RVOL value."
Does ChartLabs have RVOL?
Yes, as Relative Volume. Open the chart's Indicators menu, go to the Standard list, and look under the Volume heading. It opens in its own pane below price and is drawn as bars with the baseline at 1.0, so a bar standing above the baseline is a busier than average bar and one below it is a quieter one.
It is the classic ratio on the ratio scale: this bar's volume divided by a simple average of the 20 bars before it, with the current bar left out of its own average. Length is its one setting, which means the average is always simple, there is no percentage scale to switch to and there is no time-of-day mode. A window with no volume at all shows no value rather than a reading.
A worked example, with round numbers
One bar, two settings:
- This bar's volume: 1,500
- Average of the last 10 bars: 1,000, so RVOL = 1,500 / 1,000 = 1.5
- Average of the last 50 bars: 600, so RVOL = 1,500 / 600 = 2.5
Same bar, same market, two readings, and they straddle the most commonly published threshold: on the 50-bar average this bar clears 2.0, and on the 10-bar average it does not.
For one bar, RVOL is V divided by the average, so the ratio between two platforms' readings is the inverse ratio of their averages: RVOL(a) / RVOL(b) = average(b) / average(a). Here that is 600 / 1,000 = 0.6, and 1.5 / 2.5 = 0.6. The two readings disagree by exactly the ratio of the two averages, and in one direction: when volume has been rising, the shorter average is the larger number, so the short-lookback RVOL reads lower on the identical bar.
Take volume rising by 100 every bar, from 1,000. At bar 60 the volume is 6,900, the average of the previous 10 bars is 6,350 and the average of the previous 50 bars is 4,350. RVOL is 1.09 on the short lookback and 1.59 on the long one. Nothing about the market changed between those two numbers.
How do you use the relative volume indicator?
As context. It answers one narrow question: is this bar busier or quieter than this instrument's own recent bars. It says nothing about direction.
What the published guides say it means, as quotations rather than rules to adopt. ChartSchool: "a higher RVOL value shows a level of commitment to the price move; the current trend will likely continue", with the caution that "an RVOL of 1.1 may not be worth acting on". altFINS: "High RVOL Values: Suggests strong market commitment to the current price move". TrendSpider lists breakouts, reversals and consolidation as the three situations traders look at. None of them publishes a sample size, a date range or a tested result behind any of it.
Two warnings in the published record. TrendSpider notes that "RVOL is a relative measure and doesn't provide information on absolute volume levels", and that "a daily RVOL may not be directly comparable to an intraday RVOL". TradingSim writes "High RVOL is also associated with pump and dumps. Never assume that a high RVOL automatically means a buy signal", and "Make sure you test your buying and selling strategies before you risk any money based on RVOL."
What is a high relative volume?
The published answers disagree, and each one is attached to a different average, which means they are not even the same rule.
| Threshold | Printed as | Divided by what | Source |
|---|---|---|---|
| 1.1 | "an RVOL of 1.1 may not be worth acting on" | 50-period SMA by default | chartschool.stockcharts.com |
| 1.5 to 2.0 | "An RVOL between 1.5 and 2.0 suggests moderately increased interest" | "typically 10 to 20 days" | tradingsim.com, 1 August 2026, updated 15 August 2026 |
| 2.0 | "Many day traders look for an RVOL over 2.0 before investing" | 50-period SMA by default | chartschool.stockcharts.com |
| 2.0 | "Many traders look for RVOL values above 2.0 before considering entry points" | "a specified number of periods (typically 30)" | altfins.com |
| 2.0 | "If the RVOL is at two or more than two, the stock is in play" | "10 Day average or three month averages" | bullishbears.com, 28 January 2026 |
| 2.5 | "many traders look for a relative volume of at least 2.5 to 1", for swing trading | 10-day average | tradingsim.com |
| 3.0 | "RVOL above 3.0 typically indicates a significant catalyst such as earnings, news, or an analyst upgrade" | 10-day average | tradingsim.com |
| 4.0 | "anything over 4.0 is considered a volume spike and not a typical RVOL value" | 50-period SMA by default | chartschool.stockcharts.com |
| 4.0 | "extreme spikes (e.g., RVOL > 4.0) can sometimes indicate overextension" | 30 periods | altfins.com |
So "above 2.0" is three different rules on three platforms, and the worked example shows a single bar that passes one of them and fails another. None of those numbers is adopted here.
Read the number against your own chart's history, with your own n written down beside it, and compare like with like. A reading only means something next to other readings taken on the same setting, the same instrument and the same bar interval.
Relative volume against average volume, and against relative volume at time
Average volume is the denominator. Relative volume is the division. Average volume tells you what a normal bar looks like in its own units, and RVOL tells you where this bar sits against it, as a multiple with no unit attached.
Relative volume at time is a third object, and ChartSchool documents it. Its RVOL-TOD variant compares a bar only with bars from the same clock time: "on a 5-minute chart, the RVOL-TOD value for today's 9:30 bar would compare volume for that bar with the average volume on previous 9:30 AM 5-minute bars". That answers a real problem, since a session open is busier than a mid-session lull on almost any instrument, and classic RVOL compares the open against the lull. Two limits on that variant: "the moving average type cannot be modified", and "For scanning purposes, daily volume data is incomplete during the trading day", which is the question of whether a half-finished bar belongs in the comparison at all.
TradingSim describes the same idea in prose, "often time-of-day adjusted so that morning volume is compared only to historical morning volume", and says this "time-weighted approach gives more accurate readings than simply dividing total daily volume". TradingSim publishes nothing behind "more accurate".
One more term turns up in searches: relative volume index. The guides all use "relative volume" for this ratio, so if you meet the phrase index, check which object the writer means before you borrow their number.
What does RVOL mean on a forex chart?
The same ratio, measured on whatever volume figure your chart carries.
Spot forex has no central exchange and no consolidated tape. So what a volume figure on a spot chart counts depends on where that chart's data comes from, and it is worth looking up for your own symbol rather than assuming. Whether two feeds give the same RVOL on the same bar is not something to assume either way.
A ratio of one bar's volume to the average of its neighbors is still a ratio, and it still ranks a bar against its own recent history. The published thresholds were written on share and crypto charts, where the vocabulary is shares traded, so they travel even less well than the lookback problem already makes them travel.
Do ChartLabs charts show volume?
Yes. The legend reads out the bar's volume as you move the cursor across the chart, and a Volume indicator can be added from the Indicators menu, where it opens in its own pane under price. It is off by default.
On Balance Volume, Price Volume Trend and Volume Ratio are in the same menu. Volume Ratio is its own indicator under its own name, so do not read it as RVOL: it is a different calculation with a different meaning.
Relative Volume is in that same list, and nothing here backtests it for you.
Where do I find it?
- StockCharts ships three of them as a plug-in pack: classic RVOL, the RVOL-Price Plot overlay and RVOL-Time of Day, with scans and alerts that use the same syntax. Its own example scans use two different settings, "[RVOL SMA(50) >= 2.0]" in one and "[RVOL EMA(20) >= 2.0]" in the other.
- TrendSpider ships it with three inputs, Length, MA Type and Base, where "1.1 'Base' is 10 percent greater than the average volume", and lists it as available in its scanner, strategy tester, alerts and checklist.
- altFINS exposes it as a screener filter for crypto.
- TradingSim walks through adding a "Relative Volume" study in thinkorswim.
How do you test RVOL in a backtest?
Record the settings with the trade, or the test is not repeatable. Six fields:
- n, the number of bars in the average
- the type of average: SMA, EMA or something else
- the scale: ratio or percentage, and the baseline if it is not 1.0
- the symbol and the bar interval
- the data feed, since a spot forex bar's volume comes from it
- whether the bar was complete when you read the number
ChartSchool defines its percentage scale as the percentage above or below average with the baseline at 0.0, so a ratio of 2.5 reads as 150 there. TradingSim shows a broker screen with an RVOL of "4056%" and never says whether that means 40.56 times average or 41.56. Two numbers, one indicator, and no way to line them up without knowing the convention.
ChartLabs is a manual backtesting app: you replay cleaned historical data bar by bar and place practice trades by hand, which is the setting where a rule like "only take this setup on a busy bar" gets tested honestly, because you watch the bar form instead of scanning for it after the fact. Each trade takes notes and tags, and the notes come through in the CSV export, so the RVOL reading and the setting it came from can live on the trade rather than in your memory. Our data is sourced from Dukascopy, tick level where it is available, cleaned to remove anomalies and built into 1-minute candles.
If you are new to this, the beginner's guide to backtesting a strategy covers the process end to end, the forex backtesting guide covers what changes on currency pairs, and backtesting accuracy covers the spread and slippage assumptions that decide whether any of it transfers.
Next step
Write your n and your average type down, then step one symbol bar by bar and log the reading on every trade you take. ChartLabs has a 7-day free trial with no credit card, then one plan at $20 a month or $200 a year: start your free trial.
Related Topics
Related Guides
Backtesting a Trading Strategy: A Beginner's Guide
What backtesting is, why it matters, and how to run one step by step: defining your rules, choosing clean historical data, stepping through the chart trade by trade, logging results, and reading the metrics that tell you whether your strategy has a real edge.
Forex Backtesting: Test Your Strategy on Real Data
A practical guide to backtesting forex strategies: why session dynamics, spread variation, and pair-specific behavior change your results, what clean historical data actually means, and a five-step process for testing a strategy before you risk real capital.
Backtesting Accuracy: How Slippage and Data Quality Matter
Why backtest results and live results drift apart, and what actually closes the gap: clean tick data, honest spread assumptions, and commission and slippage modelled directly on every trade you log.