Skip to main content

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

RateOfChangeIndicator.ValueLevel Property

Gets or sets the price level (Low, High, Open, or Close) for which the indicator is calculated.

Namespace: DevExpress.Maui.Charts

Assembly: DevExpress.Maui.Charts.dll

NuGet Package: DevExpress.Maui.Charts

#Declaration

C#
public ValueLevel ValueLevel { get; set; }

#Property Value

Type Default Description
ValueLevel Auto

A value that indicates the price level of a financial series point.

Available values:

Name Description
Auto
Value

Indicates the point value of a series that requires only one value for a data point.

Weight

Indicates the weight value of a bubble series point.

High

Indicates the High price of a financial series point.

Low

Indicates the Low price of a financial series point.

Open

Indicates the Open price of a financial series point.

Close

Indicates the Close price of a financial series point.

#Example

This example builds a rate of change indicator for Close values of a stock series. Associate this indicator with a separate Y axis and place it below the stock series.

  1. Add the RateOfChangeIndicator object to the chart’s collection of series (ChartView.Series).
  2. Set the indicator’s Data property to a CalculatedSeriesDataAdapter class instance. Use this object’s Series property to specify a series for which the indicator should be calculated.
  3. Use the ValueLevel and PointsCount properties to specify the price level of a financial series point and the number of data points used to calculate the indicator.
<dxc:ChartView x:Name="chart">
    <dxc:ChartView.Series>
        <dxc:StockSeries>
            <dxc:StockSeries.Data>
                <dxc:SeriesDataAdapter DataSource="{Binding StockPrices}" ArgumentDataMember="Date">
                    <dxc:ValueDataMember Type="High" Member="High" />
                    <dxc:ValueDataMember Type="Low" Member="Low" />
                    <dxc:ValueDataMember Type="Open" Member="Open" />
                    <dxc:ValueDataMember Type="Close" Member="Close" />
                </dxc:SeriesDataAdapter>
            </dxc:StockSeries.Data>
        </dxc:StockSeries>

        <dxc:RateOfChangeIndicator DisplayName="Rate of Change"
                                   ValueLevel="Close"
                                   PointsCount="14">
            <dxc:RateOfChangeIndicator.Data>
                <dxc:CalculatedSeriesDataAdapter Series="{Binding Series[0], Source={x:Reference chart}}"/>
            </dxc:RateOfChangeIndicator.Data>
            <dxc:RateOfChangeIndicator.AxisY>
                <dxc:NumericAxisY Position="Far" AlwaysShowZeroLevel="False" GridAlignment="2">
                    <dxc:NumericAxisY.Range>
                        <dxc:NumericRange Min="8" Max="12"/>
                    </dxc:NumericAxisY.Range>
                    <dxc:NumericAxisY.Layout>
                        <dxc:AxisLayout Anchor1="0" Anchor2="0.3"/>
                    </dxc:NumericAxisY.Layout>
                </dxc:NumericAxisY>
            </dxc:RateOfChangeIndicator.AxisY>
        </dxc:RateOfChangeIndicator>
    </dxc:ChartView.Series>

    <dxc:ChartView.AxisY>
        <dxc:NumericAxisY Position="Far" AlwaysShowZeroLevel="false" AutoRangeMode="VisibleValues">
            <dxc:NumericAxisY.Layout>
                <dxc:AxisLayout Anchor1="0.4" Anchor2="1"/>
            </dxc:NumericAxisY.Layout>
            <dxc:NumericAxisY.Label>
                <dxc:AxisLabel Position="Outside" TextFormat="$#"/>
            </dxc:NumericAxisY.Label>
        </dxc:NumericAxisY>
    </dxc:ChartView.AxisY>
</dxc:ChartView>
See Also