QuantStudio Financial Data Analysis and Trading Framework

DPO Class

Detrended Price Oscillator (DPO)

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

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

[Visual Basic]
Public Class DPO
    Inherits TIndicator
[C#]
public class DPO : 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

The Detrended Price Oscillator attempts to eliminate the trend in prices. Detrended prices a llow you to more easily identify cycles and overbought/oversold levels.

Long-term cycles are made up of a series of short-term cycles. Analyzing these shorter term components of the long-term cycles can be helpful in identifying major turning points in the longer term cycle. The DPO helps you remove these longer-term cycles from prices. To calculate the DPO, you specify a time period. Cycles longer than this time period are removed from prices, leaving the shorter-term cycles.

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","DPO DEMO",600,400);
    
DPO DPO = new DPO(Daily, 14);

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

DPO.Draw(Color.Red);

Requirements

Namespace: RQuant.Indicator

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

See Also

DPO Members | RQuant.Indicator Namespace