Skip to main content

MassIndexIndicator Class

A mass index indicator.

Namespace: DevExpress.Maui.Charts

Assembly: DevExpress.Maui.Charts.dll

NuGet Package: DevExpress.Maui.Charts

Declaration

public class MassIndexIndicator :
    CalculatedSeries

Remarks

This indicator looks as follows:

Mass Index Indicator

ChartView also supports the BollingerBandsIndicator and StandardDeviationIndicator trend indicators for financial series.

Add an Indicator to a Series

This example builds a mass index indicator for a stock series. Associate this indicator with a separate Y axis and place it below the stock series.

  1. Add the MassIndexIndicator 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 MovingAveragePointsCount and SumPointsCount properties to specify the number of points used to calculate the exponential moving average (EMA) and the number of summable values.
<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:MassIndexIndicator DisplayName="Mass Index"
                                MovingAveragePointsCount="9"
                                SumPointsCount="25">
            <dxc:MassIndexIndicator.Data>
                <dxc:CalculatedSeriesDataAdapter Series="{Binding Series[0], Source={x:Reference chart}}"/>
            </dxc:MassIndexIndicator.Data>
            <dxc:MassIndexIndicator.AxisY>
                <dxc:NumericAxisY Position="Far" AlwaysShowZeroLevel="False" GridAlignment="1">
                    <dxc:NumericAxisY.Range>
                        <dxc:NumericRange Min="23" Max="26"/>
                    </dxc:NumericAxisY.Range>
                    <dxc:NumericAxisY.Layout>
                        <dxc:AxisLayout Anchor1="0" Anchor2="0.3"/>
                    </dxc:NumericAxisY.Layout>
                </dxc:NumericAxisY>
            </dxc:MassIndexIndicator.AxisY>
        </dxc:MassIndexIndicator>
    </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>

Customize Indicator Appearance

To change the indicator line appearance, set the MassIndexIndicator.Style property to the LineIndicatorStyle object with the specified Stroke and StrokeThickness properties.

<dxc:MassIndexIndicator>
    <dxc:MassIndexIndicator.Style>
        <dxc:LineIndicatorStyle Stroke="#e95ddc" StrokeThickness="2"/>
    </dxc:MassIndexIndicator.Style>

    <!--Indicator Data-->
</dxc:MassIndexIndicator>
See Also