Back to Devexpress

RateOfChange Class

corelibraries-devexpress-dot-xtracharts-39c5bb63.md

latest5.0 KB
Original Source

RateOfChange Class

A Rate of Change indicator.

Namespace : DevExpress.XtraCharts

Assembly : DevExpress.XtraCharts.v25.2.dll

NuGet Package : DevExpress.Charts

Declaration

csharp
public class RateOfChange :
    SeparatePaneIndicator
vb
Public Class RateOfChange
    Inherits SeparatePaneIndicator

Remarks

The Chart Control uses the following formula to calculate the indicator’s values:

  • CurrentValue - A current point value at the given value level (the default value is Close ).
  • Value - A point value at the given value level (the default value is Close ).
  • n - The PointsCount property’s value. The default value is 14.

Example

This example shows how to create a Rate of Change indicator, configure its parameters, and display it in a separate pane.

csharp
private void Form1_Load(object sender, EventArgs e) {

    CandleStickSeriesView view = chartControl1.Series[0].View as CandleStickSeriesView;       

    RateOfChange rateOfChange = new RateOfChange {
        ValueLevel = ValueLevel.Close,
        CrosshairEnabled = DefaultBoolean.True,
        CrosshairLabelPattern = "{V:f3}",
        PointsCount = 14,
        LegendText = "Rate of Change (14)",
        ShowInLegend = true
    };
    view.Indicators.Add(rateOfChange);

    XYDiagramPane rocPane = new XYDiagramPane();
    rocPane.LayoutOptions.RowSpan = 2;
    xyDiagram.Panes.Add(rocPane);            
    rateOfChange.Pane = rocPane;

    SecondaryAxisY rocAxisY = new SecondaryAxisY();
    rocAxisY.WholeRange.AlwaysShowZeroLevel = false;
    rocAxisY.NumericScaleOptions.GridSpacing = 2;
    rocAxisY.Alignment = AxisAlignment.Far;
    rocAxisY.GridLines.Visible = true;
    xyDiagram.SecondaryAxesY.Add(rocAxisY);
    rateOfChange.AxisY = rocAxisY;     

    chartControl1.CrosshairOptions.ShowOnlyInFocusedPane = true;

    Legend rocLegend = new Legend { AlignmentHorizontal = LegendAlignmentHorizontal.Left };
    rocLegend.DockTarget = rocPane;
    rocLegend.AlignmentVertical = LegendAlignmentVertical.Top;
    chartControl1.Legends.Add(rocLegend);
    rateOfChange.Legend = rocLegend;
}
vb
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
    Dim view As CandleStickSeriesView = TryCast(chartControl1.Series(0).View, CandleStickSeriesView)
    Dim rateOfChange As RateOfChange = New RateOfChange With {
        .ValueLevel = ValueLevel.Close,
        .CrosshairEnabled = DefaultBoolean.[True],
        .CrosshairLabelPattern = "{V:f3}",
        .PointsCount = 14,
        .LegendText = "Rate of Change (14)",
        .ShowInLegend = True
    }
    view.Indicators.Add(rateOfChange)
    Dim rocPane As XYDiagramPane = New XYDiagramPane()
    rocPane.LayoutOptions.RowSpan = 2
    xyDiagram.Panes.Add(rocPane)
    rateOfChange.Pane = rocPane
    Dim rocAxisY As SecondaryAxisY = New SecondaryAxisY()
    rocAxisY.WholeRange.AlwaysShowZeroLevel = False
    rocAxisY.NumericScaleOptions.GridSpacing = 2
    rocAxisY.Alignment = AxisAlignment.Far
    rocAxisY.GridLines.Visible = True
    xyDiagram.SecondaryAxesY.Add(rocAxisY)
    rateOfChange.AxisY = rocAxisY
    chartControl1.CrosshairOptions.ShowOnlyInFocusedPane = True
    Dim rocLegend As Legend = New Legend With {
        .AlignmentHorizontal = LegendAlignmentHorizontal.Left
    }
    rocLegend.DockTarget = rocPane
    rocLegend.AlignmentVertical = LegendAlignmentVertical.Top
    chartControl1.Legends.Add(rocLegend)
    rateOfChange.Legend = rocLegend
End Sub

Implements

IXtraSerializable

Inheritance

Object ChartElement ChartElementNamed Indicator SeparatePaneIndicator RateOfChange

See Also

RateOfChange Members

Indicators

Financial Charting

DevExpress.XtraCharts Namespace