public int UpdateToday(EntrustDirection direction, int commandId, string secuCode, int dealAmount, double dealBalance, double dealFee) { int ret = -1; switch (direction) { case EntrustDirection.BuySpot: case EntrustDirection.BuyClose: { ret = UpdateBuyToday(commandId, secuCode, dealAmount, dealBalance, dealFee); } break; case EntrustDirection.SellSpot: case EntrustDirection.SellOpen: { ret = UpdateSellToday(commandId, secuCode, dealAmount, dealBalance, dealFee); } break; default: break; } return(ret); }
public static string GetFuturesDirection(EntrustDirection eDirection) { string direction = string.Empty; switch (eDirection) { case EntrustDirection.SellOpen: { //平仓 direction = "1"; } break; case EntrustDirection.BuyClose: { //开仓 direction = "2"; } break; default: break; } return(direction); }
public static string GetEntrustDirection(EntrustDirection entrustDirection) { string direction = string.Empty; switch (entrustDirection) { case EntrustDirection.BuySpot: { direction = "买入"; } break; case EntrustDirection.SellSpot: { direction = "卖出"; } break; case EntrustDirection.SellOpen: { direction = "卖出开仓"; } break; case EntrustDirection.BuyClose: { direction = "买入平仓"; } break; case EntrustDirection.Buy: { direction = "买入"; } break; case EntrustDirection.Sell: { direction = "卖出"; } break; case EntrustDirection.AdjustedToBuySell: { direction = "调整到[买卖]"; } break; default: break; } return(direction); }
public static EntrustDirection GetEntrustDirection(string tradeDirection) { int temp = 0; EntrustDirection direction = EntrustDirection.Buy; if (int.TryParse(tradeDirection, out temp)) { if (Enum.IsDefined(typeof(EntrustDirection), temp)) { direction = (EntrustDirection)Enum.ToObject(typeof(EntrustDirection), temp); } } return(direction); }
public static EntrustDirection GetSecurityEntrustDirection(UFXEntrustDirection entrustDirection) { EntrustDirection eDirection = EntrustDirection.None; switch (entrustDirection) { case UFXEntrustDirection.Buy: eDirection = EntrustDirection.BuySpot; break; case UFXEntrustDirection.Sell: eDirection = EntrustDirection.SellSpot; break; default: break; } return(eDirection); }
private void SetPreItem(TradeInstanceSecurity tiSecuItem, EntrustDirection direction, int entrustAmount) { switch (tiSecuItem.SecuType) { case SecurityType.Stock: { if (direction == EntrustDirection.BuySpot) { tiSecuItem.InstructionPreBuy = entrustAmount; tiSecuItem.PositionType = PositionType.SpotLong; } else if (direction == EntrustDirection.SellSpot) { tiSecuItem.InstructionPreSell = entrustAmount; tiSecuItem.PositionType = PositionType.SpotShort; } } break; case SecurityType.Futures: { if (direction == EntrustDirection.SellOpen) { tiSecuItem.InstructionPreBuy = entrustAmount; tiSecuItem.PositionType = PositionType.FuturesShort; } else if (direction == EntrustDirection.BuyClose) { tiSecuItem.InstructionPreSell = entrustAmount; tiSecuItem.PositionType = PositionType.FuturesLong; } } break; default: break; } }
public static EntrustDirection GetEntrustDirectionType(string directionCode, string exchangeCode) { EntrustDirection direction = EntrustDirection.None; switch (directionCode) { case "1": { if (exchangeCode.Equals(Exchange.SHSE) || exchangeCode.Equals(Exchange.SZSE)) { direction = EntrustDirection.BuySpot; } else if (exchangeCode.Equals(Exchange.CFFEX)) { direction = EntrustDirection.SellOpen; } } break; case "2": { if (exchangeCode.Equals(Exchange.SHSE) || exchangeCode.Equals(Exchange.SZSE)) { direction = EntrustDirection.SellSpot; } else if (exchangeCode.Equals(Exchange.CFFEX)) { direction = EntrustDirection.BuyClose; } } break; default: break; } return(direction); }
public static EntrustDirection GetFuturesEntrustDirection(UFXEntrustDirection entrustDirection, UFXFuturesDirection futuresDirection) { EntrustDirection eDirection = EntrustDirection.None; if (entrustDirection == UFXEntrustDirection.Sell && futuresDirection == UFXFuturesDirection.Open) { eDirection = EntrustDirection.SellOpen; } else if (entrustDirection == UFXEntrustDirection.Sell && futuresDirection == UFXFuturesDirection.Close) { eDirection = EntrustDirection.SellClose; } else if (entrustDirection == UFXEntrustDirection.Buy && futuresDirection == UFXFuturesDirection.Close) { eDirection = EntrustDirection.BuyClose; } else if (entrustDirection == UFXEntrustDirection.Buy && futuresDirection == UFXFuturesDirection.Open) { eDirection = EntrustDirection.BuyOpen; } return(eDirection); }
private List <EntrustFlowItem> GetFlowItems(CallerToken token, List <UFXQueryFuturesEntrustResponse> responseItems) { var entrustFlowItems = new List <EntrustFlowItem>(); if (responseItems == null || responseItems.Count == 0) { return(entrustFlowItems); } Portfolio portfolio = (Portfolio)token.InArgs; string portfolioCode = string.Empty; string portfolioName = string.Empty; string fundCode = string.Empty; string fundName = string.Empty; if (portfolio != null) { portfolioCode = portfolio.PortfolioNo; portfolioName = portfolio.PortfolioName; fundCode = portfolio.FundCode; fundName = portfolio.FundName; } Dictionary <int, Model.UI.TradeInstance> cmdInstMap = new Dictionary <int, Model.UI.TradeInstance>(); foreach (var responseItem in responseItems) { int commandId = 0; int submitId = 0; int requestId = 0; int temp1, temp2, temp3; if (EntrustRequestHelper.TryParseThirdReff(responseItem.ThirdReff, out temp1, out temp2, out temp3)) { commandId = temp1; submitId = temp2; requestId = temp3; } int instanceId = 0; string instanceCode = string.Empty; if (!cmdInstMap.ContainsKey(commandId)) { var tradeInstance = _tradeCommandBLL.GetTradeInstance(commandId); if (tradeInstance != null) { instanceId = tradeInstance.InstanceId; instanceCode = tradeInstance.InstanceCode; cmdInstMap.Add(commandId, tradeInstance); } } else { instanceId = cmdInstMap[commandId].InstanceId; instanceCode = cmdInstMap[commandId].InstanceCode; } var entrustDirection = UFXTypeConverter.GetEntrustDirection(responseItem.EntrustDirection); var futuresDirection = UFXTypeConverter.GetFuturesDirection(responseItem.FuturesDirection); EntrustDirection eDirection = EntrustDirectionConverter.GetFuturesEntrustDirection(entrustDirection, futuresDirection); EntrustFlowItem efItem = new EntrustFlowItem { CommandNo = token.CommandId, SubmitId = token.SubmitId, //Market = responseItem.MarketNo, SecuCode = responseItem.StockCode, //EntrustDirection = responseItem.EntrustDirection, EEntrustPriceType = EntrustPriceTypeConverter.GetPriceType(responseItem.PriceType), EntrustPrice = responseItem.EntrustPrice, EntrustAmount = responseItem.EntrustAmount, //EntrustStatus = responseItem.EntrustState, DealAmount = responseItem.DealAmount, DealMoney = responseItem.DealBalance, DealTimes = responseItem.DealTimes, DEntrustDate = DateUtil.GetDateTimeFromInt(responseItem.EntrustDate, responseItem.EntrustTime), EntrustBatchNo = responseItem.BatchNo, EntrustNo = responseItem.EntrustNo, DeclareSeat = responseItem.ReportSeat, DeclareNo = Convert.ToInt32(responseItem.ReportNo), RequestId = responseItem.ExtSystemId, FundCode = responseItem.AccountCode, FundName = fundName, PortfolioCode = portfolioCode, PortfolioName = portfolioName, EDirection = eDirection, //EEntrustDirection = UFXTypeConverter.GetEntrustDirection(responseItem.EntrustDirection), EMarketCode = UFXTypeConverter.GetMarketCode(responseItem.MarketNo), EEntrustState = UFXTypeConverter.GetEntrustState(responseItem.EntrustState), WithdrawCause = responseItem.WithdrawCause, InstanceId = instanceId, InstanceNo = instanceCode, }; if (responseItem.FirstDealTime > 0) { efItem.DFirstDealDate = DateUtil.GetDateTimeFromInt(responseItem.EntrustDate, responseItem.FirstDealTime); } efItem.ExchangeCode = UFXTypeConverter.GetMarketCode(efItem.EMarketCode); efItem.CommandNo = commandId; efItem.SubmitId = submitId; efItem.RequestId = requestId; entrustFlowItems.Add(efItem); } return(entrustFlowItems); }
private void ComboBox_PriceType_SelectedIndexChange(object sender, EventArgs e) { if (sender == null || !(sender is ComboBox)) { return; } ComboBox cb = sender as ComboBox; PriceType priceType = PriceTypeHelper.GetPriceType(cb); EntrustDirection direction = EntrustDirection.BuySpot; SecurityType secuType = SecurityType.All; EntrustPriceType shPriceType = EntrustPriceTypeHelper.GetPriceType(this.cbSHExchangePrice); EntrustPriceType szPriceType = EntrustPriceTypeHelper.GetPriceType(this.cbSZExchangePrice); switch (cb.Name) { case "cbSpotBuyPrice": { direction = EntrustDirection.BuySpot; secuType = SecurityType.Stock; } break; case "cbSpotSellPrice": { direction = EntrustDirection.SellSpot; secuType = SecurityType.Stock; } break; case "cbFuturesBuyPrice": { direction = EntrustDirection.BuyClose; secuType = SecurityType.Futures; } break; case "cbFuturesSellPrice": { direction = EntrustDirection.SellOpen; secuType = SecurityType.Futures; } break; default: break; } var stockItems = _secuDataSource.Where(p => p.EDirection == direction && p.SecuType == secuType).ToList(); if (stockItems.Count > 0) { stockItems.ForEach(p => { p.EPriceSetting = priceType; SetEntrustPriceType(p, shPriceType, szPriceType); }); } //update the quote QueryQuote(); this.secuGridView.Invalidate(); }
private List <DealFlowItem> GetDealItems(CallerToken token, List <UFXQueryFuturesDealResponse> responseItems) { var dealFlowItems = new List <DealFlowItem>(); if (responseItems == null || responseItems.Count == 0) { return(dealFlowItems); } Portfolio portfolio = (Portfolio)token.InArgs; string portfolioCode = string.Empty; string portfolioName = string.Empty; string fundCode = string.Empty; string fundName = string.Empty; if (portfolio != null) { portfolioCode = portfolio.PortfolioNo; portfolioName = portfolio.PortfolioName; fundCode = portfolio.FundCode; fundName = portfolio.FundName; } Dictionary <int, Model.UI.TradeInstance> cmdInstMap = new Dictionary <int, Model.UI.TradeInstance>(); foreach (var responseItem in responseItems) { int commandId = 0; int submitId = 0; int requestId = 0; int temp1, temp2, temp3; if (EntrustRequestHelper.TryParseThirdReff(responseItem.ThirdReff, out temp1, out temp2, out temp3)) { commandId = temp1; submitId = temp2; requestId = temp3; } int instanceId = 0; string instanceCode = string.Empty; if (!cmdInstMap.ContainsKey(commandId)) { var tradeInstance = _tradeCommandBLL.GetTradeInstance(commandId); if (tradeInstance != null) { instanceId = tradeInstance.InstanceId; instanceCode = tradeInstance.InstanceCode; cmdInstMap.Add(commandId, tradeInstance); } } else { instanceId = cmdInstMap[commandId].InstanceId; instanceCode = cmdInstMap[commandId].InstanceCode; } var marketCode = UFXTypeConverter.GetMarketCode(responseItem.MarketNo); var entrustDirection = UFXTypeConverter.GetEntrustDirection(responseItem.EntrustDirection); var futuresDirection = UFXTypeConverter.GetFuturesDirection(responseItem.FuturesDirection); EntrustDirection eDirection = EntrustDirectionConverter.GetFuturesEntrustDirection(entrustDirection, futuresDirection); DealFlowItem efItem = new DealFlowItem { CommandNo = commandId, SecuCode = responseItem.StockCode, FundNo = responseItem.AccountCode, FundName = fundName, PortfolioCode = responseItem.CombiNo, PortfolioName = portfolioName, EDirection = eDirection, DealPrice = responseItem.DealPrice, DealAmount = responseItem.DealAmount, DealMoney = responseItem.DealBalance, DealTime = string.Format("{0}", responseItem.DealTime), ShareHolderCode = responseItem.StockHolderId, EntrustNo = string.Format("{0}", responseItem.EntrustNo), DealNo = string.Format("{0}", responseItem.DealNo), ExchangeCode = UFXTypeConverter.GetMarketCode(marketCode), InstanceId = instanceId.ToString(), InstanceNo = instanceCode, }; dealFlowItems.Add(efItem); } return(dealFlowItems); }