The Rate-of-Change (ROC) indicator displays the difference between the current price and the price x time periods ago. The difference can be displayed either in points or as a percentage. The momentum indicator displays the same information but expresses it as a ratio.
Syntax
roc( nLength [, Series | sym() | inv() ][, nBarIndex ] )
Parameters
Parameter: Description: Default:
n/a Series or
sym() or
inv() [Optional] Series Object or function of sym() or inv() to determine symbol/interval source for the study.
Chart's sym/inv nBarIndex [Optional] Bar index of series to retrieve.
n/a
Return Value(s)
Returns a Series Object when nBarIndex is not specified.Returns a single value when nBarIndex is specified.
Notes
Only available in versions 7.9 or later.
Code Examples
Single Line Indicator:
function main() { return roc(10);}
Single Line Study-on-Study Indicator:
function main() { return roc(10, hl2() );}
Retrieve single values:
function main() { var nValue_0 = roc(10, 0); // Current Bar Index var nValue_1 = roc(10, -1); // Prior Bar Index return new Array(nValue_0, nValue_1);}
Initialize a Series Object:
var xStudy = null;function main() { if (xStudy == null) { xStudy = roc(10); } // retrieve single values for conditional statements var nValue_0 = xStudy.getValue(0); // Current Bar Index value var nValue_1 = xStudy.getValue(-1); // Prior Bar Index value return nValue_0; // Plot Current Bar Index Value}
Initialize a Series Object based on an external interval:
var xStudy = null;var bInit = false; // Initialization flagfunction main() { if (bInit == false) { xStudy = roc(10, inv(20)); // 20-min interval bInit = true; } // retrieve single values for conditional statements var nValue_0 = xStudy.getValue(0); // Current Bar Index value var nValue_1 = xStudy.getValue(-1); // Prior Bar Index value return getSeries(xStudy); // Synchronized Series plot}
Initialize a Series Object based on an external symbol and interval:
var xStudy = null;var bInit = false; // Initialization flagfunction main() { if (bInit == false) { xStudy = roc(10, sym("IBM,20")); // IBM 20-min interval bInit = true; } // retrieve single values for conditional statements var nValue_0 = xStudy.getValue(0); // Current Bar Index value var nValue_1 = xStudy.getValue(-1); // Prior Bar Index value return getSeries(xStudy); // Synchronized Series plot}
See Also
Series Object
getSeries()
Built-in Study Functions
eSignal Forum Search Engine
Help Guides
Tutorials