public static DateTime GetKLineTime(DateTime quoteTime, KLineSize klineSize, ProdDef prodDef = null) { if (klineSize == KLineSize.Day) { return(Products.GetLocalDateRegardingSessionRefreshTime(quoteTime, prodDef)); } PeriodAttribute attr = GetAttribute <PeriodAttribute>(klineSize); int period = attr.Period; return(DateTimes.GetPeriodStartTime(quoteTime, period)); }
public static bool IsTickEqual(DateTime t1, DateTime t2, TickSize tickSize) { switch (tickSize) { case TickSize.OneMinute: return(DateTimes.IsEqualDownToMinute(t1, t2)); break; case TickSize.TenMinute: return(DateTimes.IsEqualDownTo10Minute(t1, t2)); break; case TickSize.OneHour: return(DateTimes.IsEqualDownToHour(t1, t2)); break; default: throw new ArgumentOutOfRangeException("tickSize", tickSize, null); } }