QuantStudio Financial Data Analysis and Trading Framework

WAD Class

Williams' Accumulation/Distribution (WAD)

For a list of all members of this type, see WAD Members.

System.Object
   RQuant.Indicator.TTimeArray
      RQuant.Indicator.TDoubleArray
         RQuant.Indicator.TIndicator
            RQuant.Indicator.WAD

[Visual Basic]
Public Class WAD
    Inherits TIndicator
[C#]
public class WAD : TIndicator

Thread Safety

Public static (Shared in Visual Basic) members of this type are safe for multithreaded operations. Instance members are not guaranteed to be thread-safe.

Remarks

Developed by and named after Larry Williams, his Accumulation/Distribution indicator is a price change index, whereby the biggest price difference from today?s high or low, or yesterday?s closing price is subtracted from today?s closing price.

Concretely, if prices are rising, the True Low (i.e. daily low or yesterday?s closing price) is subtracted from today?s closing price. Conversely, if prices are falling, the True High (today?s high or yesterday?s closing price) is subtracted from today?s closing price. If today?s close is equal to yesterday?s close, then today?s Accumulation/Distribution is zero. The Williams? Accumulation/Distribution indicator is a cumulative total of these daily values.

The cumulative sum of these (possibly extended) price changes is the Williams? Accumulation/Distribution, a price index open in both directions with the starting value of zero. The Williams? Accumulation/Distribution indicator bases its calculations on the difference between the Close and True High and True Lows and does not consider volume in its calculations.

This indicator is described in more details in the Steve Achelis' book "Technical Analysis from A to Z".

Formula:

Example

TDataManager.cd("Demo");

TDailyArray Daily1 = TDataManager.GetStock("YHOO").DailyArray;

DateTime Date1 = DateTime.Parse("1999/02/08"); 
DateTime Date2 = DateTime.Parse("2000/12/29"); 

TDailyArray Daily = Daily1.Clone(Date1, Date2);

TCanvas Canvas = new TCanvas("Canvas","WAD DEMO",600,400);

WAD WAD = new WAD(Daily);

Canvas.cd(1);
Daily.Draw("c");

Canvas.cd(2);
WAD.Draw();    

Requirements

Namespace: RQuant.Indicator

Assembly: RQuant.Indicator (in RQuant.Indicator.dll)

See Also

WAD Members | RQuant.Indicator Namespace