private void button1_Click(object sender, EventArgs e)
        {
            propertyGrid1.SelectedObject = null;
            string code = textBox1.Text;

            if (code.Length == 0)
            {
                MessageBox.Show("股票代码不能为空");
                return;
            }

            if (code.ToUpper().IndexOf("IF") >= 0)
            {
                var vifFutdata = rms.GetFutData(code);
                if (vifFutdata == null)
                {
                    return;
                }

                var hutExData = vifFutdata;
                if (hutExData == null)
                {
                    return;
                }

                propertyGrid1.SelectedObject        = hutExData;
                rms.StockRealtimeMarketChangeEvent -= RefreshXHData;
                rms.FutRealtimeMarketChangeEvent   += RefreshQHData;
            }
            else
            {
                var hqdata = rms.GetStockHqData(code);
                if (hqdata == null)
                {
                    return;
                }

                var hqExData = hqdata;
                if (hqExData == null)
                {
                    return;
                }
                var hqData = hqExData.HqData;
                if (hqData == null)
                {
                    return;
                }

                propertyGrid1.SelectedObject        = hqData;
                rms.FutRealtimeMarketChangeEvent   -= RefreshQHData;
                rms.StockRealtimeMarketChangeEvent += RefreshXHData;
            }
        }
Пример #2
0
        private void button1_Click(object sender, EventArgs e)
        {
            propertyGrid1.SelectedObject = null;
            string code = textBox1.Text;

            if (code.Length == 0)
            {
                MessageBox.Show("股票代码不能为空");
                return;
            }
            IRealtimeMarketService service = RealtimeMarketServiceFactory.GetService();

            if (code.ToUpper().IndexOf("IF") >= 0)
            {
                var vifFutdata = service.GetFutData(code);
                if (vifFutdata == null)
                {
                    return;
                }

                var hutExData = vifFutdata;
                if (hutExData == null)
                {
                    return;
                }


                propertyGrid1.SelectedObject = hutExData;
            }
            else
            {
                var hqdata = service.GetStockHqData(code);
                if (hqdata == null)
                {
                    return;
                }

                var hqExData = hqdata;
                if (hqExData == null)
                {
                    return;
                }

                var hqData = hqExData.HqData;
                if (hqData == null)
                {
                    return;
                }

                propertyGrid1.SelectedObject = hqData;
            }
        }
Пример #3
0
        /// <summary>
        /// 检测是否停牌
        /// 当获取不到行情表示停牌,当买一价、量,卖一价、量都为0时也表示停牌
        /// </summary>
        /// <param name="errMsg"></param>
        /// <param name="breedType">品种类型(这里是因为这里两种获取的行情实体方法有区别)</param>
        /// <returns></returns>
        private bool CheckStopTrading(ref string errMsg, Types.BreedClassTypeEnum breedType)
        {
            errMsg = "当前交易商品" + code + "可能停牌,委托无效。";
            string errCode = "GT-1206";

            errMsg = errCode + ":" + errMsg;

            IRealtimeMarketService service = RealTimeMarketUtil.GetRealMarketService(); //RealtimeMarketServiceFactory.GetService();

            switch (breedType)
            {
            case Types.BreedClassTypeEnum.Stock:
                break;

            case Types.BreedClassTypeEnum.CommodityFuture:
                var hqdata = service.GetMercantileFutData(code);
                if (hqdata == null)
                {
                    return(false);
                }
                if (hqdata.Buyprice1 == 0 && hqdata.Sellprice1 == 0 && hqdata.Buyvol1 == 0 && hqdata.Sellvol1 == 0)
                {
                    return(false);
                }
                break;

            case Types.BreedClassTypeEnum.StockIndexFuture:
                var futdata = service.GetFutData(code);
                if (futdata == null)
                {
                    return(false);
                }

                if (futdata.Buyprice1 == 0 && futdata.Sellprice1 == 0 && futdata.Buyvol1 == 0 && futdata.Sellvol1 == 0)
                {
                    return(false);
                }
                break;

            case Types.BreedClassTypeEnum.HKStock:
                break;

            default:
                break;
            }



            return(true);
        }
Пример #4
0
        /// <summary>
        ///根据期货合约代码获取当前代码行情
        /// </summary>
        /// <param name="contractCode">合约代码</param>
        /// <returns></returns>
        public static FutData GetRealTimeFutureDataByContractCode(string contractCode)
        {
            //撮合中心代码不能为空
            if (string.IsNullOrEmpty(contractCode))
            {
                return(null);
            }
            IRealtimeMarketService realTimeService = GetRealtimeMark();

            //撮合中心实体不能为空
            if (realTimeService == null)
            {
                return(null);
            }
            FutData vtFutData = realTimeService.GetFutData(contractCode);

            return(vtFutData);
        }