Создание диаграммы акций HLC (High Low Close)

Возможные сценарии использования

График цен акций High-Low-Close (HLC) использует четыре столбца данных. Первый столбец представляет собой категорию, обычно дату, но также можно использовать имена акций. Следующие три столбца по порядку предназначены для отображения высокой, низкой и закрывающей цены. Диапазон цен для каждой категории указывается вертикальной линией, отображающей диапазон от низкой к высокой цене, а за закрытие отмечается метка, выходящая вправо от этой линии.

todo:image_alt_text

Улучшения видимости на графике

Иногда, чтобы сделать график более интуитивно понятным, мы можем изменить внешний вид маркера (закрытия) или отображать его на вторичной оси.

todo:image_alt_text

Образец кода

Нижеприведенный образец кода загружает образец файла Excel и генерирует файл Excel вывода.

// Create an instance of Workbook
Workbook workbook = new Workbook("High-Low-Close.xlsx");
// Access the first worksheet.
Worksheet worksheet = workbook.Worksheets[0];
//Create High-Low-Close-Stock Chart
int pieIdx = worksheet.Charts.Add(ChartType.StockHighLowClose, 5, 6, 20, 12);
// Retrieve the Chart object
Chart chart = worksheet.Charts[pieIdx];
// Set the legend can be showed
chart.ShowLegend = true;
// Set the chart title name
chart.Title.Text = "High-Low-Close Stock";
// Set the Legend at the bottom of the chart area
chart.Legend.Position = LegendPositionType.Bottom;
// Set data range
chart.SetChartDataRange("A1:D9", true);
// Set category data
chart.NSeries.CategoryData = "A2:A9";
// Set the marker with the built-in data
chart.NSeries[2].Marker.MarkerStyle = ChartMarkerType.Dash;
chart.NSeries[2].Marker.MarkerSize = 20;
chart.NSeries[2].Marker.Area.Formatting = FormattingType.Custom;
chart.NSeries[2].Marker.Area.ForegroundColor = Color.Maroon;
// Fill the PlotArea area with nothing
chart.PlotArea.Area.FillFormat.FillType = FillType.None;
// Save the Excel file
workbook.Save("out.xlsx");