/// <summary> /// Create a copy of <see cref="CandlePriceLevel"/>. /// </summary> /// <returns>Copy.</returns> public override CandlePriceLevel Clone() { return(new CandlePriceLevel { Price = Price, BuyCount = BuyCount, SellCount = SellCount, SellVolume = SellVolume, BuyVolume = BuyVolume, BuyVolumes = BuyVolumes?.ToArray(), SellVolumes = SellVolumes?.ToArray(), }); }
/// <summary> /// Обновить ценовой уровень новым значением. /// </summary> /// <param name="value">Значение.</param> public void Update(ICandleBuilderSourceValue value) { var side = value.OrderDirection; if (side == null) { throw new ArgumentOutOfRangeException(); } if (side == Sides.Buy) { BuyVolume += value.Volume; BuyCount++; BuyVolumes.Add(value.Volume); } else { SellVolume += value.Volume; SellCount++; SellVolumes.Add(value.Volume); } }