Rate of Change

The Rate of Change (ROC) is a oscillator that compares the current closing price with the closing price N periods ago. The result is a line that oscillates above and below zero. The second line is an exponential moving average of the first line. The user may change only the period length. This indicator’s definition is further expressed in the condensed code given in the calculation below.
Click here for more information.

Rate Of Change1

How To Trade Using Rate Of Change

Adjust the top and bottom guides to control the quantity and quality of the trading signals. If the ROC crosses above the SIG a sell signal will be generated, Conversely, if the ROC crosses below the SIG a buy signal will be given.

Rate Of Change2

How To Access in MotiveWave

Go to the top menu, choose Study>General>Rate Of Change

or go to the top menu, choose Add Study, start typing in this study name until you see it appear in the list, click on the study name, click OK.

Important Disclaimer: The information provided on this page is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security. Please see our Risk Disclosure and Performance Disclaimer Statement.


//period = user defined, default is 12
//period = user defined, default is 20
//method = moving average (ma), user defined, default is EMA
//roc = rate of change
//index = current bar number

ROC = roc(index,  period, close)*100;
SIG = ma(method, index, maPeriod, ROC);
// Signals
buy =  crossedAbove(ROC, SIG);
sell = crossedBelow(ROC, SIG);