コード例 #1
0
        private void CheckError(ITickData tickData, IKLineData klineData)
        {
            List <int[]> indeies = new List <int[]>();

            for (int i = 0; i < klineData.Length; i++)
            {
                double startTime  = klineData.Arr_Time[i];
                double endTime    = TimeUtils.AddMinutes(startTime, 1);
                int    startIndex = TimeIndeierUtils.IndexOfTime_Tick(tickData, startTime);
                int    endIndex   = TimeIndeierUtils.IndexOfTime_Tick(tickData, endTime);
                indeies.Add(new int[] { startIndex, endIndex });
            }
            CheckIndexArr(tickData, indeies);
        }
コード例 #2
0
        private double GetEndTime()
        {
            if (currentPeriodIndex == periods.Count - 1)
            {
                return(double.MaxValue);
            }
            double   nextPeriod = periods[currentPeriodIndex + 1];
            double   period     = periods[currentPeriodIndex];
            TimeSpan span       = TimeUtils.Substract(nextPeriod, period);
            double   endTime    = nextPeriod;

            if (span.Minutes > 5)
            {
                endTime = TimeUtils.AddMinutes(period, 5);
            }

            return(endTime);
        }
コード例 #3
0
ファイル: TickDataAdjuster.cs プロジェクト: wanwei/sc2
        private int AdjustPeriodStart(TickData data, TickInfo_Period period)
        {
            //修改开始时间
            int    startIndex  = period.StartIndex;
            double auctionTime = TimeUtils.AddMinutes(data.TradingDay + period.StartTime, -1);

            if (period.adjustInfo.IsOpen)
            {
                data.arr_time[period.StartIndex] = auctionTime;
                startIndex++;
            }
            double startTime   = Math.Round(data.TradingDay + period.StartTime, 6);;
            double currentTime = data.arr_time[startIndex];
            int    index       = startIndex;

            while (currentTime < startTime)
            {
                data.arr_time[index] = startTime;
                index++;
                currentTime = data.arr_time[index];
            }
            return(index - period.StartIndex - (period.adjustInfo.IsOpen ? 1 : 0));
        }