# Chop

ICE Data Services -

chop() Built-in Study Functions

The Choppiness study is a function of market direction. A market that is trending has a low choppiness number while a trend less market has a high choppiness number. The Choppiness Index ranges between 0 and 100, the higher the index the choppier the price action is and the lower the index the more trending the price action.

Syntax

chop( nLength [, sym() | inv() ][, nBarIndex ] )

Parameters

 Parameter: Description: Default: nLength Required. Number of periods to use for calculation. n/a sym() orinv() [Optional]  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 chop(14);
}```

Retrieve single values:

```function main() {
var nValue_0 = chop(14, 0); // Current Bar Index
var nValue_1 = chop(14, -1); // Prior Bar Index
return new Array(nValue_0, nValue_1);
}```

Initialize a Series Object:
```var xStudy = null;
function main() {
if (xStudy == null) {
xStudy = chop(14);
} // 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 flag
function main() {
if (bInit == false) {
xStudy = chop(14, 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 flag
function main() {
if (bInit == false) {
xStudy = chop(14, 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
}```