public int InitDataCache_Data <T>(IData_Factors infoFactors, IData_Factor infoFactor, string tagName, typeTimeFrequency typeTimeFrequency, Dictionary <DateTime, T> datas, bool useEvent = false) { if (_isInited == false) { return(-1); } DataCaches dataCaches = (DataCaches)this.GetDataCaches(infoFactors, infoFactor); if (dataCaches == null) { return(-1); } if (dataCaches.GetDataCache <T>(tagName, typeTimeFrequency) == null) { DataCache <T> dataCache = (DataCache <T>)dataCaches.GetDataCache <T>(tagName, typeTimeFrequency, true, 0); //注册事件 if (useEvent) { dataCache.DataCache_Load += new DataCacheLoad_EventHandler(EventHandler_DataCacheLoad); dataCache.DataChecks_Initial += new DataCacheChecksInitial_EventHandler(EventHandler_DataCacheChecksInitial); dataCache.DataCache_Change += new DataCacheChange_EventHandler(EventHandler_DataCacheChange); dataCache.Event_DataCache_Load(); dataCache.Event_DataChecks_Initial(); } return(dataCache.InitDatas(datas)); } return(-1); }
/// <summary>按因子对象初始因子数据缓存对象 /// /// </summary> /// <typeparam name="T"></typeparam> /// <param name="infoFactors">因子对象集</param> /// <param name="infoFactor">因子对象</param> /// <param name="tagName">标识</param> /// <param name="typeTimeFrequency">数据频率</param> /// <param name="cacheNums">缓存数据数量</param> /// <returns></returns> public bool InitDataCache <T>(IData_Factors infoFactors, IData_Factor infoFactor, string tagName, typeTimeFrequency typeTimeFrequency, int cacheNums, bool useEvent = false) { if (_isInited == false) { return(false); } DataCaches dataCaches = (DataCaches)this.GetDataCaches(infoFactors, infoFactor); if (dataCaches == null) { return(false); } if (dataCaches.GetDataCache <T>(tagName, typeTimeFrequency) == null) { DataCache <T> dataCache = (DataCache <T>)dataCaches.GetDataCache <T>(tagName, typeTimeFrequency, true, cacheNums); //注册事件 if (useEvent) { dataCache.DataCache_Load += new DataCacheLoad_EventHandler(EventHandler_DataCacheLoad); dataCache.DataChecks_Initial += new DataCacheChecksInitial_EventHandler(EventHandler_DataCacheChecksInitial); dataCache.DataCache_Change += new DataCacheChange_EventHandler(EventHandler_DataCacheChange); dataCache.Event_DataCache_Load(); dataCache.Event_DataChecks_Initial(); } return(this._IndexFactors(infoFactors, infoFactor)); } return(true); }