Beispiel #1
0
 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.IsTradingPeriodEnd(index))
         {
             if (klineData.IsDayEnd(index))
             {
                 return(index);
             }
             double endTime = klineData.GetKLinePeriodEndTime(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);
     }
 }
Beispiel #2
0
 private bool IsCurrentTradingTimeEnd()
 {
     if (IsPeriodEnd(dataForForward_Code.MainKLinePeriod))
     {
         IKLineData_RealTime mainKlineData = dataForForward_Code.MainKLine;
         if (mainKlineData.IsTradingPeriodEnd(mainKlineData.BarPos))
         {
             return(true);
         }
     }
     return(false);
 }
Beispiel #3
0
        private static double GetEndTime(IKLineData_RealTime klineData, int barPos)
        {
            if (klineData.Period.PeriodType >= KLineTimeType.DAY)
            {
                return(klineData.Time);
            }
            double endTime = klineData.GetKLinePeriodEndTime(barPos);

            if (barPos < klineData.Length - 1 && klineData.IsTradingPeriodEnd(barPos))
            {
                endTime = (endTime + klineData.Arr_Time[barPos + 1]) / 2;
            }
            return(endTime);
        }
Beispiel #4
0
        private void DealTimeInfo()
        {
            if (mainKLineData.IsTradingPeriodStart(mainKLineData.BarPos))
            {
                isTradingTimeStart = true;
            }
            else
            {
                isTradingTimeStart = false;
            }

            if (mainKLineData.IsTradingPeriodEnd(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;
            }
        }