Dreiss Choppiness Index

Modified on 2008/11/22 13:11 by Eugene — Categorized as: Community Indicators

Dreiss Choppiness Index: Indicator Documentation


DataSeries Choppiness( Bars bars, int period )

Parameter Description

Bars bars  The Bars object
int period  Lookback period used to calculate the index


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.

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)


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 ); } } }