public DataNavigate2(DataReaderFactory factory, String code, double time) { DataCacheFactory cacheFactory = new DataCacheFactory(factory); IDataCache_Code cache = cacheFactory.CreateCache_Code(code); ITradingDayReader openDateReader = cache.GetOpenDateReader(); Init(factory, code, time, openDateReader.FirstOpenDate, openDateReader.LastOpenDate); }
public void Change(string code, double time, KLinePeriod period) { if (this.code == code && this.period.Equals(period) && IsInCurrentKLineData(time)) { ChangeTime(time); return; } dataCache_Code = dataCacheFac.CreateCache_Code(code); int extendBefore = 30; int extendAfter = 30; if (period.PeriodType == KLineTimeType.MINUTE) { extendBefore = 30; extendAfter = 30; } else if (period.PeriodType == KLineTimeType.HOUR) { extendBefore = 100; extendAfter = 100; } else if (period.PeriodType == KLineTimeType.DAY) { extendBefore = 2000; extendAfter = 2000; } int date = (int)time; int start = (int)TimeUtils.AddDays(date, -extendBefore); int end = (int)TimeUtils.AddDays(date, extendAfter); KLineData data = (KLineData)dataReaderFac.KLineDataReader.GetData(code, start, end, period); this.klineData = new KLineData_RealTime(data); this.code = code; this.period = period; ChangeTime(time); }
public RealTimeDataBuilder_KLine(IKLineData srcData, IDataCache_Code cache_Code, double currentTime) { this.dataCache_Code = cache_Code; this.klineData = srcData; this.ChangeTime(currentTime); }
public RealTimeDataBuilder_DayDataCache(IDataCache_Code cache_Code) { this.cache_Code = cache_Code; }