Example #1
0
        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>();
        }
Example #2
0
        //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);
        }
Example #3
0
 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>();
 }
Example #4
0
 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);
        }
Example #7
0
        //初始数据检查对象集合-分钟级别
        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);
        }
Example #10
0
 /// <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>();
 }
Example #11
0
 public virtual bool InitDataChecks(IDataChecks parent)
 {
     _Parent = parent;
     return(true);
 }
Example #12
0
        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));
            }
        }
Example #13
0
 public DataChecks_Quote(string tagName, IDataCaches_Manage dataCaches_Manage, IDataChecks parent = null, IDataCheck_Msger msger = null) : base(tagName, dataCaches_Manage, parent, msger)
 {
 }