public DataProviderWrap(Plugin_DataProvider provider) { this.factory = new DataReaderFactory(provider.GetDataPath()); this.provider = provider; this.codeReader = factory.CodeReader; this.klineDataReader = factory.KLineDataReader; this.tickDataReader = factory.TickDataReader; }
public DataReader(string dataCenterUri) { this.dataStore = DataStoreFactory.CreateDataStore(dataCenterUri); this.codeReader = new CodeReader(dataStore.CreateInstrumentStore()); this.tradingDayReader = new CacheUtils_TradingDay(dataStore.CreateTradingDayStore().Load()); this.tradingSessionStore = dataStore.CreateTradingSessionStore(); this.tradingTimeStore = dataStore.CreateTradingTimeStore(); this.tickDataReader = new TickDataReader(dataStore, this); this.klineDataReader = new KLineDataReader(dataStore, this); this.timeLineDataReader = new TimeLineDataReader(this); this.mainContractReader = new MainContractReader(dataStore); }
public static IKLineData GetKLineData(string code, int start, int end, KLinePeriod period, List <double[]> openTime) { DataReaderFactory fac = ResourceLoader.GetDefaultDataReaderFactory(); ITickDataReader tickReader = fac.TickDataReader; IList <int> dates = fac.OpenDateReader.GetOpenDates(start, end); List <TickData> dataList = new List <TickData>(); for (int i = 0; i < dates.Count; i++) { int date = dates[i]; TickData tickData = tickReader.GetTickData(code, date); if (tickData == null) { continue; } dataList.Add(tickData); } return(DataTransfer_Tick2KLine.Transfer(dataList, period, openTime)); }