CAD Class
| Name | Description | |
|---|---|---|
     
	
	    
	   | 
	  CAD(ISeries, int, int) | CAD normal constructor. | 
| Name | Description | |
|---|---|---|
 
	  
    
	 | 
	AutoUpdate | (inherited from Indicator). | 
 
	  
    
	 | 
	Count | Gets the count. (inherited from Indicator). | 
 
	  
    
	 | 
	Description | Gets the description. (inherited from TimeSeries). | 
 
	  
    
	 | 
	Fields | (inherited from Indicator). | 
 
	  
    
	 | 
	First | Gets the first. (inherited from Indicator). | 
 
	  
    
	 | 
	FirstDateTime | Datetime of the first item in this time array (inherited from Indicator). | 
 
	  
    
	 | 
	Id | Gets the id. (inherited from TimeSeries). | 
 
	  
    
	 | 
	Indicators | Gets the indicators. (inherited from TimeSeries). | 
 
	  
    
	 | 
	IsMultiIndicator | (inherited from Indicator). | 
 
	  
    
	 | 
	IsUseBarSlice | (inherited from Indicator). | 
 
	  
    
	 | 
	Item(int, BarData) | Gets the Double at the specified index and bar data. (inherited from Indicator). | 
 
	  
    
	 | 
	Item(int) | Gets or sets the Double at the specified index. (inherited from Indicator). | 
 
	  
    
	 | 
	Last | Gets the last. (inherited from Indicator). | 
 
	  
    
	 | 
	LastDateTime | Datetime of the last item in this time array (inherited from Indicator). | 
 
	  
    
	 | 
	Length1 | The length of CAD's EMA1. | 
 
	  
    
	 | 
	Length2 | The length2 of CAD's EMA2. | 
 
	  
    
	 | 
	MaxLength | (inherited from TimeSeries). | 
 
	  
    
	 | 
	Name | Gets the name. (inherited from TimeSeries). | 
| Name | Description | |
|---|---|---|
 
	  
    
	 | 
	Add(DateTime, double) | Adds the specified date time. (inherited from TimeSeries). | 
 
	  
    
	 | 
	Ago(int) | Agoes the specified n. (inherited from TimeSeries). | 
 
	  
    
	 | 
	Attach() | (inherited from Indicator). | 
 
	  
    
	 | 
	Calculate(int) | Calculate CAD at the specific index. | 
 
	  
    
	 | 
	Clear() | (inherited from Indicator). | 
 
	  
    
	 | 
	Clone(ISeries) | |
 
	  
    
	 | 
	Contains(DateTime) | Determines whether [contains] [the specified date time]. (inherited from TimeSeries). | 
 
	  
    
	 | 
	Crosses(TimeSeries, DateTime) | Crosseses the specified series. (inherited from TimeSeries). | 
 
	  
    
	 | 
	Crosses(double, int) | Crosseses the specified level. (inherited from TimeSeries). | 
 
	  
    
	 | 
	Detach() | (inherited from Indicator). | 
 
	  
    
	 | 
	Exp() | Exps this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetAsymmetry(int, int, int) | Gets the asymmetry. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetAutoCorrelation(int) | Calculate autocorrelation (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetAutoCovariance(int) | Calculate autocovariance (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetByDateTime(DateTime, SearchOption) | Gets the by date time. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetByIndex(Instrument, int) | (inherited from Indicator). | 
 
	  
    
	 | 
	GetByIndex(int, int) | (inherited from Indicator). | 
 
	  
    
	 | 
	GetCorrelation(TimeSeries) | Gets the correlation. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetCorrelation(TimeSeries, int, int) | Gets the correlation. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetCorrelation(int, int, int, int) | Gets the correlation. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetCovariance(TimeSeries) | Gets the covariance. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetCovariance(TimeSeries, int, int) | Gets the covariance. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetCovariance(int, int, int, int) | Gets the covariance. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetDateTime(int) | Gets the date time. (inherited from Indicator). | 
 
	  
    
	 | 
	GetExcess(int, int, int) | Gets the excess. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetFirst(Instrument) | (inherited from Indicator). | 
 
	  
    
	 | 
	GetFirst(int) | (inherited from Indicator). | 
 
	  
    
	 | 
	GetIndex(DateTime, IndexOption) | Gets the index. (inherited from Indicator). | 
 
	  
    
	 | 
	GetIntersection(TimeSeries) | (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetItem(int) | Gets the item. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetLast(Instrument) | (inherited from Indicator). | 
 
	  
    
	 | 
	GetLast(int) | (inherited from Indicator). | 
 
	  
    
	 | 
	GetMax(DateTime, DateTime) | Gets the maximum. (inherited from Indicator). | 
 
	  
    
	 | 
	GetMaxItem() | Gets the maximum item. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMean() | Calculate mean (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMean(DateTime, DateTime, int) | Calculate mean (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMean(int, int, int) | Calculates mean (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMean(DateTime, DateTime) | Calculate mean (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMean(int, int) | Calculate mean (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMean(int) | Calculate mean (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMedian() | Calculates median (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMedian(DateTime, DateTime, int) | Calculate median (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMedian(int, int, int) | Calculates medain (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMedian(DateTime, DateTime) | Calculate median (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMedian(int, int) | Calculate median (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMedian(int) | Calculate median (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMin(DateTime, DateTime) | Gets the minimum. (inherited from Indicator). | 
 
	  
    
	 | 
	GetMinItem() | Gets the minimum item. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetMoment(int, int, int, int) | Gets the moment. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetNegativeSeries() | Returns new double series with negative data entries from this array (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetNegativeStdDev() | Calculate standard deviation of negative data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetNegativeStdDev(DateTime, DateTime) | Calculate standard deviation of negative data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetNegativeStdDev(DateTime, DateTime, int) | Calculate standard deviation of negative data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetNegativeStdDev(int, int) | Calculate standard deviation of negative data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetNegativeStdDev(int, int, int) | Calculate standard deviation of negative data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetNegativeStdDev(int) | Calculate standard deviation of negative data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetNegativeVariance(int, int, int) | Calculate variance of negative data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetNegativeVariance() | Calculate variance of negative data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetNegativeVariance(DateTime, DateTime) | Calculate variance of negative data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetNegativeVariance(DateTime, DateTime, int) | Gets the negative variance. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetNegativeVariance(int, int) | Calculate variance of negative data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetNegativeVariance(int) | Calculate variance of negative data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPercentReturnSeries() | Gets the percent return series. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPositiveSeries() | Returns new double series with positive data entries from this array (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPositiveStdDev() | Calculate standard deviation of positive data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPositiveStdDev(DateTime, DateTime) | Calculate standard deviation of positive data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPositiveStdDev(DateTime, DateTime, int) | Calculate standard deviation of positive data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPositiveStdDev(int, int) | Calculate standard deviation of positive data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPositiveStdDev(int, int, int) | Calculate standard deviation of positive data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPositiveStdDev(int) | Calculate standard deviation of positive data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPositiveVariance(int, int, int) | Calculate variance of positive data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPositiveVariance() | Calculate variance of positive data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPositiveVariance(DateTime, DateTime) | Calculate variance of positive data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPositiveVariance(DateTime, DateTime, int) | Gets the positive variance. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPositiveVariance(int, int) | Calculate variance of positive data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetPositiveVariance(int) | Calculate variance of positive data entries (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetReturnSeries() | Gets the return series. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetStdDev() | Calculate standard deviation (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetStdDev(DateTime, DateTime) | Calculate standard deviation (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetStdDev(DateTime, DateTime, int) | Calculate standard deviation (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetStdDev(int, int) | Calculate standard deviation (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetStdDev(int, int, int) | Calculate standard deviation (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetStdDev(int) | Calculate standard deviation (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetSum() | Calculate sum (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetSum(int, int, int) | Calculate sum (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetTimeSeriesItem(int) | (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetValue(int) | Gets the value. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetVariance() | Calculate variance (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetVariance(int, int, int) | Calculate variance (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetVariance(DateTime, DateTime) | Calculate variance (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetVariance(DateTime, DateTime, int) | Gets the variance. (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetVariance(int, int) | Calculate variance (inherited from TimeSeries). | 
 
	  
    
	 | 
	GetVariance(int) | Calculate variance (inherited from TimeSeries). | 
 
	  
    
	 | 
	IndexOf(DateTime, SearchOption) | Indexes the of. (inherited from TimeSeries). | 
   
    
	  
    
	 | 
	Init() | Init CAD indicator. | 
 
	  
    
	 | 
	Log() | Logs this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries). | 
 
	  
    
	 | 
	Log10() | Log10s this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries). | 
 
	  
    
	 | 
	Pow(double) | Pows the specified pow. The type of this instance must have a parameterless constructor. (inherited from TimeSeries). | 
 
	  
    
	 | 
	Remove(int) | Removes the specified index. (inherited from TimeSeries). | 
 
	  
    
	 | 
	Shift(int) | Shifts the specified offset. (inherited from TimeSeries). | 
 
	  
    
	 | 
	Sqrt() | SQRTs this instance. The type of this instance must have a parameterless constructor. (inherited from TimeSeries). | 
 
	  
	 
    
	 | 
	Value(ISeries, int, int, int) | Calculate CAD for the specific instance of ISeries, index and pair of lengths. | 
| Name | Description | |
|---|---|---|
	 
	 
    
	 | 
	Addition | Implements the +. (inherited from TimeSeries). | 
	 
	 
    
	 | 
	Addition | Implements the +. (inherited from TimeSeries). | 
	 
	 
    
	 | 
	Addition | Implements the +. (inherited from TimeSeries). | 
	 
	 
    
	 | 
	Division | Implements the /. (inherited from TimeSeries). | 
	 
	 
    
	 | 
	Division | Implements the /. (inherited from TimeSeries). | 
	 
	 
    
	 | 
	Division | Implements the /. (inherited from TimeSeries). | 
	 
	 
    
	 | 
	Multiply | Implements the *. (inherited from TimeSeries). | 
	 
	 
    
	 | 
	Multiply | Implements the *. (inherited from TimeSeries). | 
	 
	 
    
	 | 
	Multiply | Implements the *. (inherited from TimeSeries). | 
	 
	 
    
	 | 
	Subtraction | Implements the -. (inherited from TimeSeries). | 
	 
	 
    
	 | 
	Subtraction | Implements the -. (inherited from TimeSeries). | 
	 
	 
    
	 | 
	Subtraction | Implements the -. (inherited from TimeSeries). | 
| Name | Description | |
|---|---|---|
	  	     
	
	    
	    
	
	    
	   | 
	  ad | |
	  	     
	
	    
	    
	
	    
	   | 
	  calculate | (inherited from Indicator). | 
	 	     
	    
	    
	
	    
	   | 
	  description | (inherited from TimeSeries). | 
	  	     
	
	    
	    
	
	    
	   | 
	  ema1 | |
	  	     
	
	    
	    
	
	    
	   | 
	  ema2 | |
	  	     
	
	    
	    
	
	    
	   | 
	  input | (inherited from Indicator). | 
	  	     
	
	    
	    
	
	    
	   | 
	  length1 | |
	  	     
	
	    
	    
	
	    
	   | 
	  length2 | |
	  	     
	
	    
	    
	
	    
	   | 
	  name | (inherited from TimeSeries). | 
	
			Inspired by the prior work of Joe Granville and Larry Williams, Marc Chaikin developed
a new volume indicator, extending the work done by his predecessors. The Chaikin Oscillator
is a moving average oscillator based on the Accumulation/Distribution  indicator.
 
 
The most important signal generated by the Chaikin Oscillator occurs when prices reach a new high or new low for a swing, particularly at an overbought or oversold level, and the oscillator fails to exceed its previous extreme reading and then reverses direction.
Signals in the direction of the intermediate-term trend are more reliable than those against the trend. A confirmed high or low does not imply any further price action in that direction.
A second way to use the Chaikin Oscillator is to view a change of direction in the oscillator as a buy or sell signal, but only in the direction of the trend. For example, if we say that a stock that is above its 90-day moving average of price is in an up-trend, then an upturn of the oscillator while in negative territory would constitute a buy signal only if the stock were above its 90-day moving average--not below it. A downturn of the oscillator while in positive territory (above zero) would be a sell signal if the stock were below its 90-day moving average of closing prices."
 
This indicator is described in more details in the Steve Achelis' book "Technical Analysis from A to Z".
 
Formula:
	
					
The most important signal generated by the Chaikin Oscillator occurs when prices reach a new high or new low for a swing, particularly at an overbought or oversold level, and the oscillator fails to exceed its previous extreme reading and then reverses direction.
Signals in the direction of the intermediate-term trend are more reliable than those against the trend. A confirmed high or low does not imply any further price action in that direction.
A second way to use the Chaikin Oscillator is to view a change of direction in the oscillator as a buy or sell signal, but only in the direction of the trend. For example, if we say that a stock that is above its 90-day moving average of price is in an up-trend, then an upturn of the oscillator while in negative territory would constitute a buy signal only if the stock were above its 90-day moving average--not below it. A downturn of the oscillator while in positive territory (above zero) would be a sell signal if the stock were below its 90-day moving average of closing prices."
This indicator is described in more details in the Steve Achelis' book "Technical Analysis from A to Z".
Formula: