Charts See the terminal

Rate of Change (ROC)

The percentage change in price over a set number of bars, a momentum line around zero that compares fairly across markets and price levels.

Momentum Add to chart

Live ROC preview · BTC/USDT · Binance

What is ROC?

Rate of Change shows how much price has moved over the last 9 bars as a percentage of where it was. It oscillates around zero: positive when price is higher than 9 bars ago, negative when lower. Because it is a percentage, a reading on one market can be compared with another, and with the same market at a very different price.

It measures the size of a recent move, not where the move is going. A high reading does not mean price will keep rising, and ROC has no fixed overbought or oversold levels.

How to use ROC

  • Above or below zero. Above zero, price is higher than it was Length bars ago; below zero, lower.
  • The size of the reading. A reading of 5 means price is 5% above where it was Length bars ago. Larger readings mean faster moves.
  • Turning while still positive. ROC falling while still above zero means price is still up over the window but rising more slowly.
  • Divergence. Price making a new high while ROC makes a lower one is read as the move losing pace.

These are ways to read the line, not entry signals on their own.

Settings

SettingDefaultWhat it changes
Length9 How many bars back the current price is compared with. Shorter is more responsive and noisier; longer shows broader moves. Minimum 1.
SourceClose Which price each bar contributes. Open, high, low and the averaged sources such as hl2 and hlc3 are also available.

Adjust the lookback and price source in the indicator settings.

Calculation

Each bar, the current price is compared with the price Length bars earlier, as a percentage of that earlier price:

ROC = 100 * (price - price 9 bars ago) / price 9 bars ago

The denominator is the old price, not the current one, so a reading of 10 means price is 10% above where it was 9 bars ago. There is no smoothing: the line moves as soon as either end of the comparison changes.

The first value appears on the 10th bar of loaded history, the first bar with a price 9 bars behind it. A dashed line marks zero.

Limitations

  • It is noisy. With no smoothing, a single large bar entering or leaving the window makes the line jump.
  • Two ends move. ROC changes when the bar Length bars ago drops out, not only when price moves now, so a jump can come from the old end of the window.
  • No fixed extremes. What counts as a high reading depends on the market and timeframe.
  • The live candle moves. The current bar's value changes until that bar closes.
  • It is not a strategy. On its own it carries no risk management, sizing or exit.

Frequently asked questions

Rate of Change is the percentage difference between the current price and the price a set number of bars ago. With the default of 9, it shows how far price has moved over the last 9 bars, as a percentage of where it started.

Both measure the same move, the current price against the price Length bars ago. [Momentum](/library/indicator/momentum) reports it in price units, so readings depend on the price level. ROC reports it as a percentage, so it compares fairly across markets and over long periods where price has changed a lot.

There is no single best length. A short lookback reacts quickly to new moves and produces more noise; a long one shows broader swings and turns later. The built-in default is 9. Choose a length for the timeframe you trade and test it.

Yes. The indicator declares two inputs: Length, default 9 with a minimum of 1, and Source, default close. Open the indicator's settings on the chart to change them.

No. Each value depends only on the current price and the price Length bars earlier, so closed bars are never revised. The current candle's value moves while that candle is live and settles when it closes.

Use the Add to chart button at the top of this page. It opens BTC/USDT on Binance in the Altrady Charts terminal with the built-in Rate Of Change already applied. On any other market, open the indicator picker on the chart and choose Rate Of Change from the Momentum group.

Add to chart