Wealth-Lab Wiki

API ChartStyles Community Components Community Indicators IndexDefinitions Knowledge Base Misc Optimizers Pending Deletion PosSizers Providers Standard Indicators TASC Traders Tips TASCIndicators Tutorial Videos Visualizers


Quick Search
Advanced Search »


public CADO(Bars bars, string description)
public static CADO Series(Bars bars)

Parameter Description

bars The Bars object


The Chaikin Oscillator allows us to analyze accumulation and distribution in the convenient form of an oscillator. The principle behind this oscillator is the nearer the close is to the high, the more accumulation taken place. Conversely the nearer the close is to the low, the more distribution is taken place. Further, healthy rallies and declines are accompanied by increasing volume levels, conversely price tends to decline as volume dries up. The Chaikin Oscillator allows you to compare price action to volume flow, to help determine market tops and bottoms.


  • The best Chaikin Oscillator sell signal is when price action develops a higher high into overbought zones and the Chaikin Oscillator diverges with a lower high and begins to fall. Price may remain in overbought zones during strong trends.
  • The best Chaikin Oscillator buy signal is when price action develops a lower low into oversold zones and the Chaikin Oscillator diverges with a higher low and begins to rise. Price may remain in oversold zones during strong trends.
  • You can also use the Chaikin Oscillator to assist entry into existing trends. In this case you look for a change of direction of the oscillator for buy or sell signal. For example, if you have confirmed strong uptrend and the Chaikin Oscillator turns up from a negative value, then buy the dip in price action.


The Chaikin Oscillator is created by subtracting a 10-period EMA of Accumulation/Distribution from a 3-period EMA of Accumulation/Distribution.

CADO = EMA( AccumDist, 3 ) - EMA( AccumDist, 10 ) where,
CADO = Chaikin Oscillator EMA = Exponential Moving Average (using EMACalculation.Modern) AccumDist = Accumulation/Distribution indicator


using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;

namespace WealthLab.Strategies { public class MyStrategy : WealthScript { protected override void Execute() { // Use RSI to look for divergences between price and CADO WealthLab.LineStyle hist = WealthLab.LineStyle.Histogram; LineStyle ls = LineStyle.Solid; SetBarColors( Color.Silver, Color.Silver );

DataSeries RSIPrice = RSI.Series( Close, 10 ); DataSeries RSICado = RSI.Series( CADO.Series( Bars ), 10 ); DataSeries Diff = RSIPrice-RSICado;

ChartPane CADOPane = CreatePane( 40, true, true ); ChartPane RSIPane = CreatePane( 50, true, true ); ChartPane DiffPane = CreatePane( 50, true, true ); DrawLabel( RSIPane, "RSI of Price and CADO" ); PlotSeries( CADOPane, CADO.Series( Bars ), Color.Brown, hist, 3 ); PlotSeries( RSIPane, RSIPrice, Color.Teal, ls, 1 ); PlotSeries( RSIPane, RSICado, Color.Brown, ls, 1 ); PlotSeries( DiffPane, Diff, Color.Gray, hist, 1 );

/* Both RSI and CADO are "unstable" indicators, and it requires starting the bar at least 3 times the period */ for(int bar = 30; bar < Bars.Count; bar++) { if( Diff[bar] > 30 ) SetBarColor( bar, Color.Red ); else if( Diff[bar] < -30 ) SetBarColor( bar, Color.DarkGreen ); } } } }

Important Disclaimer: The information provided by Wealth-Lab is strictly for informational purposes and is not to be construed as advice or solicitation to buy or sell any security.  The owner of Wealth-Lab.com assumes no liability resulting from the use of the material contained herein for investment purposes. By using this web site, you agree to the terms of this disclaimer and our Terms of Use.

Used under license from FMR Corp. Copyright 2008 FMR Corp. All rights reserved.

ScrewTurn Wiki. Some of the icons created by FamFamFam.