Esempio n. 1
0
        public void GetStockDataDetailData(ClassCSV cCSV, string strDateTarg,
                                           string placeTarg, string racenumTarg)
        {
            //データ取得する
            _form1.axJVLink1.JVClose();
            if (cCommon.checkInit() != 0)
            {
                return;
            }

            if (GetStockDataDetailData1(strDateTarg, placeTarg, racenumTarg) < 0)
            {
                _form1.axJVLink1.JVClose();
                return;
            }
            _form1.prgDownload.Value = 51;
            _form1.prgDownload.Value--;


            //計算する
            cCommon.CreateCompositeOdds(cCSV, listUmatanOddsH1, listUmatanOddsO1,
                                        listUmatanOdds, listOddsSanrentan);

            _form1.prgDownload.Maximum++;
            _form1.prgDownload.Value = _form1.prgDownload.Maximum;
            _form1.prgDownload.Maximum--;
        }
Esempio n. 2
0
 public UmatanOdds(clsCommon cCommon, OperateForm cOperateForm1,
                   Form1 form1)
 {
     _form1           = form1;
     cOperateForm     = cOperateForm1;
     cLog             = new ClassLog();
     cUmatanOddsRT    = new UmatanOddsRT(cCommon, form1);
     cUmatanOddsStock = new UmatanOddsStock(cCommon, form1);
     cCSV             = new ClassCSV();
 }
Esempio n. 3
0
        bool GetRTDataDetailData1(ClassCSV cCSV, string strDateTarg,
                                  string placeTarg, string racenumTarg)
        {
            string codeJyo;
            string retbuff;

            codeJyo = cCommon.JyogyakuCord(placeTarg);
            if (codeJyo == "")
            {
                return(false);
            }

            //速報オッズ(馬単)の呼び出し
            retbuff = GeJVRTRead(strDateTarg, codeJyo, racenumTarg, "0B34", 4100);
            if (retbuff == null)
            {
                return(false);
            }
            listUmatanOdds = cCommon.setDataO4(retbuff, strDateTarg,
                                               placeTarg, racenumTarg);

            //速報オッズ(単複枠)の呼び出し
            retbuff = GeJVRTRead(strDateTarg, codeJyo, racenumTarg, "0B31", 1000);
            if (retbuff == null)
            {
                return(false);
            }
            listUmatanOddsO1 = cCommon.setDataO1(retbuff, strDateTarg,
                                                 placeTarg, racenumTarg);


            //3連単オッズの呼び出し
            retbuff = GeJVRTRead(strDateTarg, codeJyo, racenumTarg, "0B36", 110000);
            if (retbuff == null)
            {
                return(false);
            }
            listOddsSanrentan = cCommon.setDataO6(retbuff, strDateTarg,
                                                  placeTarg, racenumTarg);

            //速報票数(全賭式)の呼び出し
            retbuff = GeJVRTRead(strDateTarg, codeJyo, racenumTarg, "0B20", 30000);
            if (retbuff != null)
            {
                listUmatanOddsH1 = cCommon.setDataH1(retbuff, strDateTarg,
                                                     placeTarg, racenumTarg);
            }

            return(true);
        }
Esempio n. 4
0
        void writeHeadData(ClassCSV cCSV)
        {
            long rowTarget = 1;

            cCSV.setData(rowTarget, 1, "目1");
            cCSV.setData(rowTarget, 2, "目2");
            cCSV.setData(rowTarget, 3, "馬単オッズ");
            cCSV.setData(rowTarget, 4, "人気1");
            cCSV.setData(rowTarget, 5, "人気2");
            cCSV.setData(rowTarget, 6, "馬単票数");
            cCSV.setData(rowTarget, 7, "馬単裏");
            cCSV.setData(rowTarget, 8, "馬単合成");
            cCSV.setData(rowTarget, 9, "3連単1・2着軸総流し");
        }
Esempio n. 5
0
        public void CreateCompositeOdds(ClassCSV cCSV, List <clsUmatanOdds> listUmatanOddsH1,
                                        List <clsRaceUma> listUmatanOddsO1, List <clsUmatanOdds> listUmatanOdds,
                                        List <clsOddsSanrentan> listOddsSanrentan)
        {
            int  cnt         = 0;
            bool isExistHyou = true;

            // 人気順を入れる
            foreach (clsRaceUma UmatanOddsO1 in listUmatanOddsO1)
            {
                cnt = 0;
                foreach (clsUmatanOdds UmatanOdds in listUmatanOdds)
                {
                    if (UmatanOdds.Umaban1 == UmatanOddsO1.Umaban)
                    {
                        listUmatanOdds[cnt].Ninki1 = UmatanOddsO1.Ninki;
                    }
                    if (UmatanOdds.Umaban2 == UmatanOddsO1.Umaban)
                    {
                        listUmatanOdds[cnt].Ninki2 = UmatanOddsO1.Ninki;
                    }
                    cnt++;
                }
            }

            // 票数1
            if (listUmatanOddsH1.Count == 0)
            {
                isExistHyou = false;
            }
            foreach (clsUmatanOdds UmatanOddsH1 in listUmatanOddsH1)
            {
                cnt = 0;
                foreach (clsUmatanOdds UmatanOdds in listUmatanOdds)
                {
                    if (UmatanOdds.Kumi == UmatanOddsH1.Kumi)
                    {
                        listUmatanOdds[cnt].Hyou = UmatanOddsH1.Hyou;
                        break;
                    }
                    cnt++;
                }
            }

            // 馬単裏
            for (int i = 0; i < listUmatanOdds.Count; i++)
            {
                foreach (clsUmatanOdds UmatanOdds in listUmatanOdds)
                {
                    if (listUmatanOdds[i].Umaban1 == UmatanOdds.Umaban2 &&
                        listUmatanOdds[i].Umaban2 == UmatanOdds.Umaban1)
                    {
                        listUmatanOdds[i].RevOdds = UmatanOdds.Odds;
                        break;
                    }
                }
            }

            // 馬単合成
            for (int i = 0; i < listUmatanOdds.Count; i++)
            {
                List <double> listOddsGousei = new List <double>();
                listOddsGousei.Add(listUmatanOdds[i].Odds);
                listOddsGousei.Add(listUmatanOdds[i].RevOdds);
                double denom = 0;
                for (int j = 0; j < listOddsGousei.Count; j++)
                {
                    denom += 1 / listOddsGousei[j];
                }
                if (denom > 0)
                {
                    listUmatanOdds[i].SyntheticOdds1 = 1 / denom;
                }
            }

            // 3連単オッズ
            if (_form1.checkBox1.Checked)
            {
                for (int i = 0; i < listUmatanOdds.Count; i++)
                {
                    List <double> listOddsGousei = new List <double>();
                    for (int j = 0; j < listOddsSanrentan.Count; j++)
                    {
                        if (listUmatanOdds[i].Umaban1 == listOddsSanrentan[j].Umaban1 &&
                            listUmatanOdds[i].Umaban2 == listOddsSanrentan[j].Umaban2)
                        {
                            listOddsGousei.Add(listOddsSanrentan[j].OddsSanrentan);
                        }
                    }
                    double denom = 0;
                    for (int j = 0; j < listOddsGousei.Count; j++)
                    {
                        if (listOddsGousei[j] > 0)
                        {
                            denom += 1 / listOddsGousei[j];
                        }
                    }
                    if (denom > 0)
                    {
                        listUmatanOdds[i].SyntheticOdds2 = 1 / denom;
                    }
                }
            }

            //ソートする
            listUmatanOdds.Sort((a, b) => b.Umaban1 - a.Umaban1);
            listUmatanOdds.Sort((a, b) => b.Umaban2 - a.Umaban2);
            listUmatanOdds.Sort((a, b) => a.OddsInt - b.OddsInt);

            //CSVに書き込み
            long rowWrite = 2;

            foreach (clsUmatanOdds UmatanOdds in listUmatanOdds)
            {
                string strOdds = string.Format("{0:0.0}", UmatanOdds.Odds);
                if (strOdds.Substring(strOdds.Length - 1, 1) == "0")
                {
                    strOdds = ((int)UmatanOdds.Odds).ToString();
                }
                string strRevOdds = string.Format("{0:0.0}", UmatanOdds.RevOdds);
                if (strRevOdds.Substring(strRevOdds.Length - 1, 1) == "0")
                {
                    strRevOdds = ((int)UmatanOdds.RevOdds).ToString();
                }
                string strSyntheticOdds1 = string.Format("{0:0.0}", UmatanOdds.SyntheticOdds1);
                if (strSyntheticOdds1.Substring(strSyntheticOdds1.Length - 1, 1) == "0")
                {
                    strSyntheticOdds1 = Convert.ToInt32(UmatanOdds.SyntheticOdds1).ToString();
                }

                cCSV.setData(rowWrite, 1, UmatanOdds.Umaban1.ToString());
                cCSV.setData(rowWrite, 2, UmatanOdds.Umaban2.ToString());
                cCSV.setData(rowWrite, 3, strOdds);
                cCSV.setData(rowWrite, 4, UmatanOdds.Ninki1.ToString());
                cCSV.setData(rowWrite, 5, UmatanOdds.Ninki2.ToString());
                if (isExistHyou)
                {
                    cCSV.setData(rowWrite, 6, UmatanOdds.Hyou.ToString());
                }
                else
                {
                    cCSV.setData(rowWrite, 6, "");
                }
                cCSV.setData(rowWrite, 7, strRevOdds);
                cCSV.setData(rowWrite, 8, strSyntheticOdds1);
                if (_form1.checkBox1.Checked)
                {
                    string strSyntheticOdds2 = string.Format("{0:0.0}", UmatanOdds.SyntheticOdds2);
                    if (strSyntheticOdds2.Substring(strSyntheticOdds2.Length - 1, 1) == "0")
                    {
                        strSyntheticOdds2 = Convert.ToInt32(UmatanOdds.SyntheticOdds2).ToString();
                    }
                    cCSV.setData(rowWrite, 9, strSyntheticOdds2);
                }

                rowWrite++;
            }
        }