private void GetHistoryCandle()
        {
            try
            {
                var klineString = kline.GetHistory();
                var klines      = JConverter.JsonConver <List <object[]> >(klineString);

                foreach (var k in klines)
                {
                    var ohlcPoint = new OhlcPoint()
                    {
                        Open  = Convert.ToDouble(k[1], new CultureInfo("en-US")),
                        High  = Convert.ToDouble(k[2], new CultureInfo("en-US")),
                        Low   = Convert.ToDouble(k[3], new CultureInfo("en-US")),
                        Close = Convert.ToDouble(k[4], new CultureInfo("en-US"))
                    };
                    OhclValues.Add(ohlcPoint);
                    LabelsX.Add(Convert.ToInt64(k[0]).UnixToDateTime().ToString(formatX));
                }
            }
            catch (Exception ex)
            {
                // запись логов в БД
            }
        }
        private void Kline_MessageEvent(object sender, KlineEventArgs e)
        {
            try
            {
                Candle candle    = JConverter.JsonConver <Candle>(e.Message);
                var    ohlcPoint = new OhlcPoint()
                {
                    Open  = candle.k.o,
                    High  = candle.k.h,
                    Low   = candle.k.l,
                    Close = candle.k.c
                };

                var firstCandle = OhclValues.FirstOrDefault();
                if (isClose)
                {
                    OhclValues.Add(ohlcPoint);
                    OhclValues.Remove(firstCandle);
                    LabelsX.Add(candle.k.t.UnixToDateTime().ToString(formatX));
                    isClose = false;
                }
                else
                {
                    if (OhclValues.Count > 0)
                    {
                        var lastOhlc = OhclValues.Last();
                        lastOhlc.Open  = ohlcPoint.Open;
                        lastOhlc.High  = ohlcPoint.High;
                        lastOhlc.Low   = ohlcPoint.Low;
                        lastOhlc.Close = ohlcPoint.Close;
                    }
                    else
                    {
                        OhclValues.Add(ohlcPoint);
                        LabelsX.Add(candle.k.t.UnixToDateTime().ToString(formatX));
                    }
                }

                if (candle.k.x) // проверка должна быть после добавления, иначе добавим закрытую свечу
                {
                    isClose = true;
                }
            }
            catch (Exception ex)
            {
                //TODO: запись логов в БД
            }
            //CreateChartValuesLines();
        }
 private void Kline_ConnectEvent(object sender, EventArgs e)
 {
     OhclValues.Clear();
     LabelsX.Clear();
     GetHistoryCandle();
 }