corelibraries-devexpress-dot-xtracharts-39c5bb63.md
A Rate of Change indicator.
Namespace : DevExpress.XtraCharts
Assembly : DevExpress.XtraCharts.v25.2.dll
NuGet Package : DevExpress.Charts
public class RateOfChange :
SeparatePaneIndicator
Public Class RateOfChange
Inherits SeparatePaneIndicator
The Chart Control uses the following formula to calculate the indicator’s values:
This example shows how to create a Rate of Change indicator, configure its parameters, and display it in a separate pane.
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;
}
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
Object ChartElement ChartElementNamed Indicator SeparatePaneIndicator RateOfChange
See Also