Exemplo n.º 1
0
 /// <summary>
 /// Получает блок по свечам-объемам
 /// </summary>
 /// <param name="time"></param>
 /// <returns></returns>
 protected override HVolumeBlock getBlock(DateTime time)
 {
     lock (syncLock)
     {
         BlockTime timeBlock = BlockTime.ConvertForDay(time);
         if (lastUseBlock.NotIsNull())
         {
             if (lastUseBlock.IdTime == timeBlock)
             {
                 return(lastUseBlock);
             }
             lastUseBlock = null;
         }
         if (Blocks.Count > 0)
         {
             var block = Blocks.FirstOrDefault(b => b.IdTime == timeBlock);
             if (block.NotIsNull() && block.IdTime == timeBlock)
             {
                 lastUseBlock = block;
                 return(block);
             }
         }
         if (lastUseBlock.IsNull())
         {
             HVolumeBlock newBlock = loadByIdTime(timeBlock, POSTFIX_FILE_DUMP);
             if (newBlock.IsNull())
             {
                 newBlock = new HVolumeBlock(periodTimeFrame, timeBlock);
             }
             Blocks.Add(newBlock);
             lastUseBlock = newBlock;
         }
         return(lastUseBlock);
     }
 }
Exemplo n.º 2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="timeFrame"></param>
 /// <param name="idTime"></param>
 public CandlesBlock(int timeFrame, BlockTime idTime)
 {
     lock (syncLock)
     {
         periodTimeFrame = timeFrame;
         IdTime          = idTime;
     }
 }
Exemplo n.º 3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="timeFrame"></param>
 /// <param name="idTime"></param>
 public HVolumeBlock(int timeFrame, BlockTime idTime)
 {
     lock (syncLock)
     {
         periodTimeFrame = timeFrame;
         IdTime          = idTime;
     }
 }
Exemplo n.º 4
0
        public override int GetHashCode()
        {
            unchecked
            {
                var baseHashCode = base.GetHashCode();

                var hashCode = baseHashCode;
                hashCode = (hashCode * 397) ^ Index;
                hashCode = (hashCode * 397) ^ (BlockHash != null ? BlockHash.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ BlockHeight.GetHashCode();
                hashCode = (hashCode * 397) ^ (BlockTime != null ? BlockTime.GetHashCode() : 0);
                hashCode = (hashCode * 397) ^ Confirmations;
                return(hashCode);
            }
        }
Exemplo n.º 5
0
        /// <summary>
        /// Возвращает дату начала хранения
        /// </summary>
        /// <returns></returns>
        private BlockTime getDateBeginKeep()
        {
            var date = DateTime.Now.AddDays(daysPeriodKeep * -1);

            return(KeepDay ? BlockTime.ConvertForDay(date) : BlockTime.ConvertForMonth(date));
        }