Dreiss Choppiness Index: Indicator Documentation
Syntax
DataSeries Choppiness( Bars bars, int period )
Parameter Description
Bars bars |
The Bars object |
int period |
Lookback period used to calculate the index |
Description
Dreiss Choppiness Index is an oscillator developed by an Australian trader E.W. "Bill" Dreiss. It measures the trendiness of a market versus its choppiness and is used to distinguish a trending market from a choppy/rangebound movement.
The Choppiness Index varies from 0 to 100. The standard lookback period is 14 bars with a level of Fibonacci numbers 61.8 or higher being an indication of choppy market and 38.2 or lower marking a trending market. As Dreiss said,
"Low readings in the CI correspond closely with the end of strong impulsive movements either up or down, while high readings occur after significant consolidations in the price."Notice that much like
ADX, the oscillator does not recognize between bullish or bearish direction of the trend.
References:
1. Dreiss, Bill, The Fractal Wave Algorithm, Charts And Systems, Commodity Traders Consumer Report, July/August, 1992.
2.
Measuring market choppiness with chaos (Word document)
Example
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
using Community.Indicators;
namespace WealthLab.Strategies
{
public class DCI_demo : WealthScript
{
private StrategyParameter paramPeriod;
public DCI_demo()
{
paramPeriod = CreateParameter("DCI Period", 14, 2, 50, 1);
}
protected override void Execute()
{
int period = paramPeriod.ValueInt;
Choppiness dci = Choppiness.Series(Bars,period);
ChartPane dciPane = CreatePane( 30, true, true );
PlotSeriesOscillator( dciPane, dci, 61.8, 38.2, Color.FromArgb( 60, Color.Gray ),
Color.FromArgb( 60, Color.Gray ), Color.Blue, WealthLab.LineStyle.Solid, 2 );
}
}
}