コード例 #1
0
        public override RunResultClass getDateSerialResult(string secCode, DateTime begt, DateTime endt, params object[] DataPoints)
        {
            RunResultClass ret      = new RunResultClass();
            MTable         tab      = new MTable();
            Type           t        = Type.GetType(GuildName + "GuidClass");
            Assembly       assembly = Assembly.GetExecutingAssembly();
            //MutliReturnValueGuidClass gd = assembly.CreateInstance(t.Name) as MutliReturnValueGuidClass;
            MutliReturnValueGuidClass gd = GuidBaseClass.CreateGuideInstance(GuildName) as MutliReturnValueGuidClass;

            //MACDGuidClass gd = new MACDGuidClass(MACDType.MACD);
            gd.cycle    = this.cycle;
            gd.priceAdj = this.prcAdj;
            DateSerialGuidBuilder_ForWD gb = null;

            for (int i = 0; i < ValueNames.Length; i++)
            {
                gd.ReturnValueName = ValueNames[i];
                gb = new DateSerialGuidBuilder_ForWD(w, gd);
                MTable tmp = gb.getRecords(secCode, begt, endt);
                tab.AddColumnByArray(ValueNames[i], tmp, GuildName);
            }
            ret.Notice.Success = true;
            ret.Result         = tab;
            return(ret);
        }
コード例 #2
0
        protected BaseDataTable SelectTable;//证券清单

        public RunResultClass Execute()
        {
            RunResultClass ret = new RunResultClass();
            RunNoticeClass msg = InParamsCheck(InParam);

            if (!msg.Success)
            {
                ret.Notice = msg;
                return(ret);
            }
            msg = new RunNoticeClass();
            msg = BaseFilter();
            if (!msg.Success)
            {
                ret.Notice = msg;
                return(ret);
            }
            msg = BaseFilter();
            if (!msg.Success)
            {
                ret.Notice = msg;
                return(ret);
            }
            return(ExecSelect());
        }
コード例 #3
0
        public override RunResultClass getSetDataResult(string[] secCodes, DateTime dt)
        {
            RunResultClass ret = new RunResultClass();
            MTable         tab = new MTable();


            //
            //MutliReturnValueGuidClass gd =  assembly.CreateInstance(ct.FullName) as MutliReturnValueGuidClass;
            MutliReturnValueGuidClass gd = GuidBaseClass.CreateGuideInstance(GuildName) as MutliReturnValueGuidClass;

            //MACDGuidClass gd = new MACDGuidClass(MACDType.MACD);
            gd.cycle    = this.cycle;
            gd.priceAdj = this.prcAdj;
            GuidBuilder_ForWD gb = null;

            for (int i = 0; i < ValueNames.Length; i++)
            {
                gd.ReturnValueName = ValueNames[i];
                gb = new GuidBuilder_ForWD(w, gd);
                MTable tmp = gb.getRecords(secCodes, dt);
                tab.AddColumnByArray(ValueNames[i], tmp, GuildName);
            }
            ret.Notice.Success = true;
            ret.Result         = tab;
            return(ret);
        }
コード例 #4
0
        public static MTable getBkList(MongoDataReader w, string sec, DateTime dt, bool FilterTheNoPrice)
        {
            SecIndexClass   sic = new SecIndexClass(sec);
            secIndexBuilder sib = new secIndexBuilder(w, sic);
            MTable          mt  = sib.getBkList(dt);

            if (mt == null || mt.Count == 0)
            {
                return(mt);
            }
            BaseDataProcess_ForMG bdp = new BaseDataProcess_ForMG(w);

            string[]       seccodes = mt["wind_code"].ToList <string>().ToArray();
            RunResultClass rc       = bdp.getSetDataResult(seccodes, "close", dt);
            MTable         ret      = new MTable();
            List <DataRow> NewDrs   = new List <DataRow>();

            for (int i = 0; i < rc.Result.Count; i++)
            {
                DataRow retdr = mt.GetTable().Rows[i];
                DataRow dr    = rc.Result.GetTable().Rows[i];
                if (dr.IsNull("CLOSE") && FilterTheNoPrice)
                {
                    continue;
                }
                NewDrs.Add(retdr);
            }
            ret.FillList(NewDrs.ToArray());
            return(ret);
        }
コード例 #5
0
        public RunResultClass LastProcess(MTable mt)
        {
            RunResultClass ret = new RunResultClass();

            ret.Result = mt[string.Format(":{0}", InParam.TopN - 1), "*"];
            return(ret);
        }
コード例 #6
0
        public static MTable GetMutliSetData(MongoDataReader w, string[] code, DateTime endt, Cycle cyc, PriceAdj prcAdj, bool IncludeBaseData, string args)
        {
            RunNoticeClass ret  = new RunNoticeClass();
            MTable         mtab = new MTable();

            if (IncludeBaseData)
            {
                BaseDataProcess bp   = new BaseDataProcess_ForMG(w, cyc, prcAdj);
                RunResultClass  bret = bp.getSetDataResult(code, endt, new object[0] {
                });
                if (!bret.Notice.Success)
                {
                    mtab.Union(bret.Result);
                    //return new BaseDataTable();
                }
            }
            Dictionary <string, HashSet <string> > guids = getMutliValueGuid(args.Split(','));

            foreach (string key in guids.Keys)
            {
                MutliValueGuidProcess_ForMG cgp = new MutliValueGuidProcess_ForMG(w, key, guids[key].ToArray <string>());
                cgp.cycle  = cyc;
                cgp.prcAdj = prcAdj;
                RunResultClass cret = cgp.getSetDataResult(code, endt, new object[0] {
                });
                mtab.Union(cret.Result);
            }
            return(mtab);
        }
コード例 #7
0
        public RunResultClass ExecSelect()
        {
            RunResultClass ret = new RunResultClass();

            for (int i = 0; i < this.SelectTable.Count; i++)
            {
                CommSecurityProcessClass spc = SingleSecPreProcess((BaseDataItemClass)this.SelectTable[i]);
                this.SelectTable[i, "Enable"] = spc.Enable;
            }
            return(LastProcess(this.SelectTable));
        }
コード例 #8
0
        public static BaseDataTable GetBaseData(MongoDataReader w, string[] codes, DateTime endt, Cycle cyc, PriceAdj prcAdj, params object[] args)
        {
            RunNoticeClass ret = new RunNoticeClass();
            //MACDGuidProcess mp = new MACDGuidProcess(gb.w);
            //RunResultClass ret = mp.getDateSerialResult("000100.SZ",Convert.ToDateTime("2017/7/7"), DateTime.Today);
            BaseDataProcess bp   = new BaseDataProcess_ForMG(w, cyc, prcAdj);
            RunResultClass  bret = bp.getSetDataResult(codes, endt, args);

            if (!bret.Notice.Success)
            {
                return(new BaseDataTable());
            }
            return(new BaseDataTable(bret.Result));
        }
コード例 #9
0
        public override RunResultClass GetSetBaseData(string[] secCodes, DateTime EndT, params object[] datapointnames)
        {
            RunResultClass         ret = new RunResultClass();
            BaseDataPointGuidClass gd  = null;

            if (datapointnames.Length == 0)
            {
                gd = new BaseDataPointGuidClass(true);
            }
            else
            {
                gd = new BaseDataPointGuidClass(datapointnames);
            }
            GuidBuilder_ForWD gb = new GuidBuilder_ForWD(w, gd);

            gd.cycle    = this.cycle;
            gd.priceAdj = this.prcAdj;
            ret.Result  = gb.getRecords(secCodes, EndT);
            ret.Result.AddColumnByArray <DateTime>("DateTime", EndT);
            ret.Notice.Success = true;
            return(ret);
        }
コード例 #10
0
        public override RunResultClass getDateSerialResult(string secCode, DateTime begt, DateTime endt, params object[] DataPoints)
        {
            RunResultClass         ret = new RunResultClass();
            MTable                 tab = new MTable();
            BaseDataPointGuidClass gd;

            if (DataPoints.Length > 0)
            {
                gd = new BaseDataPointGuidClass(DataPoints);
            }
            else
            {
                gd = new BaseDataPointGuidClass(true);
            }
            gd.cycle    = this.cycle;
            gd.priceAdj = this.prcAdj;
            DateSerialGuidBuilder_ForWD gb = new DateSerialGuidBuilder_ForWD(w, gd);

            tab                = gb.getRecords(secCode, begt, endt);
            ret.Result         = tab;
            ret.Notice.Success = true;
            return(ret);
        }