Visual Basic (Declaration)  

Public Overloads Shared Function AcumulateDistributeOverPeriod( _ ByVal s As Series, _ ByVal lengthOfPeriod As Integer _ ) As Series 
Visual Basic (Usage)  Copy Code 


C#  

public static Series AcumulateDistributeOverPeriod( Series s, int lengthOfPeriod ) 
Parameters
 s
 A series where the first term is the most recent period, the second term is the previous period and so on.
 lengthOfPeriod
 An integer which represents the number of periods within each of the (sub)collection of periods over which the indicator is evaluated.
The accumulation/distribution indicator illustrates the degree to which an asset is being accumulated or distributed by the market over each of these collection of periods. The indicator uses the closing price's proximity to the high or low over the period to determine if accumulation or reduction is taking place in the market. The proximity measure if then multiplied by the volume over the period in order to give more weight to moves with correspondingly higher volume.
Interpretation
A divergence between the price action and the AccumulationDistribution indicator can signal that a trend is nearing completion, a trends continuation and breakouts from trading ranges. The actual value of this indicator is of no significance, what is significant is its change in value relative to the previous periods which can warn of a possible breakout during a trading range (falling/rising indicator), the continuation of a trend (higher highs in uptrend, or lower lows in downtrend) or a change/completion of a trend (divergence between the price action and the direction of the indicator).
Example
Say for example we know that:

Highs = {3, 4, 3, 4, 5}
(i.e. 3 is the latest high) 
Lows = {2, 1, 2, 1, 3}
(i.e. 2 is the latest low) 
Volume = {300, 290, 295, 285, 290}
(i.e. 300 is the volume in the latest period.
Now if the lengthOfPeriod
considered is 4, then this method will return an array
of length two where the first term is the accumulation\distribution indicator (evaluated using
AccumulationDistribution) when:

Highs = {3, 4, 3, 4}
(i.e. above highs with last element removed) 
Lows = {2, 1, 2, 1}
(i.e. above highs with last element removed) 
Volume = {300, 290, 295, 285}
(i.e. above highs with last element removed)

Highs = {4, 3, 4, 5}
(i.e. the window moves one position back) 
Lows = {1, 2, 1, 3}
(i.e. the window moves one position back) 
Volume = {290, 295, 285, 290}
(i.e. the window moves one position back)