private static int IndexOfTime(IKLineData_RealTime klineData, KLinePeriod klinePeriod, double time, int date)
 {
     if (klinePeriod.PeriodType == KLineTimeType.DAY)
     {
         return(TimeIndeierUtils.IndexOfTime_KLine(klineData.GetKLineData_Original(), date));
     }
     else
     {
         int index = TimeIndeierUtils.IndexOfTime_KLine(klineData, time);
         if (klineData.IsTradingTimeEnd(index))
         {
             double endTime = klineData.GetEndTime(index);
             if (index >= klineData.Length - 1)
             {
                 return(index);
             }
             double nextStartTime = klineData.Arr_Time[index + 1];
             double middleTime    = (endTime + nextStartTime) / 2;
             if (time < middleTime)
             {
                 return(index);
             }
             return(index + 1);
         }
         return(index);
     }
 }
Exemplo n.º 2
0
        private double GetEndTime(IKLineData_RealTime klineData, int barPos)
        {
            double endTime = klineData.GetEndTime(barPos);

            if (barPos < klineData.Length - 1 && klineData.IsTradingTimeEnd(barPos))
            {
                endTime = (endTime + klineData.Arr_Time[barPos + 1]) / 2;
            }
            return(endTime);
        }
Exemplo n.º 3
0
        private static double GetEndTime(IKLineData_RealTime klineData, int barPos)
        {
            if (klineData.Period.PeriodType >= KLineTimeType.DAY)
            {
                return(klineData.Time);
            }
            double endTime = klineData.GetEndTime(barPos);

            if (barPos < klineData.Length - 1 && klineData.IsTradingTimeEnd(barPos))
            {
                endTime = (endTime + klineData.Arr_Time[barPos + 1]) / 2;
            }
            return(endTime);
        }
Exemplo n.º 4
0
        private void DealTimeInfo()
        {
            if (mainKLineData.IsTradingTimeStart(mainKLineData.BarPos))
            {
                isTradingTimeStart = true;
            }
            else
            {
                isTradingTimeStart = false;
            }

            if (mainKLineData.IsTradingTimeEnd(mainKLineData.BarPos))
            {
                isTradingTimeEnd = true;
            }
            else
            {
                isTradingTimeEnd = false;
            }

            if (mainKLineData.IsDayStart(mainKLineData.BarPos))
            {
                isDayStart = true;
            }
            else
            {
                isDayStart = false;
            }

            if (mainKLineData.IsDayEnd(mainKLineData.BarPos))
            {
                isDayEnd = true;
            }
            else
            {
                isDayEnd = false;
            }
        }