示例#1
0
        private static int GetTimeArr(double[] tradingPeriod, KLinePeriod period, List <double[]> timeList, int offset)
        {
            double currentTime = tradingPeriod[0];
            double endTime     = tradingPeriod[1];

            if (offset != 0)
            {
                currentTime = TimeUtils.AddMinutes(currentTime, offset);
                //修正上一个时间段的结束时间
                if (timeList.Count != 0)
                {
                    timeList[timeList.Count - 1][1] = currentTime;
                }
            }

            double lastTime = currentTime;

            while (currentTime < endTime)
            {
                lastTime    = currentTime;
                currentTime = TimeUtils.AddTime(currentTime, period.Period, period.PeriodType);
                if (currentTime >= endTime)
                {
                    TimeSpan timeSpan = TimeUtils.Substract(currentTime, endTime);
                    offset      = timeSpan.Hours * 60 + timeSpan.Minutes;
                    currentTime = endTime;
                }
                timeList.Add(new double[] { Math.Round(lastTime, 6), Math.Round(currentTime, 6) });
            }
            return(offset);
        }