Skip to main content

MovingAverageConvergenceDivergenceIndicator Class

Namespace: DevExpress.XamarinForms.Charts

Assembly: DevExpress.XamarinForms.Charts.dll

NuGet Package: DevExpress.XamarinForms.Charts

Declaration

public class MovingAverageConvergenceDivergenceIndicator :
    CalculatedSeries

Remarks

This indicator looks as follows:

Moving Average Convergence/Divergence Indicator

ChartView also supports the following oscillators (an oscillator is a trend indicator banded between two extreme values used to discover short-term overbought or oversold conditions):

Add an Indicator to a Series

This example demonstrates how to build a moving average convergence/divergence indicator for Close values of a stock series. Associate this indicator with a separate Y axis and place it below the stock series.

<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:MovingAverageConvergenceDivergenceIndicator DisplayName="MACD"
                                                         ShortPeriod="12"
                                                         LongPeriod="26"
                                                         SignalSmoothingPeriod="9">
            <dxc:MovingAverageConvergenceDivergenceIndicator.Data>
                <dxc:CalculatedSeriesDataAdapter Series="{Binding Series[0], Source={x:Reference chart}}"/>
            </dxc:MovingAverageConvergenceDivergenceIndicator.Data>
            <dxc:MovingAverageConvergenceDivergenceIndicator.AxisY>
                <dxc:NumericAxisY Position="Far" AlwaysShowZeroLevel="False" GridAlignment="10">
                    <dxc:NumericAxisY.Range>
                        <dxc:NumericRange Min="-10" Max="20"/>
                    </dxc:NumericAxisY.Range>
                    <dxc:NumericAxisY.Layout>
                        <dxc:AxisLayout Anchor1="0" Anchor2="0.3"/>
                    </dxc:NumericAxisY.Layout>
                </dxc:NumericAxisY>
            </dxc:MovingAverageConvergenceDivergenceIndicator.AxisY>
        </dxc:MovingAverageConvergenceDivergenceIndicator>
    </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 line appearance of the MACD indicator, set its Style property to the MovingAverageConvergenceDivergenceIndicatorStyle object with the specified settings.

Moving Average Convergence/Divergence Indicator Appearance

<dxc:MovingAverageConvergenceDivergenceIndicator>
    <dxc:MovingAverageConvergenceDivergenceIndicator.Style>
        <dxc:MovingAverageConvergenceDivergenceIndicatorStyle Stroke="#e95ddc" StrokeThickness="2"
                                                              SignalStroke="DarkGray" SignalStrokeThickness="1" />
    </dxc:MovingAverageConvergenceDivergenceIndicator.Style>

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

Inheritance

Object
ChartSeriesElement
SeriesBase
Series
CalculatedSeries
MovingAverageConvergenceDivergenceIndicator
See Also