示例#1
0
            public bool UpdateCandle(CandleMessage message, out Candle candle)
            {
                if (message == null)
                {
                    throw new ArgumentNullException(nameof(message));
                }

                candle = null;

                if (_currentCandle != null && _currentCandle.OpenTime == message.OpenTime)
                {
                    if (_currentCandle.State == CandleStates.Finished)
                    {
                        return(false);
                    }

                    _currentCandle.Update(message);
                }
                else
                {
                    _currentCandle = message.ToCandle(Series);
                }

                candle = _currentCandle;
                return(true);
            }
        /// <summary>
        /// Update candle by new message.
        /// </summary>
        /// <param name="message">Message.</param>
        /// <param name="candle">Updated candle.</param>
        /// <returns>Candles series.</returns>
        public CandleSeries UpdateCandle(CandleMessage message, out Candle candle)
        {
            candle = null;

            if (_currentCandle != null && _currentCandle.OpenTime == message.OpenTime)
            {
                if (_currentCandle.State == CandleStates.Finished)
                {
                    return(null);
                }

                _currentCandle.Update(message);
            }
            else
            {
                _currentCandle = message.ToCandle(Series);
            }

            candle = _currentCandle;
            return(Series);
        }