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

MovingAverageConvergenceDivergenceIndicator Class

Namespace: DevExpress.Maui.Charts

Assembly: DevExpress.Maui.Charts.dll

NuGet Package: DevExpress.Maui.Charts

#Declaration

C#
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 builds 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

See Also