Esempio n. 1
0
        /// <summary>
        /// 获取港股的最近成交价
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public decimal GetHKLastTrade(string code)
        {
            decimal result = -1;

            try
            {
                HKStock data = this.service.GetHKStockData(code);
                if (data == null)
                {
                    MessageBox.Show("GetHKLastTrade failure!");
                    return(result);
                }

                if (data != null)
                {
                    HKStock exData = data;

                    result = (decimal)exData.Lasttrade;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                LogHelper.WriteError(ex.Message, ex);
            }

            return(result);
        }
Esempio n. 2
0
        /// <summary>
        /// 港股行情转换成自定义行情实体
        /// </summary>
        /// <param name="hqData">自定义实体</param>
        /// <returns></returns>
        public MarketDataLevel HKStockDataConvertMarketDataLevel(HKStock hqData)
        {
            MarketDataLevel level = new MarketDataLevel();

            level.Code = hqData.CodeKey;
            level.Name = hqData.StrName;

            #region 买价
            level.BuyFirstPrice  = (decimal)hqData.Buyprice1;
            level.BuySecondPrice = (decimal)hqData.Buyprice2;
            level.BuyThirdPrice  = (decimal)hqData.Buyprice3;
            level.BuyFourthPrice = (decimal)hqData.Buyprice4;
            level.BuyFivePrice   = (decimal)hqData.Buyprice5;
            #endregion

            #region 买量
            level.BuyFirstVolume  = (decimal)hqData.Buyvol1;
            level.BuySecondVolume = (decimal)hqData.Buyvol2;
            level.BuyThirdVolume  = (decimal)hqData.Buyvol3;
            level.BuyFourthVolume = (decimal)hqData.Buyvol4;
            level.BuyFiveVolume   = (decimal)hqData.Buyvol5;
            #endregion

            #region 卖价
            level.SellFirstPrice  = (decimal)hqData.Sellprice1;
            level.SellSecondPrice = (decimal)hqData.Sellprice2;
            level.SellThirdPrice  = (decimal)hqData.Sellprice3;
            level.SellFourthPrice = (decimal)hqData.Sellprice4;
            level.SellFivePrice   = (decimal)hqData.Sellprice5;
            #endregion

            #region 卖量
            level.SellFirstVolume  = (decimal)hqData.Sellvol1;
            level.SellSecondVolume = (decimal)hqData.Sellvol2;
            level.SellThirdVolume  = (decimal)hqData.Sellvol3;
            level.SellFourthVolume = (decimal)hqData.Sellvol4;
            level.SellFiveVolume   = (decimal)hqData.Sellvol5;
            #endregion

            level.LastPrice         = decimal.Parse(hqData.Lasttrade.ToString());
            level.LastVolume        = decimal.Parse(hqData.PTrans.ToString());
            level.LowerPrice        = decimal.Parse(hqData.Low.ToString());
            level.UpPrice           = decimal.Parse(hqData.High.ToString());
            level.YesterPrice       = decimal.Parse(hqData.ClosePrice.ToString());
            level.MarketRefreshTime = DateTime.Parse(hqData.Time);
            return(level);
        }
Esempio n. 3
0
        /// <summary>
        ///根据港股代码获取当前代码行情
        /// </summary>
        /// <param name="commdityCode">代码</param>
        /// <returns></returns>
        public static HKStock GetRealTimeHKStockDataByCommdityCode(string commdityCode)
        {
            //撮合中心代码不能为空
            if (string.IsNullOrEmpty(commdityCode))
            {
                return(null);
            }
            IRealtimeMarketService realTimeService = GetRealtimeMark();

            //撮合中心实体不能为空
            if (realTimeService == null)
            {
                return(null);
            }
            HKStock vtHqExData = realTimeService.GetHKStockData(commdityCode);

            return(vtHqExData);
        }
Esempio n. 4
0
        /// <summary>
        /// Title:根据代码和代码所属类型获取最后成交价(最新成交价)
        /// Create by:李健华
        /// Create Date:2009-11-08
        /// </summary>
        /// <param name="code"></param>
        /// <returns></returns>
        public MarketDataLevel GetLastPriceByCode(string code, int breedClassType, out string errMsg)
        {
            MarketDataLevel result = null;

            errMsg = "";
            try
            {
                switch ((Types.BreedClassTypeEnum)breedClassType)
                {
                case Types.BreedClassTypeEnum.Stock:
                    HqExData data = GetRealMarketService().GetStockHqData(code);
                    if (data == null || data.HqData == null)
                    {
                        errMsg = "GT-0023:无法获取当前现货代码相关行情";
                        return(result);
                    }
                    // HqExData exData = data;
                    //float lastPrice = exData.HqData.Lasttrade;
                    //result = (decimal)lastPrice;
                    result = HqExDataConvertMarketDataLevel(data);
                    break;

                case Types.BreedClassTypeEnum.CommodityFuture:
                    //add by 董鹏 2010-01-26
                    MerFutData cfdata = GetRealMarketService().GetMercantileFutData(code);
                    if (cfdata == null)
                    {
                        errMsg = "GT-0023:无法获取当前商品期货代码相关行情";
                        return(result);
                    }
                    //MerFutData cforgData = cfdata;
                    //double cflastPrice = cforgData.Lasttrade;
                    //result = (decimal)cflastPrice;
                    result = MerFutDataConvertMarketDataLevel(cfdata);
                    break;

                case Types.BreedClassTypeEnum.StockIndexFuture:
                    FutData qhdata = GetRealMarketService().GetFutData(code);
                    if (qhdata == null)
                    {
                        errMsg = "GT-0023:无法获取当前股指期货代码相关行情";
                        return(result);
                    }
                    //FutData orgData = qhdata;
                    //double qhlastPrice = orgData.Lasttrade;
                    //result = (decimal)qhlastPrice;
                    result = FutDataDataConvertMarketDataLevel(qhdata);
                    break;

                case Types.BreedClassTypeEnum.HKStock:
                    HKStock hkdata = GetRealMarketService().GetHKStockData(code);
                    if (hkdata == null)
                    {
                        errMsg = "GT-0023:无法获取当前港股代码相关行情";
                        return(result);
                    }
                    //double hkLastPrice = hkdata.Lasttrade;
                    //result = (decimal)hkLastPrice;
                    result = HKStockDataConvertMarketDataLevel(hkdata);
                    break;

                default:
                    errMsg = "GT-0023:无此代码所属类型的行情";
                    break;
                }
            }
            catch (Exception ex)
            {
                errMsg = ex.Message;
                LogHelper.WriteError("GT-0023:根据代码和代码所属类型获取最后成交价(最新成交价)异常", ex);
            }

            return(result);
        }