/// <summary> /// 3.买一卖一百分比 /// </summary> /// <param name="request"></param> /// <returns></returns> private bool CheckType3(StockOrderRequest request, HighLowRange highLowRange) { decimal highRange = highLowRange.HighRange; decimal lowRange = highLowRange.LowRange; IRealtimeMarketService service = RealTimeMarketUtil.GetRealMarketService(); //RealtimeMarketServiceFactory.GetService(); HqExData data = service.GetStockHqData(request.Code); HqExData exData = data; HqData hqData = exData.HqData; float b1 = hqData.Buyprice1; decimal buy1 = (decimal)b1; float s1 = hqData.Sellprice1; decimal sell1 = (decimal)s1; decimal high = sell1 * highRange; decimal low = buy1 * lowRange; decimal orderPrice = (decimal)request.OrderPrice; if (orderPrice >= low && orderPrice <= high) { return(true); } return(false); }
/// <summary> /// 5.港股买卖价位 /// </summary> /// <param name="request"></param> /// <returns></returns> private bool CheckType5(StockOrderRequest request, HighLowRange highLowRange) { HKRange hkRange = highLowRange.HongKongRange; decimal buyHighRange = hkRange.BuyHighRange; decimal buyLowRange = hkRange.BuyLowRange; decimal sellHighRange = hkRange.SellHighRange; decimal sellLowRange = hkRange.SellLowRange; IRealtimeMarketService service = RealTimeMarketUtil.GetRealMarketService(); //RealtimeMarketServiceFactory.GetService(); HqExData data = service.GetStockHqData(request.Code); HqExData exData = data; HqData hqData = exData.HqData; float b1 = hqData.Buyprice1; decimal buy1 = (decimal)b1; float s1 = hqData.Sellprice1; decimal sell1 = (decimal)s1; decimal buyH = sell1; decimal buyL = MCService.HLRangeProcessor.GetHKRangeValue(request.Code, (decimal)request.OrderPrice, buy1, -buyLowRange); decimal sellH = MCService.HLRangeProcessor.GetHKRangeValue(request.Code, (decimal)request.OrderPrice, sell1, sellHighRange); decimal sellL = buy1; decimal high = 0; decimal low = 0; if (request.BuySell == Types.TransactionDirection.Buying) { low = buyL; high = buyH; } else { low = sellL; high = sellH; } decimal orderPrice = (decimal)request.OrderPrice; if (orderPrice >= low && orderPrice <= high) { return(true); } throw new NotImplementedException(); }
/// <summary> /// 现货行情转换成自定义行情实体 /// </summary> /// <param name="data">自定义实体</param> /// <returns></returns> public MarketDataLevel HqExDataConvertMarketDataLevel(HqExData data) { MarketDataLevel level = new MarketDataLevel(); level.Code = data.CodeKey; level.Name = data.Name; HqData hqData = data.HqData; #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(data.LastVolume.ToString()); level.LowerPrice = decimal.Parse(data.LowB.ToString()); level.UpPrice = decimal.Parse(data.UpB.ToString()); level.YesterPrice = decimal.Parse(data.YClose.ToString()); level.MarketRefreshTime = data.HqData.Time; return(level); }
private void RefreshXHView(HqData hqData) { propertyGrid1.SelectedObject = hqData; }