MovingAverageConvergenceDivergenceIndicator Class
A moving average convergence/divergence (MACD) indicator.
Namespace: DevExpress.Maui.Charts
Assembly: DevExpress.Maui.Charts.dll
NuGet Package: DevExpress.Maui.Charts
Declaration
public class MovingAverageConvergenceDivergenceIndicator :
CalculatedSeries
Remarks
This indicator looks as follows:
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):
- Average True Range (ATR)
- Commodity Channel Index (CCI)
- Rate of Change (ROC)
- Relative Strength Index (RSI)
- Chaikin’s Volatility (CHV)
- Williams %R (%R)
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.
<dxc:MovingAverageConvergenceDivergenceIndicator>
<dxc:MovingAverageConvergenceDivergenceIndicator.Style>
<dxc:MovingAverageConvergenceDivergenceIndicatorStyle Stroke="#e95ddc" StrokeThickness="2"
SignalStroke="DarkGray" SignalStrokeThickness="1" />
</dxc:MovingAverageConvergenceDivergenceIndicator.Style>
<!--Indicator Data-->
</dxc:MovingAverageConvergenceDivergenceIndicator>