ROC (Rate of Change) Refurbished▮ Introduction
The Rate of Change indicator (ROC) is a momentum oscillator.
It was first introduced in the early 1970s by the American technical analyst Welles Wilder.
It calculates the percentage change in price between periods.
ROC takes the current price and compares it to a price 'n' periods (user defined) ago.
The calculated value is then plotted and fluctuates above and below a Zero Line.
A technical analyst may use ROC for:
- trend identification;
- identifying overbought and oversold conditions.
Even though ROC is an oscillator, it is not bounded to a set range.
The reason for this is that there is no limit to how far a security can advance in price but of course there is a limit to how far it can decline.
If price goes to $0, then it obviously will not decline any further.
Because of this, ROC can sometimes appear to be unbalanced.
(TradingView)
▮ Improvements
The following features were added:
1. Eight moving averages for the indicator;
2. Dynamic Zones;
3. Rules for coloring bars/candles.
▮ Motivation
Averages have been added to improve trend identification.
For finer tuning, you can choose the type of averages.
You can hide them if you don't need them.
The Dynamic Zones has been added to make it easier to identify overbought/oversold regions.
Unlike other oscillators like the RSI for example, the ROC does not have a predetermined range of oscillations.
Therefore, a fixed line that defines an overbought/oversold range becomes unfeasible.
It is in this matter that the Dynamic Zone helps.
It dynamically adjusts as the indicator oscillates.
▮ About Dynamic Zones
'Most indicators use a fixed zone for buy and sell signals.
Here's a concept based on zones that are responsive to the past levels of the indicator.'
The concept of Dynamic Zones was described by Leo Zamansky (Ph.D.) and David Stendahl, in the magazine of Stocks & Commodities V15:7 (306-310).
Basically, a statistical calculation is made to define the extreme levels, delimiting a possible overbought/oversold region.
Given user-defined probabilities, the percentile is calculated using the method of Nearest Rank.
It is calculated by taking the difference between the data point and the number of data points below it, then dividing by the total number of data points in the set.
The result is expressed as a percentage.
This provides a measure of how a particular value compares to other values in a data set, identifying outliers or values that are significantly higher or lower than the rest of the data.
▮ Thanks and Credits
- TradingView: for ROC and Moving Averages
- allanster: for Dynamic Zones

# Rate_of_change

+ Rate of ChangeNOTE!* If you were using my previous + Rate of Change (and OBV) indicator, I will not be updating that. OBV was moved to my + Breadth & Volume indicator.
This indicator here is basically and updated version of the old indicator, without OBV.
The Rate of Change, or RoC, is a momentum indicator that measures the percentage change in price between the current period and the price n periods ago.
It oscillates above and below a zeroline, basically showing positive or negative momentum.
I applied the OBV's calculation to it, but without the inclusion of volume (also added a lookback period) to see what would happen. I rather liked the result.
I call this the "Cumulative Rate of Change." I only recently realized that this is actually just the OBV without volume, however the OBV does not have a lookback period, and this indicator does.
Doing some more fiddling, I realized that removing both the signum and the volume from the calculation gets you basically a price chart, but calculated as the change in price over n periods. I'm leaving this in because maybe someone discovers they really like having a line chart with moving averages or some other indicator on it to leave their main chart indicator free (giving a more clear look at price action). Can't hurt, right?
Default lookback is set to 1, but play with longer settings (especially if using the traditional RoC, which is by default in TV set to 10, and is nigh on useless at 1--I like 13).
Default source is set to each candle close, but give ohlc4 a look. It smooths out the indicator a bit, and because it's an average of the open, high, low, and close it should give a better idea of what price in general is doing.
Moving averages, Bollinger Bands, Donchian Channels, candle coloring and alerts are my usual additions.
Below are some comparison images of the different indicators wrapped up in here.
Comparison of Cumulative Rate of Change with two different sources. Lookback set to 1.
Cumulative Rate of Change as a price chart, essentially.
And, lastly, the traditional Rate of Change indicator.