コード例 #1
0
        public void CreateLiveCollection()
        {
            MatchAnalysis manalysis = new MatchAnalysis();
            manalysis.CommandTimeout = 0;
            manalysis.ContextOptions.LazyLoadingEnabled = true;
            manalysis.live_Table_lib.MergeOption = MergeOption.NoTracking;
            DateTime dt_now = DateTime.Now.AddDays(-1);
            var today_ma = manalysis.Live_Single.ToLookup(e => e.Home_team_big + "," + e.Away_team_big);
            ScorePredict sp = new ScorePredict();
            var docs = sp.mongo_ScorePredict.QueryMongo();
            foreach (var doc in docs)
            {
                string match = doc.home_team_big.ToString() + "," + doc.away_team_big.ToString();
                if (today_ma.Contains(match))
                {
                    ScorePredictForCnDocument spc = new ScorePredictForCnDocument();
                    spc._id = doc._id;
                    spc.match_type = doc.match_type;
                    spc.match_time = (DateTime)doc.match_time.Value.AddHours(8);//修正时间的问题
                    spc.home_team = doc.home_team;
                    spc.away_team = doc.away_team;
                    spc.asia_odds = ConvertOdd(doc.home_team, doc.asia_odds);
                    spc.pnn_310values = doc.pnn_310values;
                    spc.grnn_310values = doc.grnn_310values;
                    spc.grnn_home_goals = doc.grnn_home_goals;
                    spc.grnn_away_goals = doc.grnn_away_goals;

                    if (Math.Abs(spc.asia_odds) > 0.25
                        && spc.pnn_310values * spc.asia_odds > 0
                        && spc.grnn_310values * spc.asia_odds > 0
                        && spc.grnn_home_goals != spc.grnn_away_goals)
                        spc.cn_odds = "***";

                    mongo_ScorePredictForCn.MongoDropColCreateCol.Insert(spc);
                }
            }

            Console.WriteLine("ScorePredictForCnDocument->mongo->ok");
        }
コード例 #2
0
        static void Main(string[] args)
        {

#if abcd
            int overday = 365 * 4;

            using (LiveDataETLs lcb = new LiveDataETLs())
            {
                lcb.CreateResultCollection(overday);
                lcb.CreateLiveCollection();
            }
            GC.Collect();
#endif
#if abcd
            using (HistoryDataTopDetail lcbs = new HistoryDataTopDetail())
                lcbs.CreateCollection();
            GC.Collect();

            using (HistoryDataCalculate lcbs = new HistoryDataCalculate())
                lcbs.CreateCollection();
            GC.Collect();

            DataMingForMatlab.DataMingForMatlabs.CreateSimCollection();

             DataMingForMatlab.DataMingForMatlabs.DoSimulink();
              using (StagingETLs sts = new StagingETLs())
                sts.CreateLiveCollection();
            GC.Collect();
            
#endif
#if abc
            using (ScorePredict sp = new ScorePredict())
                sp.CreateLiveCollection();
            GC.Collect();
            using (ScorePredictForCn sp = new ScorePredictForCn())
                sp.CreateLiveCollection();
            GC.Collect();

            //预测结束
#endif

#if abc
            //csv和email观察预测结果
            string filename = @"ScorePredictForCn.csv";
            ScorePredictForCn smo = new ScorePredictForCn();
            var today_ma = smo.mongo_ScorePredictForCn.QueryMongo();
            DataTable dt1 = today_ma.CopyDataTable();
            DataTableToTxt.DataTable2TxtAll(dt1, filename);
            Console.WriteLine("ScorePredictForCnToTxt->mongo->ok");

            SendPredictEmail.SendMail(filename);
#endif

#if abc
            //写入csv给R研究用
            DataMingForRs.MatchNowToTxt();
            DataMingForRs.MatchOverToTxt();
#endif

            Console.ReadKey();
        }