• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# Native.IBSocket类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中StockSharp.InteractiveBrokers.Native.IBSocket的典型用法代码示例。如果您正苦于以下问题:C# IBSocket类的具体用法?C# IBSocket怎么用?C# IBSocket使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



IBSocket类属于StockSharp.InteractiveBrokers.Native命名空间,在下文中一共展示了IBSocket类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: ReadScannerParameters

		private void ReadScannerParameters(IBSocket socket)
		{
			var xml = socket.ReadStr();
			SendOutMessage(new ScannerParametersMessage { Parameters = xml });
		}
开发者ID:EricGarrison,项目名称:StockSharp,代码行数:5,代码来源:InteractiveBrokersMessageAdapter_MarketData.cs


示例2: ReadPortfolio

		private void ReadPortfolio(IBSocket socket, ServerVersions version)
		{
			var name = socket.ReadStr();
			var value = socket.ReadStr();
			var currency = socket.ReadStr();
			var port = version >= ServerVersions.V2 ? socket.ReadStr() : null;

			if (port == null || currency == "BASE")
				return;

			var pfMsg = this.CreatePortfolioChangeMessage(port);

			switch (name)
			{
				case "CashBalance":
					pfMsg.Add(PositionChangeTypes.CurrentValue, value.To<decimal>());
					break;
				case "Currency":
					pfMsg.Add(PositionChangeTypes.Currency, currency.To<CurrencyTypes>());
					break;
				case "RealizedPnL":
					pfMsg.Add(PositionChangeTypes.RealizedPnL, value.To<decimal>());
					break;
				case "UnrealizedPnL":
					pfMsg.Add(PositionChangeTypes.UnrealizedPnL, value.To<decimal>());
					break;
				case "NetLiquidation":
					pfMsg.Add(PositionChangeTypes.CurrentPrice, value.To<decimal>());
					break;
				case "Leverage-S":
					pfMsg.Add(PositionChangeTypes.Leverage, value.To<decimal>());
					break;
				default:
					var info = pfMsg.ExtensionInfo = new Dictionary<object, object>();

					if (currency.IsEmpty())
						info[name] = value;
					else
					{
						info[name] = new Currency
						{
							Type = currency.To<CurrencyTypes>(),
							Value = value.To<decimal>(),
						};
					}

					break;
			}

			SendOutMessage(pfMsg);
		}
开发者ID:xyicheng,项目名称:StockSharp,代码行数:51,代码来源:InteractiveBrokersMessageAdapter_Transaction.cs


示例3: ReadPortfolioUpdateTime

		private void ReadPortfolioUpdateTime(IBSocket socket)
		{
			/*var timeStamp = */socket.ReadStr();
			//updateAccountTime(timeStamp);
		}
开发者ID:xyicheng,项目名称:StockSharp,代码行数:5,代码来源:InteractiveBrokersMessageAdapter_Transaction.cs


示例4: ProcessTransactionResponse

		private bool ProcessTransactionResponse(IBSocket socket, ResponseMessages message, ServerVersions version)
		{
			switch (message)
			{
				case ResponseMessages.OrderStatus:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/orderstatus.htm
					ReadOrderStatus(socket, version);
					return true;
				}
				case ResponseMessages.Portfolio:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/updateaccountvalue.htm
					ReadPortfolio(socket, version);
					return true;
				}
				case ResponseMessages.PortfolioPosition:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/updateportfolio.htm
					ReadPortfolioPosition(socket, version);
					return true;
				}
				case ResponseMessages.PortfolioUpdateTime:
				{
					ReadPortfolioUpdateTime(socket);
					return true;
				}
				case ResponseMessages.OpenOrder:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/openorder.htm
					ReadOpenOrder(socket, version);
					return true;
				}
				case ResponseMessages.NextOrderId:
				{
					ReadNextOrderId(socket);
					return true;
				}
				case ResponseMessages.MyTrade:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/execdetails.htm
					ReadMyTrade(socket, version);
					return true;
				}
				case ResponseMessages.ManagedAccounts:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/managedaccounts.htm
					ReadManagedAccounts(socket);
					return true;
				}
				case ResponseMessages.OpenOrderEnd:
				{
					//openOrderEnd(socket);
					return true;
				}
				case ResponseMessages.AccountDownloadEnd:
				{
					ReadPortfolioName(socket);
					return true;
				}
				case ResponseMessages.MyTradeEnd:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/execdetailsend.htm
					ReadMyTradeEnd(socket);
					return true;
				}
				case ResponseMessages.CommissionReport:
				{
					ReadCommissionReport(socket);
					return true;
				}
				case ResponseMessages.Position:
				{
					ReadPosition(socket, version);
					return true;
				}
				case ResponseMessages.PositionEnd:
				{
					ReadPositionEnd(socket);
					return true;
				}
				case ResponseMessages.AccountSummary:
				{
					ReadAccountSummary(socket);
					return true;
				}
				case ResponseMessages.AccountSummaryEnd:
				{
					ReadAccountSummaryEnd(socket);
					return true;
				}
				default:
					return false;
			}
		}
开发者ID:xyicheng,项目名称:StockSharp,代码行数:95,代码来源:InteractiveBrokersMessageAdapter_Transaction.cs


示例5: ReadAccountSummaryEnd

		private void ReadAccountSummaryEnd(IBSocket socket)
		{
			var requestId = socket.ReadInt();
			SendOutMessage(new PortfolioLookupResultMessage { OriginalTransactionId = requestId });
		}
开发者ID:xyicheng,项目名称:StockSharp,代码行数:5,代码来源:InteractiveBrokersMessageAdapter_Transaction.cs


示例6: ReadCommissionReport

		private void ReadCommissionReport(IBSocket socket)
		{
			var tradeId = socket.ReadStr();
			var value = socket.ReadDecimal();
			var currency = socket.ReadCurrency();
			var pnl = socket.ReadNullDecimal();
			var yield = socket.ReadNullDecimal();
			var redemptionDate = socket.ReadNullDateTime("yyyyMMdd");

			var secId = _secIdByTradeIds.TryGetValue2(tradeId);

			if (secId == null)
				return;

			// TODO
			//SendOutMessage(new ExecutionMessage
			//{
			//	ExecutionType = ExecutionTypes.Trade,
			//	TradeStringId = tradeId,
			//	Commission = value,
			//	SecurityId = secId.Value,
			//});
		}
开发者ID:xyicheng,项目名称:StockSharp,代码行数:23,代码来源:InteractiveBrokersMessageAdapter_Transaction.cs


示例7: ReadPositionEnd

		private void ReadPositionEnd(IBSocket socket)
		{
		}
开发者ID:xyicheng,项目名称:StockSharp,代码行数:3,代码来源:InteractiveBrokersMessageAdapter_Transaction.cs


示例8: ReadMarketDataType

		private void ReadMarketDataType(IBSocket socket)
		{
			/* requestId */
			socket.ReadInt();

			IsRealTimeMarketData = socket.ReadBool();

			//marketDataType(reqId, mdt);
		}
开发者ID:EricGarrison,项目名称:StockSharp,代码行数:9,代码来源:InteractiveBrokersMessageAdapter_MarketData.cs


示例9: ReadFinancialAdvice

		private void ReadFinancialAdvice(IBSocket socket)
		{
			var type = socket.ReadInt();
			var xml = socket.ReadStr();

			SendOutMessage(new FinancialAdviseMessage
			{
				AdviseType = type,
				Data = xml
			});
		}
开发者ID:EricGarrison,项目名称:StockSharp,代码行数:11,代码来源:InteractiveBrokersMessageAdapter_MarketData.cs


示例10: ReadDeltaNuetralValidation

		private void ReadDeltaNuetralValidation(IBSocket socket)
		{
			/* requestId */
			socket.ReadInt();

			//UnderComp underComp = new UnderComp();
			//underComp.ConId = 
			socket.ReadInt();
			//underComp.Delta = 
			socket.ReadDecimal();
			//underComp.Price = 
			socket.ReadDecimal();

			//deltaNuetralValidation(reqId, underComp);
		}
开发者ID:EricGarrison,项目名称:StockSharp,代码行数:15,代码来源:InteractiveBrokersMessageAdapter_MarketData.cs


示例11: ReadTickSnapshotEnd

		private void ReadTickSnapshotEnd(IBSocket socket)
		{
			/*var requestId = */socket.ReadInt();
			//SendOutMessage(_level1Messages.GetAndRemove(requestId));
		}
开发者ID:EricGarrison,项目名称:StockSharp,代码行数:5,代码来源:InteractiveBrokersMessageAdapter_MarketData.cs


示例12: ReadSecurityInfoEnd

		private void ReadSecurityInfoEnd(IBSocket socket)
		{
			SendOutMessage(new SecurityLookupResultMessage { OriginalTransactionId = socket.ReadInt() });
		}
开发者ID:EricGarrison,项目名称:StockSharp,代码行数:4,代码来源:InteractiveBrokersMessageAdapter_MarketData.cs


示例13: ReadFundamentalData

		private void ReadFundamentalData(IBSocket socket)
		{
			var requestId = socket.ReadInt();
			var data = socket.ReadStr();

			SendOutMessage(new FundamentalReportMessage
			{
				Data = data,
				OriginalTransactionId = requestId,
			});
		}
开发者ID:EricGarrison,项目名称:StockSharp,代码行数:11,代码来源:InteractiveBrokersMessageAdapter_MarketData.cs


示例14: ReadRealTimeBars

		private void ReadRealTimeBars(IBSocket socket)
		{
			var requestId = socket.ReadInt();
			var time = socket.ReadLongDateTime();
			var open = socket.ReadDecimal();
			var high = socket.ReadDecimal();
			var low = socket.ReadDecimal();
			var close = socket.ReadDecimal();
			var volume = socket.ReadLong();
			var wap = socket.ReadDecimal();
			var count = socket.ReadInt();

			SendOutMessage(new TimeFrameCandleMessage
			{
				OpenPrice = open,
				HighPrice = high,
				LowPrice = low,
				ClosePrice = close,
				TotalVolume = volume,
				OpenTime = time,
				CloseVolume = count,
				SecurityId = GetSecurityId(requestId),
				OriginalTransactionId = requestId,
			});

			//realTimeBar(reqId, time, open, high, low, close, volume, wap, count);
		}
开发者ID:EricGarrison,项目名称:StockSharp,代码行数:27,代码来源:InteractiveBrokersMessageAdapter_MarketData.cs


示例15: ReadMyTrade

		private void ReadMyTrade(IBSocket socket, ServerVersions version)
		{
			/* requestId */
			if (version >= ServerVersions.V7)
				socket.ReadInt();

			// http://www.interactivebrokers.com/en/software/api/apiguide/java/execution.htm

			var transactionId = socket.ReadInt();

			//Handle the 2^31-1 == 0 bug
			if (transactionId == int.MaxValue)
				transactionId = 0;

			//Read Contract Fields
			var contractId = version >= ServerVersions.V5 ? socket.ReadInt() : -1;

			var secName = socket.ReadStr();
			var type = socket.ReadSecurityType();
			var expiryDate = socket.ReadExpiry();
			var strike = socket.ReadDecimal();
			var optionType = socket.ReadOptionType();
			var multiplier = version >= ServerVersions.V9 ? socket.ReadMultiplier() : null;
			var boardCode = socket.ReadBoardCode();
			var currency = socket.ReadCurrency();
			var secCode = socket.ReadLocalCode(secName);
			var secClass = (version >= ServerVersions.V10) ? socket.ReadStr() : null;

			var tradeId = socket.ReadStr();
			var time = socket.ReadDateTime("yyyyMMdd  HH:mm:ss");
			var portfolio = socket.ReadStr();
			/* exchange */
			socket.ReadStr();
			var side = socket.ReadTradeSide();
			var volume = socket.ReadDecimal();
			var price = socket.ReadDecimal();
			var permId = version >= ServerVersions.V2 ? socket.ReadInt() : (int?)null;
			var clientId = version >= ServerVersions.V3 ? socket.ReadInt() : (int?)null;
			var liquidation = version >= ServerVersions.V4 ? socket.ReadInt() : (int?)null;
			var cumulativeQuantity = version >= ServerVersions.V6 ? socket.ReadInt() : (int?)null;
			var averagePrice = version >= ServerVersions.V6 ? socket.ReadDecimal() : (decimal?)null;
			var orderRef = version >= ServerVersions.V8 ? socket.ReadStr() : null;
			var evRule = version >= ServerVersions.V9 ? socket.ReadStr() : null;
			var evMultiplier = version >= ServerVersions.V9 ? socket.ReadDecimal() : (decimal?)null;

			var secId = new SecurityId
			{
				SecurityCode = secCode,
				BoardCode = GetBoardCode(boardCode),
				InteractiveBrokers = contractId,
			};

			SendOutMessage(new SecurityMessage
			{
				SecurityId = secId,
				Name = secName,
				SecurityType = type,
				ExpiryDate = expiryDate,
				Strike = strike,
				OptionType = optionType,
				Currency = currency,
				Multiplier = multiplier ?? 0,
				Class = secClass
			});

			// заявка была создана руками
			if (transactionId == 0)
				return;

			_secIdByTradeIds[tradeId] = secId;

			var execMsg = new ExecutionMessage
			{
				ExecutionType = ExecutionTypes.Transaction,
				OriginalTransactionId = transactionId,
				TradeStringId = tradeId,
				OriginSide = side,
				TradePrice = price,
				TradeVolume = volume,
				PortfolioName = portfolio,
				ServerTime = time,
				SecurityId = secId,
				HasTradeInfo = true,
			};

			if (permId != null)
				execMsg.SetPermId(permId.Value);

			if (clientId != null)
				execMsg.SetClientId(clientId.Value);

			if (liquidation != null)
				execMsg.SetLiquidation(liquidation.Value);

			if (cumulativeQuantity != null)
				execMsg.SetCumulativeQuantity(cumulativeQuantity.Value);

			if (averagePrice != null)
				execMsg.SetAveragePrice(averagePrice.Value);

//.........这里部分代码省略.........
开发者ID:xyicheng,项目名称:StockSharp,代码行数:101,代码来源:InteractiveBrokersMessageAdapter_Transaction.cs


示例16: ProcessMarketDataResponse

		private bool ProcessMarketDataResponse(IBSocket socket, ResponseMessages message, ServerVersions version)
		{
			switch (message)
			{
				case ResponseMessages.TickPrice:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/tickprice.htm
					ReadTickPrice(socket, version);
					return true;
				}
				case ResponseMessages.TickVolume:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/ticksize.htm
					ReadTickVolume(socket);
					return true;
				}
				case ResponseMessages.TickOptionComputation:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/tickoptioncomputation.htm
					ReadTickOptionComputation(socket, version);
					return true;
				}
				case ResponseMessages.TickGeneric:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/tickgeneric.htm
					ReadTickGeneric(socket);
					return true;
				}
				case ResponseMessages.TickString:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/tickstring.htm
					ReadTickString(socket);
					return true;
				}
				case ResponseMessages.TickEfp:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/tickefp.htm
					ReadTickEfp(socket);
					return true;
				}
				case ResponseMessages.ScannerData:
				{
					ReadScannerData(socket, version);
					return true;
				}
				case ResponseMessages.SecurityInfo:
				{
					ReadSecurityInfo(socket, version);
					return true;
				}
				case ResponseMessages.BondInfo:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/bondcontractdetails.htm
					ReadBondInfo(socket, version);
					return true;
				}
				case ResponseMessages.MarketDepth:
				case ResponseMessages.MarketDepthL2:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/updatemktdepth.htm
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/updatemktdepthl2.htm
					ReadMarketDepth(socket, message);
					return true;
				}
				case ResponseMessages.NewsBulletins:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/updatenewsbulletin.htm
					ReadNewsBulletins(socket);
					return true;
				}
				case ResponseMessages.FinancialAdvice:
				{
					ReadFinancialAdvice(socket);
					return true;
				}
				case ResponseMessages.HistoricalData:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/historicaldata.htm
					ReadHistoricalData(socket, version);
					return true;
				}
				case ResponseMessages.ScannerParameters:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/scannerparameters.htm
					ReadScannerParameters(socket);
					return true;
				}
				case ResponseMessages.RealTimeBars:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/realtimebar.htm
					ReadRealTimeBars(socket);
					return true;
				}
				case ResponseMessages.FundamentalData:
				{
					// http://www.interactivebrokers.com/en/software/api/apiguide/java/fundamentaldata.htm
					ReadFundamentalData(socket);
					return true;
				}
				case ResponseMessages.SecurityInfoEnd:
//.........这里部分代码省略.........
开发者ID:EricGarrison,项目名称:StockSharp,代码行数:101,代码来源:InteractiveBrokersMessageAdapter_MarketData.cs


示例17: ReadMyTradeEnd

		private void ReadMyTradeEnd(IBSocket socket)
		{
			/* requestId */
			socket.ReadInt();
			//executionDataEnd(reqId);
		}
开发者ID:xyicheng,项目名称:StockSharp,代码行数:6,代码来源:InteractiveBrokersMessageAdapter_Transaction.cs


示例18: ReadTickPrice

		private void ReadTickPrice(IBSocket socket, ServerVersions version)
		{
			var requestId = socket.ReadInt();
			var priceField = (FieldTypes)socket.ReadInt();
			var price = socket.ReadDecimal();
			var volume = version >= ServerVersions.V2 ? socket.ReadInt() : (decimal?)null;
			var canAutoExecute = version >= ServerVersions.V3 ? socket.ReadBool() : (bool?)null;

			ProcessTick(requestId, priceField, price, volume);
		}
开发者ID:EricGarrison,项目名称:StockSharp,代码行数:10,代码来源:InteractiveBrokersMessageAdapter_MarketData.cs


示例19: ReadPosition

		private void ReadPosition(IBSocket socket, ServerVersions version)
		{
			var account = socket.ReadStr();

			var contractId = socket.ReadInt();
			var secName = socket.ReadStr();
			var type = socket.ReadSecurityType();
			var expiryDate = socket.ReadExpiry();
			var strike = socket.ReadDecimal();
			var optionType = socket.ReadOptionType();
			var multiplier = socket.ReadMultiplier();
			var boardCode = socket.ReadBoardCode();
			var currency = socket.ReadCurrency();
			var secCode = socket.ReadLocalCode(secName);
			var secClass = (version >= ServerVersions.V2) ? socket.ReadStr() : null;

			var pos = socket.ReadDecimal();

			var avgCost = 0m;
			if (version >= ServerVersions.V3)
				avgCost = socket.ReadDecimal();

			var secId = new SecurityId
			{
				SecurityCode = secCode,
				BoardCode = GetBoardCode(boardCode),
				InteractiveBrokers = contractId,
			};

			SendOutMessage(new SecurityMessage
			{
				SecurityId = secId,
				Name = secName,
				SecurityType = type,
				ExpiryDate = expiryDate,
				Strike = strike,
				OptionType = optionType,
				Currency = currency,
				Multiplier = multiplier ?? 0,
				Class = secClass
			});

			SendOutMessage(this
				.CreatePositionChangeMessage(account, secId)
					.Add(PositionChangeTypes.CurrentValue, pos)
					.Add(PositionChangeTypes.AveragePrice, avgCost));
		}
开发者ID:xyicheng,项目名称:StockSharp,代码行数:47,代码来源:InteractiveBrokersMessageAdapter_Transaction.cs


示例20: ReadTickVolume

		private void ReadTickVolume(IBSocket socket)
		{
			var requestId = socket.ReadInt();
			var volumeType = (FieldTypes)socket.ReadInt();
			var volume = socket.ReadInt();

			ProcessTick(requestId, volumeType, 0, volume);
		}
开发者ID:EricGarrison,项目名称:StockSharp,代码行数:8,代码来源:InteractiveBrokersMessageAdapter_MarketData.cs



注:本文中的StockSharp.InteractiveBrokers.Native.IBSocket类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Messages.ExecutionMessage类代码示例发布时间:2022-05-26
下一篇:
C# BusinessEntities.Portfolio类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap