Skip to main content
A newer version of this page is available. .

FinancialSeriesViewBase.ReductionOptions Property

Gets the settings which relate to price reduction indication within the financial series.

Namespace: DevExpress.XtraCharts

Assembly: DevExpress.XtraCharts.v18.2.dll

Declaration

[PersistenceMode(PersistenceMode.InnerProperty)]
[XtraSerializableProperty(XtraSerializationVisibility.Content)]
[XtraChartsLocalizableCategory(XtraChartsCategory.Data)]
public ReductionStockOptions ReductionOptions { get; }

Property Value

Type Description
ReductionStockOptions

A ReductionStockOptions object that contains the price reduction indication settings.

Remarks

The ReductionOptions property provides access to the settings that define how a price reduction is indicated within a series of the stock and candle stick types. The settings which are available via the ReductionOptions property allow you to define a particular price value (open, close, high or low) which the analysis of the price action is performed by, specify a color to indicate the price reduction and control whether price reductions are indicated within a series.

Example

This example demonstrates how to create a ChartControl with a series of the CandleStickSeriesView type, and add this chart to a form at runtime. Before proceeding with this example, create a Windows Forms Application in Visual Studio, and add all required assemblies to the References list of your project.

Then, add the following code to the Form.Load event handler.

Note that you can exclude non-working days (weekends and holidays) from an axis range via the DateTimeScaleOptions.WorkdaysOnly and DateTimeScaleOptions.WorkdaysOptions properties. Refer to Indicators for information on the financial indicators available for XtraCharts.

using System;
using System.Windows.Forms;
using DevExpress.XtraCharts;
// ...
private void Form1_Load(object sender, EventArgs e) {
    // Create a new chart.
    ChartControl candlestickChart = new ChartControl();

    // Create a candlestick series.
    Series series1 = new Series("Stock Prices", ViewType.CandleStick);

    // Specify the date-time argument scale type for the series,
    // as it is qualitative, by default.
    series1.ArgumentScaleType = ScaleType.DateTime;

    // Add points to it.
    series1.Points.Add(new SeriesPoint(new DateTime(2017, 3, 1),
        new object[] { 24.00, 25.00, 25.00, 24.875 }));
    series1.Points.Add(new SeriesPoint(new DateTime(2017, 3, 2),
        new object[] { 23.625, 25.125, 24.00, 24.875 }));
    series1.Points.Add(new SeriesPoint(new DateTime(2017, 3, 3),
        new object[] { 26.25, 28.25, 26.75, 27.00 }));
    series1.Points.Add(new SeriesPoint(new DateTime(2017, 3, 6),
        new object[] { 26.50, 27.875, 26.875, 27.25 }));
    series1.Points.Add(new SeriesPoint(new DateTime(2017, 3, 7),
        new object[] { 26.375, 27.50, 27.375, 26.75 }));
    series1.Points.Add(new SeriesPoint(new DateTime(2017, 3, 8),
        new object[] { 25.75, 26.875, 26.75, 26.00 }));
    series1.Points.Add(new SeriesPoint(new DateTime(2017, 3, 9),
        new object[] { 25.75, 26.75, 26.125, 26.25 }));
    series1.Points.Add(new SeriesPoint(new DateTime(2017, 3, 10),
        new object[] { 25.75, 26.375, 26.375, 25.875 }));
    series1.Points.Add(new SeriesPoint(new DateTime(2017, 3, 13),
        new object[] { 24.875, 26.125, 26.00, 25.375 }));
    series1.Points.Add(new SeriesPoint(new DateTime(2017, 3, 14),
        new object[] { 25.125, 26.00, 25.625, 25.75 }));

    // Add the series to the chart.
    candlestickChart.Series.Add(series1);

    // Access the view-type-specific options of the series.
    CandleStickSeriesView myView = (CandleStickSeriesView)series1.View;

    myView.LineThickness = 2;
    myView.LevelLineLength = 0.25;

    // Specify the series reduction options.
    myView.ReductionOptions.ColorMode = ReductionColorMode.OpenToCloseValue;
    myView.ReductionOptions.FillMode = CandleStickFillMode.FilledOnReduction;
    myView.ReductionOptions.Level = StockLevel.Open;
    myView.ReductionOptions.Visible = true;

    // Access the chart's diagram.
    XYDiagram diagram = ((XYDiagram)candlestickChart.Diagram);

    // Access the type-specific options of the diagram.
    diagram.AxisY.WholeRange.MinValue = 22;

    // Exclude weekends from the X-axis range,
    // to avoid gaps in the chart's data.
    diagram.AxisX.DateTimeScaleOptions.WorkdaysOnly = true;

    // Hide the legend (if necessary).
    candlestickChart.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False;

    // Add a title to the chart (if necessary).
    candlestickChart.Titles.Add(new ChartTitle());
    candlestickChart.Titles[0].Text = "Candlestick Chart";

    // Add the chart to the form.
    candlestickChart.Dock = DockStyle.Fill;
    this.Controls.Add(candlestickChart);
}
See Also