Exemplo n.º 1
0
        /// <summary>
        /// 通达信接口-交易数据查询
        /// </summary>
        /// <param name="o">券商</param>
        /// <param name="tradeDataType">表示查询信息的种类,0资金  1股份   2当日委托  3当日成交     4可撤单   5股东代码  6融资余额   7融券余额  8可融证券</param>
        /// <returns></returns>
        public static DataTable QueryTradeData(券商 o, int tradeDataType)
        {
            DataTable     dt      = null;
            StringBuilder ErrInfo = new StringBuilder(256);
            StringBuilder result  = new StringBuilder(1024 * 1024);

            if (o.营业部代码 == 8888 && (DateTime.Now.Hour > 15 || DateTime.Now.Hour < 9))
            {
                o.营业部代码 = 24;
                o.IP    = "124.74.242.150";
                o.Port  = 443;
            }

            var ClientID = TdxApi.Logon(o.IP, o.Port, o.版本号, o.营业部代码, o.登录帐号, o.交易帐号, o.TradePsw, o.CommunicatePsw, ErrInfo);

            if (ErrInfo.Length > 0)
            {
                CommonUtils.ShowMsg(ErrInfo.ToString());
            }
            else
            {
                TdxApi.QueryData(ClientID, tradeDataType, result, ErrInfo);
                if (ErrInfo.Length == 0)
                {
                    dt = CommonUtils.ChangeDataStringToTable(result.ToString());
                }
                else
                {
                    CommonUtils.ShowMsg(ErrInfo.ToString());
                }
            }
            TdxApi.Logoff(ClientID);
            return(dt);
        }
Exemplo n.º 2
0
 private void button3_Click(object sender, EventArgs e)
 {
     foreach (int i in ALLlistCon)
     {
         TdxApi.TdxHq_Multi_Disconnect(i);
     }
     TdxApi.CloseTdx();
 }
Exemplo n.º 3
0
        /// <summary>
        /// 数据检查,查看是否需要根据历史成交进行补充。
        /// </summary>
        /// <param name="st"></param>
        /// <param name="et"></param>
        /// <param name="o"></param>
        /// <param name="dt"></param>
        /// <param name="ErrInfo"></param>
        /// <param name="result"></param>
        /// <param name="ClientID"></param>
        private static void CheckDataIntegrity(DateTime st, DateTime et, 券商 o, DataTable dt, StringBuilder ErrInfo, StringBuilder result, int ClientID)
        {
            #region 成交金额修正
            if (dt.Columns.Contains("成交金额"))
            {
                foreach (DataRow row in dt.Rows)
                {
                    row["成交金额"] = Math.Abs(CommonUtils.GetDecimal(row["成交金额"]));
                }
            }
            else if (dt.Columns.Contains("成交数量") && dt.Columns.Contains("成交价格"))
            {
                dt.Columns.Add("成交金额");
                foreach (DataRow row in dt.Rows)
                {
                    row["成交金额"] = Math.Abs(CommonUtils.GetDecimal(row["成交价格"]) * CommonUtils.GetDecimal(row["成交数量"]));
                }
            }
            #endregion

            #region 买卖标志修正
            if (dt.Columns.Contains("买卖标志") && dt.Rows.Count > 0 && Regex.IsMatch(dt.Rows[0]["买卖标志"] + "", "[012]"))
            {
                foreach (DataRow row in dt.Rows)
                {
                    row["买卖标志"] = GetTradeSymble(row);
                }
            }
            else if (!dt.Columns.Contains("买卖标志") && !HasBuySaleColumn(dt) && dt.Columns.Contains("备注"))
            {
                dt.Columns.Add("买卖标志");
                foreach (DataRow row in dt.Rows)
                {
                    row["买卖标志"] = Regex.Match(row["备注"] + "", "买|卖").Value;
                }
            }
            #endregion

            List <string> VIPColumns = new List <string>()
            {
                "证券代码", "证券名称", "成交价格", "成交数量", "成交金额"
            };
            var needAddColumn = VIPColumns.Where(_ => !dt.Columns.Contains(_)).ToList();

            if (needAddColumn.Count > 0)
            {
                TdxApi.QueryHistoryData(ClientID, 1, st.ToString("yyyyMMdd"), et.ToString("yyyyMMdd"), result, ErrInfo);
                if (ErrInfo.Length == 0)
                {
                    var dt1 = CommonUtils.ChangeDataStringToTable(result.ToString());
                    needAddColumn = needAddColumn.Where(_ => dt1.Columns.Contains(_)).ToList();
                    AddDataColumnFromHisTrade(dt, dt1, needAddColumn);
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 通达信接口-历史数据查询(默认查询交割单)
        /// </summary>
        /// <param name="st">开始时间</param>
        /// <param name="et">结束时间</param>
        /// <param name="o">券商</param>
        /// <param name="historyDataType">表示查询信息的种类,0历史委托  1历史成交   2交割单</param>
        /// <returns></returns>
        public static DataTable QueryHisData(DateTime st, DateTime et, 券商 o, int historyDataType = 2, bool originalData = false)
        {
            DataTable     dt      = null;
            StringBuilder ErrInfo = new StringBuilder(256);

            //StringBuilder result = new StringBuilder(1024 * 1024);
            queryHisResult.Clear();
            if (o.营业部代码 == 8888)
            {
                if (DateTime.Today.DayOfWeek == DayOfWeek.Sunday ||
                    DateTime.Today.DayOfWeek == DayOfWeek.Saturday ||
                    DateTime.Now.Hour <= 9 ||
                    DateTime.Now.Hour >= 15)
                {
                    o.营业部代码 = 24;
                    o.IP    = "124.74.242.150";
                    o.Port  = 443;
                }
            }

            var ClientID = TdxApi.Logon(o.IP, o.Port, o.版本号, o.营业部代码, o.登录帐号, o.交易帐号, o.TradePsw, o.CommunicatePsw, ErrInfo);

            if (ErrInfo.Length > 0)
            {
                CommonUtils.Log(string.Format("通达信接口登录失败, 组合号:{0}, 起始日期:{1},结束日期:{2} ,错误信息:{3}", o.称, st.ToString(), et.ToString(), ErrInfo.ToString()));
            }
            else
            {
                DateTime searchEndDate = et;
                if (StrangeGroups.Contains(o.称) && st == et)
                {
                    searchEndDate = et.AddDays(1);
                }
                TdxApi.QueryHistoryData(ClientID, historyDataType, st.ToString("yyyyMMdd"), searchEndDate.ToString("yyyyMMdd"), queryHisResult, ErrInfo);
                if (ErrInfo.Length == 0)
                {
                    dt = CommonUtils.ChangeDataStringToTable(queryHisResult.ToString());
                    if (!originalData && historyDataType == 2)
                    {
                        FilteTableData(o, st, et, dt);
                        CheckDataIntegrity(st, et, o, dt, ErrInfo, queryHisResult, ClientID);
                        RepairData(o, dt);
                    }
                }
                else
                {
                    CommonUtils.Log("通达信接口查询失败,错误信息" + ErrInfo.ToString());
                }
            }
            TdxApi.Logoff(ClientID);
            return(dt);
        }
Exemplo n.º 5
0
        private void button1_Click(object sender, EventArgs e)
        {
            StringBuilder Result  = new StringBuilder(1024 * 1024);
            StringBuilder ErrInfo = new StringBuilder(256);

            bool bool1 = TdxApi.OpenTdx(ErrInfo);

            if (bool1)
            {
                BackGroundForm form = new BackGroundForm();
                form.Show();
            }
        }
Exemplo n.º 6
0
        private void button1_Click(object sender, EventArgs e)
        {
            StringBuilder Result  = new StringBuilder(1024 * 1024);
            StringBuilder ErrInfo = new StringBuilder(256);
            bool          bool1   = TdxApi.OpenTdx(ErrInfo);

            int ConnectionID = TdxApi.TdxHq_Multi_Connect("222.73.49.4", 7709, Result, ErrInfo);

            bool1 = TdxApi.TdxHq_Multi_GetCompanyInfoCategory(ConnectionID, 0, "000001", Result, ErrInfo);
            Console.WriteLine(bool1 ? Result.ToString() : ErrInfo.ToString());
            int length = 10000;

            bool1 = TdxApi.TdxHq_Multi_GetCompanyInfoContent(ConnectionID, 0, "000001", "000001.txt", 0, 12665, Result, ErrInfo);
            Console.WriteLine(bool1 ? Result.ToString() : ErrInfo.ToString());
        }
Exemplo n.º 7
0
        private void button2_Click(object sender, EventArgs e)
        {
            StringBuilder Result  = new StringBuilder(1024 * 1024);
            StringBuilder ErrInfo = new StringBuilder(256);

            #region 连接tdx服务器
            bool bool1         = TdxApi.OpenTdx(ErrInfo);
            int  ConnectionID  = TdxApi.TdxHq_Multi_Connect("222.73.49.4", 7709, Result, ErrInfo);
            int  ConnectionID2 = TdxApi.TdxHq_Multi_Connect("222.73.49.4", 7709, Result, ErrInfo);
            ALLlistCon.Add(ConnectionID);
            OverlistCon.Add(ConnectionID);
            #endregion

            int conSZ = OverlistCon[0];
            OverlistCon.RemoveAt(0);
            short Count = 0;
            //SZ 后台查询Count
            bool1 = TdxApi.TdxHq_Multi_GetSecurityCount(conSZ, 0, ref Count, ErrInfo);
            Dictionary <string, string> DicCon = new Dictionary <string, string>();
            DicCon.Add("Con", conSZ.ToString());
            DicCon.Add("Count", Count.ToString());

            //SZ 后台执行
            this.progressBarSZ.Maximum = Count;
            bk_GetStockInfoSZ.RunWorkerAsync(DicCon);



            ALLlistCon.Add(ConnectionID2);
            OverlistCon.Add(ConnectionID2);

            int conSH = OverlistCon[0];
            OverlistCon.RemoveAt(0);
            //SH 后台查询Count
            bool1 = TdxApi.TdxHq_Multi_GetSecurityCount(conSH, 1, ref Count, ErrInfo);
            Dictionary <string, string> DicConSH = new Dictionary <string, string>();
            DicConSH.Add("Con", conSH.ToString());
            DicConSH.Add("Count", Count.ToString());

            //SZ 后台执行
            this.progressBarSH.Maximum = Count;
            bk_GetStockInfoSH.RunWorkerAsync(DicConSH);

            DownStockInfo.Enabled = false;
        }
Exemplo n.º 8
0
        public MainWindow()
        {
            var logon = new Logon();

            logon.ShowDialog();

            if (!Logon.IsLogon)
            {
                this.Close();
                return;
            }

            InitializeComponent();
            this.Loaded += (s, e) =>
            {
                //var client = new ServiceReference.DataWebServiceSoapClient();
                //var isLoginSuccess = client.CompareToolLogin("W7txy", "W5waD6Kk");
                //if (isLoginSuccess)
                //{
                //    CommonUtils.UserName = "******";
                //}
                //else
                //{
                //    MessageBox.Show("连接失败,未能自动登录!");
                //}

                tiEncrypt.Visibility     = System.Windows.Visibility.Visible;
                tiGroupManage.Visibility = System.Windows.Visibility.Visible;
                tiInterface.Visibility   = System.Windows.Visibility.Visible;

                this.Title += CommonUtils.Version;

                importTool.OnDBChangeComplete += new Action(RefreshComparePage);

                groupTool.OnGroupChanged += new Action(() => { exportTool.Init(); });
            };
            TdxApi.OpenTdx();
        }
Exemplo n.º 9
0
        private void GetStockMinInfoSZ_DoWork(object sender, DoWorkEventArgs e)
        {
            IsDownStockCode = true;
            Dictionary <string, string> dic;
            int   con         = 0;
            short shortResult = 0;

            if (e.Argument != null)
            {
                dic         = (Dictionary <string, string>)e.Argument;
                con         = Convert.ToInt32(dic["Con"]);
                shortResult = (short)Convert.ToInt32(dic["Count"]);
            }

            bool bool1;

            short Count;
            //bool bool1 =TdxApi.TdxHq_Multi_GetSecurityCount(con, 0, ref shortResult, ErrInfo);
            //Console.WriteLine(bool1 ? shortResult.ToString() : ErrInfo.ToString());
            int num = shortResult / 1000;
            int sum = 0;

            for (int x = 0; x <= num; x++)
            {
                int start = x * 1000;
                Count = shortResult;
                bool1 = TdxApi.TdxHq_Multi_GetSecurityList(con, 0, (short)start, ref Count, Result, ErrInfo);
                string[] strRow = Result.ToString().Split("\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);   //分解行的字符串
                //string[] strCol=strRow[0].Split("\t".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                Dictionary <string, string> Message = new Dictionary <string, string>();
                Message.Add("Result", "");
                Message.Add("ErrInfo", "");
                for (int i = 1; i < strRow.Length; i++)
                {
                    //分解行的字符串
                    //StockInfo属性 每列数据
                    string[] strCol = strRow[i].Split("\t".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                    if (strCol[6] == "0" || strCol[2].Contains("指数"))
                    {
                        continue;
                    }
                    StockInfo stock = new StockInfo();
                    stock.stockcode  = strCol[0];
                    stock.Type       = "0";
                    stock.OneHand    = strCol[1];
                    stock.Name       = strCol[2];
                    stock.PointIndex = strCol[4];
                    stock.YestClose  = decimal.Parse(strCol[5]);
                    stock.Unknow1    = strCol[3];
                    stock.Unknow2    = strCol[6];
                    stock.Unknow3    = strCol[7];
                    int ID = _Stockservice.Add(stock);
                    if (ID > 0)
                    {
                        sum += 1;
                        string message = "Current sum is: " + start.ToString();
                        //ReportProgress 方法把信息传递给 ProcessChanged 事件处理函数。
                        //第一个参数类型为 int,表示执行进度。
                        //如果有更多的信息需要传递,可以使用 ReportProgress 的第二个参数。
                        //这里我们给第二个参数传进去一条消息。
                        Message["Result"]  = Result.ToString();
                        Message["ErrInfo"] = ErrInfo.ToString();
                        bk_GetStockInfoSZ.ReportProgress(sum, Message);
                    }
                    else
                    {
                        //记录日志
                        Message["Result"]  = Result.ToString();
                        Message["ErrInfo"] = ErrInfo.ToString();
                        bk_GetStockInfoSZ.ReportProgress(sum, Message);
                        continue;
                    }
                }
            }
            SzStockCompleted = true;
        }
Exemplo n.º 10
0
        private void bk_FinanceInfo_DoWork(object sender, DoWorkEventArgs e)
        {
            IsFinanceWork = true;
            int ConnectionID = TdxApi.TdxHq_Multi_Connect("222.73.49.4", 7709, Result, ErrInfo);

            ALLlistCon.Add(ConnectionID);
            OverlistCon.Add(ConnectionID);

            List <StockInfo>            stockList = _Stockservice.GetStockCodeList("");
            Dictionary <string, string> Message   = new Dictionary <string, string>();

            Message.Add("Result", "");
            Message.Add("ErrInfo", "");
            bool bool1;

            #region foreach
            foreach (StockInfo s in stockList)
            {
                try
                {
                    bool1 = TdxApi.TdxHq_Multi_GetFinanceInfo(ConnectionID, Convert.ToByte(s.Type), s.stockcode, Result, ErrInfo);
                    ///出错
                    if (!bool1 || Result.ToString() == "")
                    {
                        //记录日志
                        continue;
                    }
                    string[] strRow  = Result.ToString().Split("\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);  //分解行的字符串
                    string[] strColX = strRow[1].Split("\t".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);

                    for (int i = 1; i < strRow.Length; i++)
                    {
                        string[] strCol = strRow[i].Split("\t".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                        if (!(strCol[5].Replace("--", "-") != "0" && strCol[6].Replace("--", "-") != "0"))
                        {
                            continue;
                        }
                        int IsHave = _StockFinanceService.GetRecordCount("Code='" + s.stockcode + "' and CWUpdateTime=CONVERT(datetime,'" + strCol[5].Replace("--", "-") + "',102)");
                        if (IsHave > 0)
                        {
                            continue;
                        }
                        StockFinanceInfo stock = new StockFinanceInfo();
                        stock.Type         = strCol[0];
                        stock.Code         = strCol[1];
                        stock.GBLT         = strCol[2];
                        stock.SSSF         = strCol[3];
                        stock.SSHY         = strCol[4];
                        stock.CWUpdateTime = DateTime.ParseExact(strCol[5], "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                        stock.ListingDate  = DateTime.ParseExact(strCol[6], "yyyyMMdd", System.Globalization.CultureInfo.CurrentCulture);
                        stock.AllGB        = strCol[7];
                        stock.GJG          = strCol[8];
                        stock.FQRFRG       = strCol[9];
                        stock.FRG          = strCol[10];
                        stock.BG           = strCol[11];
                        stock.HG           = strCol[12];
                        stock.ZhGG         = strCol[13];
                        stock.AllZC        = strCol[14];
                        stock.LDZC         = strCol[15];
                        stock.GDZC         = strCol[16];
                        stock.WXZC         = strCol[17];
                        stock.GDRS         = strCol[18];
                        stock.LDFZ         = strCol[19];
                        stock.CQFZ         = strCol[20];
                        stock.ZBGJJ        = strCol[21];
                        stock.JZC          = strCol[22];
                        stock.ZYSR         = strCol[23];
                        stock.ZYLR         = strCol[24];
                        stock.YSZK         = strCol[25];
                        stock.YYLR         = strCol[26];
                        stock.TZSY         = strCol[27];
                        stock.JYXJL        = strCol[28];
                        stock.ZXJL         = strCol[29];
                        stock.CH           = strCol[20];
                        stock.LRZE         = strCol[31];
                        stock.SHLR         = strCol[32];
                        stock.JLR          = strCol[33];
                        stock.WFLR         = strCol[34];
                        stock.Unknow1      = strCol[35];
                        stock.unknow2      = strCol[36];
                        int ID = _StockFinanceService.Add(stock);
                        if (ID > 0)
                        {
                            string message = "Current tiem is: " + s.stockcode + " type:" + s.Type;
                            //ReportProgress 方法把信息传递给 ProcessChanged 事件处理函数。
                            //第一个参数类型为 int,表示执行进度。
                            //如果有更多的信息需要传递,可以使用 ReportProgress 的第二个参数。
                            //这里我们给第二个参数传进去一条消息。
                            Message["Result"]  = Result.ToString();
                            Message["ErrInfo"] = ErrInfo.ToString();
                            Message["Message"] = message.ToString();
                            bk_FinanceInfo.ReportProgress(i, Message);
                        }
                        else
                        {
                            //记录日志
                            Message["Result"]  = Result.ToString();
                            Message["ErrInfo"] = ErrInfo.ToString();
                            Message["Message"] = "";
                            bk_FinanceInfo.ReportProgress(i, Message);
                            continue;
                        }
                    }
                }
                catch
                {
                    //记录日志

                    continue;
                }
                finally
                {
                }
            }

            #endregion

            ALLlistCon.Remove(ConnectionID);
            OverlistCon.Remove(ConnectionID);
            TdxApi.TdxHq_Multi_Disconnect(ConnectionID);
            IsFinanceWork = false;
        }
Exemplo n.º 11
0
        private void bk_GetStock5MinInfoSH_DoWork(object sender, DoWorkEventArgs e)
        {
            int ConnectionID = TdxApi.TdxHq_Multi_Connect("222.73.49.4", 7709, Result, ErrInfo);

            ALLlistCon.Add(ConnectionID);
            OverlistCon.Add(ConnectionID);


            //设置 这个bk 在工作
            IsSh5MinWork = true;

            List <StockInfo>            stockList = _Stockservice.GetStockCodeList("TYPE=1");
            Dictionary <string, string> Message   = new Dictionary <string, string>();

            Message.Add("Result", "");
            Message.Add("ErrInfo", "");
            bool bool1;

            #region foreach
            foreach (StockInfo s in stockList)
            {
                try
                {
                    short Count = 10;
                    bool1 = TdxApi.TdxHq_Multi_GetSecurityBars(ConnectionID, 0, 1, s.stockcode, 0, ref Count, Result, ErrInfo);
                    if (Count != 0)
                    {
                        string[] strRow = Result.ToString().Split("\n".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);   //分解行的字符串
                        //string[] strColX = strRow[1].Split("\t".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                        //时间	开盘价	收盘价	最高价	最低价	成交量	成交额	涨家数	跌家数
                        for (int i = 1; i < strRow.Length; i++)
                        {
                            string[]      strCol = strRow[i].Split("\t".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
                            Stock5MinInfo stock  = new Stock5MinInfo();
                            if (!PublicTool.CanDateTime(strCol[0].Replace("--", "-")))
                            {
                                continue;
                            }
                            int IsHave = _Stock5MinService.GetRecordCount("StockCode='" + s.stockcode + "' and Time=CONVERT(datetime,'" + strCol[0].Replace("--", "-") + "',102)");
                            if (IsHave > 0)
                            {
                                continue;
                            }
                            stock.StockCode = s.stockcode;
                            stock.Time      = Convert.ToDateTime(strCol[0].Replace("--", "-"));
                            stock.open      = decimal.Parse(PublicTool.IsNumElseToZero(strCol[1]));
                            stock.Close     = decimal.Parse(PublicTool.IsNumElseToZero(strCol[2]));
                            stock.High      = decimal.Parse(PublicTool.IsNumElseToZero(strCol[3]));
                            stock.Low       = decimal.Parse(PublicTool.IsNumElseToZero(strCol[4]));
                            stock.Volume    = strCol[5];
                            stock.Turnover  = strCol[6];
                            //stock.UpNum = strCol[7];
                            //stock.DownNum = strCol[8];
                            int ID = _Stock5MinService.Add(stock);
                            if (ID > 0)
                            {
                                string message = "Current tiem is: " + Convert.ToDateTime(strCol[0].Replace("--", "-"));
                                //ReportProgress 方法把信息传递给 ProcessChanged 事件处理函数。
                                //第一个参数类型为 int,表示执行进度。
                                //如果有更多的信息需要传递,可以使用 ReportProgress 的第二个参数。
                                //这里我们给第二个参数传进去一条消息。
                                Message["Result"]  = Result.ToString();
                                Message["ErrInfo"] = ErrInfo.ToString();
                                Message["Message"] = message.ToString();
                                bk_GetStock5MinInfoSH.ReportProgress(i, Message);
                            }
                            else
                            {
                                //记录日志
                                Message["Result"]  = Result.ToString();
                                Message["ErrInfo"] = ErrInfo.ToString();
                                Message["Message"] = "";
                                bk_GetStock5MinInfoSH.ReportProgress(i, Message);
                                continue;
                            }
                        }
                    }
                    else
                    {
                        Count = 10;
                        bool1 = TdxApi.TdxHq_Multi_GetSecurityBars(ConnectionID, 0, 1, s.stockcode, 0, ref Count, Result, ErrInfo);
                    }
                }
                catch
                {
                    //记录日志
                    continue;
                }
                finally
                {
                }
            }
            #endregion foreach
            ALLlistCon.Remove(ConnectionID);
            OverlistCon.Remove(ConnectionID);
            TdxApi.TdxHq_Multi_Disconnect(ConnectionID);
            IsSh5MinWork = false;
        }
Exemplo n.º 12
0
        private void Get5MinTimer_Tick(object sender, EventArgs e)
        {
            DateTime startTime = Convert.ToDateTime("9:00");
            DateTime endTime   = Convert.ToDateTime("15:00");

            if (!IsDownStockCode)
            {
                StringBuilder Result  = new StringBuilder(1024 * 1024);
                StringBuilder ErrInfo = new StringBuilder(256);

                #region 连接tdx服务器
                bool bool1         = TdxApi.OpenTdx(ErrInfo);
                int  ConnectionID  = TdxApi.TdxHq_Multi_Connect("222.73.49.4", 7709, Result, ErrInfo);
                int  ConnectionID2 = TdxApi.TdxHq_Multi_Connect("222.73.49.4", 7709, Result, ErrInfo);
                ALLlistCon.Add(ConnectionID);
                OverlistCon.Add(ConnectionID);
                #endregion

                int conSZ = OverlistCon[0];
                OverlistCon.RemoveAt(0);
                short Count = 0;
                //SZ 后台查询Count
                bool1 = TdxApi.TdxHq_Multi_GetSecurityCount(conSZ, 0, ref Count, ErrInfo);
                Dictionary <string, string> DicCon = new Dictionary <string, string>();
                DicCon.Add("Con", conSZ.ToString());
                DicCon.Add("Count", Count.ToString());

                //SZ 后台执行
                this.progressBarSZ.Maximum = Count;
                bk_GetStockInfoSZ.RunWorkerAsync(DicCon);



                ALLlistCon.Add(ConnectionID2);
                OverlistCon.Add(ConnectionID2);

                int conSH = OverlistCon[0];
                OverlistCon.RemoveAt(0);
                //SH 后台查询Count
                bool1 = TdxApi.TdxHq_Multi_GetSecurityCount(conSH, 1, ref Count, ErrInfo);
                Dictionary <string, string> DicConSH = new Dictionary <string, string>();
                DicConSH.Add("Con", conSH.ToString());
                DicConSH.Add("Count", Count.ToString());

                //SZ 后台执行
                this.progressBarSH.Maximum = Count;
                bk_GetStockInfoSH.RunWorkerAsync(DicConSH);
            }
            else if (ShStockCompleted && SzStockCompleted)
            {
                if (DateTime.Compare(DateTime.Now, startTime) > 0 && DateTime.Compare(DateTime.Now, endTime) < 0)
                {
                    if (DateTime.Now.ToString("mm").Substring(1, 1) == "5" || DateTime.Now.ToString("mm").Substring(1, 1) == "0")
                    {
                        if (!IsSz5MinWork)
                        {
                            bk_GetStock5MinInfoSZ.RunWorkerAsync();
                        }
                        if (!IsSh5MinWork)
                        {
                            bk_GetStock5MinInfoSH.RunWorkerAsync();
                        }
                    }
                }
                if (DateTime.Compare(DateTime.Now, endTime) > 0 && !FinanceWorkCompleted && !IsFinanceWork)
                {
                    bk_FinanceInfo.RunWorkerAsync();
                }
            }
        }
Exemplo n.º 13
0
 protected override void OnClosing(System.ComponentModel.CancelEventArgs e)
 {
     TdxApi.CloseTdx();
     base.OnClosing(e);
 }