예제 #1
0
 /// <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(),
     });
 }
예제 #2
0
        /// <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);
            }
        }