Back to Devexpress

MassIndexIndicator Class

mobilecontrols-devexpress-dot-xamarinforms-dot-charts-aa4ac85a.md

latest5.6 KB
Original Source

MassIndexIndicator Class

A mass index indicator.

Namespace : DevExpress.XamarinForms.Charts

Assembly : DevExpress.XamarinForms.Charts.dll

NuGet Package : DevExpress.XamarinForms.Charts

Declaration

csharp
public class MassIndexIndicator :
    CalculatedSeries

Remarks

This indicator looks as follows:

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

Add an Indicator to a Series

This example demonstrates how to build 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.
xml
<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.

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

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

Implements

INotifyPropertyChanged

Inheritance

Object ChartSeriesElement SeriesBase Series CalculatedSeries MassIndexIndicator

See Also

MassIndexIndicator Members

DevExpress.XamarinForms.Charts Namespace