public DataCaches(IData_Factor info_Factor, IDataCache_Set srcDataCache_Set, IDataChecks dataChecks = null) { _DataCache_Set = new DataCache_Set(info_Factor.ID, srcDataCache_Set.Time_Base, typeTimeFrequency.None, 0, info_Factor, srcDataCache_Set); _id = _DataCache_Set.ID; dataChecks = _DataChecks; _DataCaches = new Dictionary <string, IDataCache>(); }
//List<T> _DataCaches = null; //public List<T> DataCaches //{ // get { return _DataCaches; } //} public DataCache(string tagName, typeTimeFrequency typeTimeFrequency, int cacheNums, IDataCache_Set srcDataCache_Set, IDataChecks dataChecks = null) { _DataCaches = new Dictionary <DateTime, T>(); _DataCache_Set = new DataCache_Set(tagName, srcDataCache_Set.Time_Base, typeTimeFrequency, cacheNums, srcDataCache_Set.Info_Factor, srcDataCache_Set); _id = _DataCache_Set.ID; _DataChecks = dataChecks; this.Init(DateTime.Now); }
public DataChecks(string tagName, IDataCache dataCache, IDataChecks parent = null, IDataCheck_Msger msger = null) { _tag = tagName; _Msger = msger; _Parent = parent; _DataCache = dataCache; _DataChecks = new Dictionary <string, IDataCheck>(); }
public bool InitDataChecks(IDataChecks poChecks) { this._DataChecks = poChecks; if (this._DataChecks.DataCaches_Manage == null) { this._DataChecks.InitDataCaches_Manage(this); } return(true); }
//缓存数据集检查对象初始事件 public virtual void EventHandler_DataCachesChecksInitial(object sender, DataCaches_Event e) { DataCaches dataCaches = e.DataCaches; if (dataCaches != null) { IDataChecks poDataChecks_Caches = dataCaches.DataChecks; if (poDataChecks_Caches == null) { poDataChecks_Caches = new DataChecks_Quote(dataCaches.ID, dataCaches); } //初始检查集--未具体初始检查对象 bool bResult = dataCaches.InitDataChecks(poDataChecks_Caches); } }
//初始数据检查对象 public virtual bool InitDataCheck_Instance(IDataChecks pDataChecks, Type dest_ClassType) { if (pDataChecks == null) { return(false); } string setting = ""; var instance = this.CreateData_CheckObj <Data_Quote>(dest_ClassType, (IDataCache <Data_Quote>)pDataChecks.DataCache, setting); DataCheck_Quote <Data_Quote> pDataCheck = (DataCheck_Quote <Data_Quote>)instance; if (pDataCheck != null) { pDataChecks.InitDataCheck <Data_Quote>(pDataCheck.Tag, pDataCheck, true); } return(true); }
//初始数据检查对象集合-分钟级别 public override bool InitDataCheck(IDataChecks pDataChecks, typeTimeFrequency timeFrequency) { //集成基类实现 if (!base.InitDataCheck(pDataChecks, timeFrequency)) { return(false); } //按时间频率分类设置 switch (timeFrequency) { case typeTimeFrequency.none: break; case typeTimeFrequency.real: this.InitDataCheck_Instance(pDataChecks, typeof(QuoteCheck_RiseFall_Fixed <Data_Quote>)); this.InitDataCheck_Instance(pDataChecks, typeof(QuoteCheck_Risk <Data_Quote>)); this.InitDataCheck_Instance(pDataChecks, typeof(QuoteCheck_Hourly <Data_Quote>)); break; case typeTimeFrequency.s30: break; case typeTimeFrequency.m1: break; case typeTimeFrequency.m10: break; case typeTimeFrequency.m5: case typeTimeFrequency.m15: case typeTimeFrequency.m30: case typeTimeFrequency.m60: case typeTimeFrequency.m120: case typeTimeFrequency.day: if (pDataChecks.DataCache.DataCache_Set.Info_Factor.Name == "50ETF") { this.InitDataCheck_Instance(pDataChecks, typeof(QuoteCheck_Risk_Quantify <Data_Quote>)); } break; default: break; } return(true); }
//缓存数据检查对象初始事件 public virtual void EventHandler_DataCacheChecksInitial(object sender, DataCache_Event e) { //提取数据缓存对象、及检查对象集 IDataCache poDataCache = e.DataCache; if (poDataCache != null) { IDataChecks poDataChecks_Cache = poDataCache.DataChecks; if (poDataChecks_Cache == null) { poDataChecks_Cache = new DataChecks_Quote(poDataCache.ID, poDataCache, null, _msger); } //初始检查集 bool bResult = poDataCache.InitDataChecks(poDataChecks_Cache); bResult = bResult && this.InitDataCheck(poDataChecks_Cache, poDataCache.DataCache_Set.Time_Frequency); } }
//初始数据检查对象集合-分钟级别 public virtual bool InitDataCheck(IDataChecks pDataChecks, typeTimeFrequency timeFrequency) { switch (timeFrequency) { case typeTimeFrequency.none: break; case typeTimeFrequency.real: this.InitDataCheck_Instance(pDataChecks, typeof(DataCheck_Print <Data_Quote>)); break; case typeTimeFrequency.s30: break; case typeTimeFrequency.m1: break; case typeTimeFrequency.m5: break; case typeTimeFrequency.m10: break; case typeTimeFrequency.m15: break; case typeTimeFrequency.m30: break; case typeTimeFrequency.m60: break; case typeTimeFrequency.m120: break; case typeTimeFrequency.day: break; default: break; } return(true); }
/// <summary> /// </summary> /// <param name="dtBase">基时间</param> public DataCaches_Manage(IData_Factors info_Factors, IDataCache_Set srcDataCache_Set, IDataChecks dataChecks = null) { Tag = info_Factors.ID; _DataCache_Set = new DataCache_Set(Tag, srcDataCache_Set.Time_Base, typeTimeFrequency.None, 0, info_Factors, srcDataCache_Set); _DataChecks = dataChecks; _DataCaches = new Dictionary <string, IDataCaches>(); }
public virtual bool InitDataChecks(IDataChecks parent) { _Parent = parent; return(true); }
public bool InitDataChecks <T>(string tagFactors, string tagFactor, string strTag, typeTimeFrequency typeTimeFrequency, IDataChecks dataChecks) { if (tagFactors + "" == "") { return(false); } //DataCaches_Manage IData_Factors infoFactors = this._GetFactors(tagFactors); if (infoFactors == null) { return(false); } IDataCaches_Manage dataCaches_Manage = this.GetDataCaches_Manage(infoFactors); if (dataCaches_Manage == null) { return(false); } if (tagFactor + "" == "") { return(dataCaches_Manage.InitDataChecks(dataChecks)); } //DataCaches IData_Factor infoFactor = infoFactors.GetData_Factor(tagFactor); if (infoFactor == null) { return(false); } IDataCaches dataCaches = this.GetDataCaches(infoFactors, infoFactor); if (dataCaches == null) { return(false); } IDataCache dataCache = dataCaches.GetDataCache <T>(strTag, typeTimeFrequency); if (dataCache == null) { return(dataCaches.InitDataChecks(dataChecks)); } else { return(dataCache.InitDataChecks(dataChecks)); } }
public DataChecks_Quote(string tagName, IDataCaches_Manage dataCaches_Manage, IDataChecks parent = null, IDataCheck_Msger msger = null) : base(tagName, dataCaches_Manage, parent, msger) { }