GUIDE

Rate of Change (ROC) explained: the setting, the zero line and how to use it

Momentum · 4 min read

Rate of Change is the plainest momentum reading there is: how far price has moved, in percent, over a fixed number of bars. No smoothing, no scale to learn. This guide is what the number is, what its one setting changes, and the comparisons you can build a SixOne8 condition from.

Rate of Change drawn under a price chart, filled above and below its zero line, with the bar where it crosses above zero highlighted
Illustrative candles. ROC is the percentage change from twelve bars back, shaded above and below zero; the highlighted bar is where a "crosses above zero" condition would be true.

What Rate of Change measures

Take the latest close and the close N bars ago — twelve by default. ROC is the difference between them as a percentage of the older one. If price closed at 100 twelve bars ago and 103 now, ROC is +3; if it closed at 97, ROC is −3. Above zero means price is higher than it was N bars ago; below zero means lower.

That is all it is, and it has one property the scaled oscillators lack: the reading is a percentage, so it means the same thing on every instrument. A ROC of 2 is a two percent move on a currency pair and on a crypto coin alike, which is why the app needs no volatility adjustment to make a level comparable between markets. What a percentage is typical for does differ — crypto moves several percent in a day far more often than a major currency pair does — so a level that is rare on one market can be routine on another.

Rate of Change settings

The period is how many bars back the comparison reaches. Twelve is the default. A short period follows each swing closely and crosses zero often; a long one describes the bigger move and crosses rarely. The period is counted in bars of the timeframe the condition reads: ROC(12) on the daily chart compares with twelve days ago, on the 1-hour chart with twelve hours ago.

One quirk worth knowing: because ROC compares against a single bar, the reading changes when that old bar drops out of the window, not only when price moves now. A large move twelve bars ago leaves a step in the line twelve bars later.

How to use Rate of Change in a strategy

These are the comparisons SixOne8 offers for ROC, in the builder's own words.

  1. Above zero / below zero. Price is higher, or lower, than it was N bars ago. A state, true for as long as it lasts — a simple description of direction over the period.
  2. Crosses above zero / crosses below zero. True only on the bar the reading turned positive or negative. A moment rather than a state, the usual choice for a trigger.
  3. Greater than / less than a level. The reading is beyond a percentage you set — "up more than 5% over twelve bars", for instance. The level is in percent.
  4. Crosses above / crosses below a level. True only on the bar the reading moves through that percentage.
  5. Rising / falling. The reading is higher, or lower, than it was the bar before: whether the move over the period is gathering or fading.

ROC(12) on 1d  ·  crosses above zero

Read it as a sentence: on the daily chart, the close has just moved above the close of twelve days ago, having been at or below it the day before. That is what the scanner evaluates at each daily close, and what the alert will say if it is the condition that completed the strategy.

Rate of Change and the other momentum readings

Many momentum indicators are ROC with something added. Plain "momentum" is the same comparison in price units rather than percent. MACD compares two moving averages instead of two closes, which smooths away the step from the old bar. RSI adds up every up and down close in the window instead of looking only at its two ends, and squeezes the answer onto a 0 to 100 scale. ROC keeps the raw answer, which makes it the easiest to reason about and the noisiest to trigger on. A crossing of zero on a short period happens on most wiggles, so it usually wants a slower partner that says whether the moment counts, such as a longer ROC or price above a long moving average.

Does Rate of Change work on your market?

Run an entry check. It will tell you whether, on the market you care about, the moments this condition fired moved any differently from a random moment over the history tested. That is a fact about the past on that market, and it is the only kind of fact a test here produces.

More momentum indicators

Next