public ChartWindow(MarketDataMessage mdMsg) { if (mdMsg is null) { throw new ArgumentNullException(nameof(mdMsg)); } InitializeComponent(); Title = mdMsg.SecurityId + " - " + mdMsg.DataType2.ToString(); _connector = MainWindow.Instance.MainPanel.Connector; Chart.ChartTheme = ChartThemes.ExpressionDark; var area = Chart.CreateArea(); Chart.Areas.Add(area); _candleElem = Chart.CreateCandleElement(); _candleElem.AntiAliasing = false; _candleElem.UpFillColor = Color.White; _candleElem.UpBorderColor = Color.Black; _candleElem.DownFillColor = Color.Black; _candleElem.DownBorderColor = Color.Black; area.Elements.Add(_candleElem); _connector.CandleReceived += OnCandleReceived; _subscription = _connector.SubscribeMarketData(mdMsg); }
/// <summary> /// To draw the candle. /// </summary> /// <param name="chart">Chart.</param> /// <param name="element">The chart element representing a candle.</param> /// <param name="candle">Candle.</param> public static void Draw(this IChart chart, IChartCandleElement element, Candle candle) { if (element == null) { throw new ArgumentNullException(nameof(element)); } if (candle == null) { throw new ArgumentNullException(nameof(candle)); } var data = chart.CreateData(); data .Group(candle.OpenTime) .Add(element, candle); chart.Draw(data); }