Price Oscillator

ICE Data Services -

osc() Built-in Study Functions

The Price Oscillator displays the difference between two moving averages of a security's price. The difference between the moving averages can be expressed in either points or percentages.

Syntax
osc(  nFastLength , nSlowLength , bExponential [, Series | sym() | inv() ][, nBarIndex ] )
 

Parameters
Parameter: Description: Default:
nFastLength Required. Number for the fast period length to use for the calculation.

 

n/a nSlowLength Required. Number for the slow period length to use for the calculation.

 

n/a bExponential Required. Boolean true or false to use exponential calculations.

 

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 new Array(osc(10, 21, false) );}

Single Line Study-on-Study Indicator:
function main() {    return new Array(osc(10, 21, false, hl2()) );}

Retrieve single values:
function main() {    var nValue_0 = osc(10, 21, false, 0);  // Current Bar Index    var nValue_1 = osc(10, 21, false, -1); // Prior Bar Index             return new Array(nValue_0, nValue_1);}

Initialize Series Objects:
//global Series Object variablevar xStudy = null;function main() {    if (xStudy == null) xStudy = osc(10, 21, false);            // 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        // Plot Current Bar Index Value        return nValue_0;  }

Initialize a Series Object based on an external interval:
// global Series Object variablesvar xStudy = null;var bInit = false;  // Initialization flagfunction main() {    if (bInit == false) {        xStudy = osc(10, 21, false, 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            // Synchronized Series plot    return getSeries(xStudy);  }


Initialize a Series Object based on an external symbol and interval:
// global Series Object variablesvar xStudy = null;var bInit = false;  // Initialization flagfunction main() {    if (bInit == false) {        xStudy = osc(10, 21, false, 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            // Synchronized Series plot    return getSeries(xStudy);  }


See Also

Series Object
getSeries()
Built-in Study Functions
eSignal Forum Search Engine
Help Guides
Tutorials