TWS使用IBApi.EWrapper.error方法不仅可以传递错误,还可以传递警告或信息消息。这主要是为了简单起见。下面是一个包含TWS/IB网关可以发送的所有消息的表。TWS传递的所有消息通常伴随着一个简短但有意义的描述,指出问题的方向。
请记住,TWSAPI只需连接到正在运行的TWS/IB网关,如果不是在与客户端应用程序相同的主机上,则大多数情况下TWS/IB网关将在您的本地网络上运行。您有责任在TWS和客户端应用程序之间提供可靠的连接。
下表中的消息不是客户端应用程序执行的任何操作的结果。它们是关于TWS与自身和我们的服务器之间连接状态的通知。您的客户应用程序必须特别注意它们,并相应地处理这些情况。由于我们每天维护服务器的停机时间,您很可能每天至少一次连接到我们的服务器,如当前系统状态一页。请注意,系统重置后,TWS/IB网关将自动重新连接到我们的服务器,您可以正常恢复操作。
重要:在重置期间,登录或管理订单的能力可能会中断。现有订单(本机类型)将正常运行,尽管执行报告和模拟订单将延迟到重置完成为止。不建议在计划的重置时间内操作。
电码TWS消息附加说明1100IB和TWS之间的连接已经丢失。您的TWS/IB网关已与IB服务器断开连接。这可能是由于Internet连接问题、IB服务器的夜间重置或竞争会话而发生的。1101IB和TWS之间的连接已经恢复-数据丢失。TWS/IB网关已成功地重新连接到IB的服务器。您的市场数据请求已经丢失,需要重新提交。1102IB和TWS之间的连接已经恢复-数据维护。TWS/IB网关已成功地重新连接到IB的服务器。您的市场数据请求已被收回,您没有必要重新提交它们。1300TWS套接字端口已被重置,此连接正在删除。请在新端口上重新连接-<port_num>在活动API连接期间,TWS/IBG设置中的端口号已经更改。客户端错误是纯粹发生在TWSAPI客户端代码上的错误,因此它们从未由TWS发送。它们大多是在将消息发送到TWS之前验证消息时发生的错误,而且您不太可能收到其中的绝大多数消息。因此,下面只记录了这些错误的一小部分。若要查看此类型的所有可用错误,请参阅IBApi.EClientErrors班级。
电码讯息附加说明501已经接通了。客户端应用程序已经连接到TWS。502无法连接到TWS。确认“启用ActiveX和套接字客户端”,连接端口与TWS“编辑->全局配置.>API->设置”菜单上的“套接字端口”相同。当您收到此错误消息时,可能是因为您没有启用TWS中的API连接和/或您试图在错误的端口上连接。请参阅TWS的API设置,如错误消息中所解释的那样。另见连通性503TWS已过时,必须升级。指示TWS或IBG太旧,不能与当前API版本一起使用。如果TWS版本不支持特定的API函数,也可以触发。504没有关联。您试图在没有正确连接的情况下执行请求,并且/或在TWS连接中断之后,可能是由于客户端应用程序中的未处理异常所致。TWS和API中当前活跃的市场数据订阅数量已经超过了。这个数字是根据一个公式计算的,该公式基于帐户中的权益、佣金和报价增压包。可以使用Ctrl-Alt-=组合在TWS中检查活动行。
102重复的代码。市场数据请求使用已被活动请求使用的代码ID。
103重复订单ID。下订单时,订单ID小于或等于来自此客户端的上一次订单的订单ID。
104无法修改已填好的订单。有人试图修改已由系统填写的订单。
105正在修改的命令与原始顺序不匹配。下订单时使用的是当前正在打开的订单的订单ID,但基本参数不同(除数量或价格字段外)。
106无法发送订单ID: 107不能传递不完整的命令。订单缺少必需的字段。
109“价格”超出了“订单默认值”框架下的百分比设置所定义的范围。命令不会被传送。输入的价格超出TWS或IB网关订单预防设置中设定的价格范围
110价格不符合本合同的最低价格变动。输入的价格字段的精度比此特定合同所允许的高。在IB合同和证券搜索页面中可以找到最小增量信息。
111TIF(TIF类型)和Order类型不兼容。指定的生效时间不能与此订单类型一起使用。关于允许的组合,请参考TWS中的订票。
113对于MOC和LOC订单,TIF选项应在今天设置。关闭市场或限制关闭订单应在有效时间设置为“日”的情况下发出。
114相对订单只对股票有效。不推荐此错误。
115美国股票的相对订单只能提交给SMART、SMART_ECN、Instiner或PrimeX。不推荐此错误。
116命令不能传送到死掉的交易所。Exchange字段无效。117块顺序大小必须至少为50。 118VWAP订单必须通过VWAP交换机路由。 119只有VWAP订单可以在VWAP交换机上下。当订单被路由到VWAP交换时,订单的类型必须定义为‘VWAP’。120现在下今天的VWAP订单已经太晚了。截止日期已经过了,以便下VWAP订单。121订单的BD标志无效。检查“目的地”和“BD”标志。不推荐此错误。122没有找到订单的请求标签: 123CONID没有记录:找不到指定的合同ID。不推荐此错误。124CONID没有市场规则: 125购买价格必须与最佳要价相同。 126销售价格必须与最佳投标价格相同。 129VWAP订单必须至少在开始时间前三分钟提交。VWAP顺序中指定的启动时间在放置后不到3分钟。131扫描填充标志和显示大小仅对通过SMART路由的美国股票有效,并将被忽略。 132没有清算帐户,本订单不能传送。 133提交新订单失败。 134修改命令失败。 135找不到ID=的订单试图取消目前不在系统中的订单。136这个订单不能取消。试图取消不能取消的订单,例如:137VWAP订单只能在开始时间前三分钟被取消。 138无法解析滴答请求: 139解析错误:命令语法中的错误生成解析错误。140大小值应该是一个整数:Order类中的Size字段具有无效类型。141价格应加倍:订单类型中的价格字段具有无效类型。142机构客户帐户没有账户信息。 143请求的ID不是整数。API请求中使用的ID必须是整数值。144订单大小与总份额分配不匹配。若要调整股票分配,请右键单击订单并选择“修改”>“共享分配”. 145验证输入字段时出错-请求字段的语法发生错误。146无效触发方法。为诸如停止或跟踪停止等方法指定的触发器方法不是允许的方法之一。147有条件的合同信息是不完整的。 148只有当订单类型设置为限制或市场时,才能提交有条件订单。不推荐此错误。151如果没有用户名,则无法传输此命令。在DDE中,用户名是PlaceOrder命令中的必需字段。152不能为此顺序指定“隐藏”Order属性。有关的命令不能作为隐藏的命令排列。见-https://www.interactivebrokers.com/en/index.php?f=596153EFPs只能是限制订单。不推荐此错误。154不能为停止的安全传送命令。一种证券在下订单时被暂停交易。155一个相当大的订单必须有一个用户名和帐户。不推荐此错误。156SizeOp订单必须转到IBSX不推荐此错误。157订单既可以是冰山定单,也可以是任意定单。请删除任意数量或显示大小。在Order类扩展属性中,字段‘Iceberg’和‘酌处’不能158必须指定偏移量或百分比偏移值。跟踪和跟踪停止命令必须具有指定的绝对偏移量或偏移百分比。159百分比偏移值必须在0%到100%之间。在0%和100%的允许范围之外指定了百分比偏移值。160大小值不能为零。订单的大小必须是正数。161当订单处于不可取消状态时尝试取消。订单permId=试图取消当时不活动的订单。162历史市场数据服务错误信息。 163指定的价格将违反默认订单设置中指定的百分比约束。输入的订单价格超出了TWS或IB网关的订单预防设置中指定的允许范围164没有市场数据来检查价格百分比违规情况。没有指定合同的市场数据可用于确定指定价格是否超出“价格百分比预防订单”设置。165历史市场数据服务查询消息。历史数据请求有一个问题,在IB的数据库中没有这样的数据。注意,此消息不特定于API。166违反合同的行为。对于指定的过期合同,历史数据不可用。167VWAP订单时间必须在未来。VWAP顺序的启动时间已经过去。168可自由支配的金额不符合本合同的最低价格变动。指定酌处字段的精度高于指定合同所允许的精度。200没有为请求找到安全定义。指定的合同与IB数据库中的任何合同不匹配,通常是因为参数不正确或缺少。为<符号>指定的合同描述是不明确的如果所提供的合同定义不是唯一的,则可能出现歧义。 对于具有相同符号、货币和外汇的某些股票,需要指定IBApi.Contract.PrimaryExch属性以避免歧义。请参阅股票合约样本。这里. 对于具有相同到期时间的多个乘数的期货,您需要指定IBApi.Contract.Multiplier属性以避免歧义。请参阅期货合约样本。这里.201驳回命令-理由:IB服务器拒绝尝试订单。202取消订单-原因:IB服务器上的活动订单被取消。203此帐户的安全性<security>不可用或不允许使用。指定的证券具有特定帐户的交易限制。300找不到带有滴答号的开胃菜:试图取消与当前订阅无关的代码标记ID的市场数据。使用DDE API,这是通过清除电子表格单元格来实现的。301无效的滴答动作: 302错误解析停止代码字符串: 303无效行动:指定了帐户不可用的操作字段。对大多数人来说,这只是买卖。一些机构账户也有SSHORT或slong可用的选项。304无效帐户值操作: 305请求解析错误,请求被忽略。DDE请求的语法无效。306处理DDE请求时出错:DDE请求的问题阻止了它的处理。307无效请求主题:DDE请求中的“主题”字段无效。308无法在TWS中创建‘API’页面,因为最大的页面数已经存在。来自API的订单将自动打开经典TWS中的新页面,但是已经打开了最大页数。309市场深度要求的最大值(3)已经达到。注意:TWS目前限制用户最多3次不同的市场深度请求。同样的限制也适用于API客户端,但是API客户端可能会为相同的安全性提出多个市场深度请求。 310无法使用tickerId找到已订阅的市场深度:试图取消当前未活动的股票的市场深度。311来源无效。Order类中指定的源字段无效。312组合详细信息无效。指定的组合合同参数无效。313腿‘<腿号>’的组合详细信息无效。组合腿的定义不正确。
314安全类型的‘袋’需要组合腿的细节。当将安全类型指定为“包”时,请确保还添加包含详细信息的组合腿。315股票组合腿仅限于智能订单路由。当使用股票组合合约时,一定要将‘SMART’指定为交易所。316市场深度数据已经停止。请重新订阅。你需要重新订阅才能再次收到市场深度数据。317市场深度数据已被重置。在申请任何新条目之前,请清空深书内容。 319无效日志级别<日志级别>请确保将日志级别设置为1至5范围内的值。320读取API客户端请求时出现服务器错误。 321验证API客户端请求时出现服务器错误。 322处理API客户端请求时出现服务器错误。 323服务器错误:原因-s 324读取DDE客户端请求时出现服务器错误(缺少信息)。确保您已经为请求指定了所有需要的信息。325此Exchange和Order类型组合不支持任意订单。确保为任意订单指定了Exchange和Order类型的有效组合。326无法连接,因为客户端id已经在使用中。使用唯一的客户端ID重试。另一个客户端应用程序已与指定的客户端id连接。327只有将clientId设置为0的API连接才能设置AutoBindTWSOrders属性。 328尾随停止命令可以附加到限制或停止限制命令。指示试图将跟踪停止附加到不是限制或停止限制的顺序。329订单修改失败。无法更改为新订单类型。不允许将初始订单类型修改为正在使用的特定订单类型。330只有FA或STL客户可以请求托管帐户列表。确保您的帐户类型是FA或STL。331内部错误FA或STL没有任何托管帐户。您没有任何托管帐户。332订单配置文件的帐户代码无效。您需要检查您为请求指定的帐户代码是否有效。333共享分配语法无效。 334无效的好日期订单检查您的订单设置。335无效的增量:增量必须介于0到100之间。 336时间或时区无效。正确的格式是hh:mm:ssxxx,其中xxx是可选指定的时区.例如:15:59:00美国东部时间注意到时间和时区之间有一个空格。如果未指定时区,则假定为本地时间。 337输入的日期、时间或时区无效。正确的格式是yyyymmdhh:mm:ssxxx,其中yyymmdd和xxx是可选的。例如:20031126 15:59:00 ESTNote在日期和时间之间以及时间和时区之间有一个空格。 338“时间过后”订单目前在此交换机上被禁用。 339期货价差不再受支撑。请用组合体代替。 340盒拍卖策略的改进金额无效。 341无效三角洲。有效值从1到100。您可以从订单票证面板的“与股票挂钩”部分设置增量,也可以从主菜单中选择Page/Layout并添加Delta列。 342此交换不支持固定订单。类上的所有订单类型和支持的交换。订单类型和标志一页。343输入的日期、时间或时区无效。正确的格式是yyyymmdhh:mm:ssxxx。 344登录的帐户不是财务顾问帐户。您正在尝试执行仅适用于财务顾问帐户的操作。345FA顾问帐户不支持泛型组合体。 346而不是机构账户或清算账户。 347卖空时隙价值必须为1(经纪人持有股票)或2(从其他地方交付)。确保您的槽值为1或2。348订单不是卖空类型,必须是SSHORT才能指定卖空槽.确保您指定的操作是“SSHORT”。349泛型组合体不支持“Good After”属性。 350最佳组合顺序不支持最小数量。 351“仅限正常交易时间”标志对此订单无效。 352卖空时隙价值2(从其他地方交付)需要位置。您需要为您的订单指定指定的位置。353卖空时隙值1不需要指定位置。您不需要为您的订单指定指定的位置。354未订阅所要求的市场数据。您的账户中没有指定工具的实时市场数据。详情请参阅流媒体市场数据.355订单数量不符合市场规则。从TWS合同详细信息中检查指定合同的订单大小参数。356智能组合顺序不支持OCA组。从您的订单中删除OCA组。357你的客户版本已经过时了。 358不支持智能组合子顺序。 359组合式顺序只支持在填充上减少无块(OCA)。 360没有检查支持智能组合订单。这类订单无法获得交易前佣金和保证金信息.361无效触发价格。 362无效调整的停止价格。 363调整后的止损限价无效。 364无效调整的尾随量。 365没有为代码ID找到扫描器订阅:扫描仪市场数据订阅请求已被取消或找不到。366没有为代码ID找到历史数据查询:已取消或找不到带有此代码ID的历史市场数据请求。367波动类型,如果设置,必须是1或2卷命令。不要将其设置为其他订单类型。 368参考价格类型必须为1或2的动态波动管理。不要将它设置为非Vol.Orders。 369波动性指令只对美国期权有效。确保您正在为美国选择合同下订单。370动态波动性订单必须是明智的路由,或在价格改进交易所交易。 371卷序要求波动率为正浮点值。不要将其设置为其他订单类型。 372无法对非volorder设置动态vol属性。确保您的订单类型是“vol”。373只能在vol或相对于股票顺序上设置股票范围属性。 374如果两者都已设置,则较低的股票范围属性必须小于较高的股票范围属性。 375股票范围属性不能为负值。 376该订单不符合连续更新的条件。这一选择必须在一种便宜的易拉罐交易中进行交易。 377必须指定有效的增量对冲订单辅助。价格。 378三角套期保值订单类型需要三角洲对冲工具。价格待定。确保您的订单具有Delta属性。379德尔塔套期保值订单类型要求不需要三角洲对冲工具。具体价格。确保您没有指定辅助程序。三角洲对冲价格380三角洲对冲订单不允许此订单类型。限制,市场或相关的订单是支持的。381你的DDE.dll需要升级。 382指定的价格违反默认订单设置中指定的蜱数约束。 383指定的大小违反默认顺序设置中指定的大小约束。 384无效的DDE数组请求。 385API扫描器订阅的重复代码ID。确保您正在为新的扫描器订阅使用唯一的滴答器ID。386用于API历史数据查询的重复代码ID。确保在新的历史市场数据查询中使用唯一的滴答ID。387此Exchange的不支持订单类型和安全类型。类上的所有订单类型和支持的交换。订单类型和标志一页。388订单大小小于最低要求。从TWS合同详细信息中检查指定合同的订单大小参数。389提供的路由订单ID不是唯一的。 390提供的路由订单ID无效。 391输入的时间或时区无效。正确的格式是hh:mm:ssxxx。 392无效命令:合同到期。你不能为过期的合同下订单。393卖空时间只适用于德尔塔对冲订单。 394无效处理时间:必须是100到2000之间毫秒的整数。发现: 395由于系统问题,OCA组的订单目前不被接受。有关更多信息,请查看TWS公报。396由于系统问题,申请目前只接受市场和限制订单为本合同。有关更多信息,请查看TWS公报。397由于系统问题,申请目前只接受市场和限制订单为本合同。 398< > cannot be used as a condition trigger.请确保您指定了一个有效的条件。399订单信息错误 400Algo命令错误。 401长度限制 402本合同不允许有条件。条件订单类型不支持本合同403无效的止损价格。您为订单指定的停止价格对合同无效。404此订单的股票不能立即进行卖空。当我们试图定位股票时,订单将被执行。您的订单是由TWS持有,因为您试图出售一份合同,但您没有任何多头头寸,市场没有卖空可用。一旦市场上有卖空交易,你的订单将被传送。405子订单数量应与父订单大小相等。不推荐此错误。406不允许使用货币<>。请指定有效货币407符号只应包含有效的非Unicode字符。请检查您的合同符号408无效的规模订单增量。 409无效的比例尺命令。必须指定订单组件大小。指定的ScaleInitLevelSize无效410规模顺序的后续组件大小无效。指定的ScaleSubsLevelSize无效411“正常交易时间外”标志对此订单无效。此证券不能在正常交易时间以外进行交易。412该合同不可交易。 413如果命令应该将发送标志设置为true的话。你需要设置IBApi.Order.Transmit为真414快照市场数据订阅不适用于一般滴答。当请求快照市场数据时,必须将一般勾选列表保留为空。415等待到之前的RFQ完成,然后再试一次。 416RFQ不适用于本合同。订单ID: 417规模顺序的初始组件大小无效。指定的ScaleInitLevelSize无效418无效的规模订单利润抵消。指定的ScaleprofitOffset无效419缺少规模顺序的初始组件大小。您需要指定ScaleInitLevelSize420无效的实时查询。有关违反起搏行为的信息421无效路线。不推荐此错误。422此订单上的帐户和结算属性不得更改。 423交叉订单RFQ已经过期。已提交的大小不再可用。请打开订单对话框并验证流动性配置。 424FA顺序要求指定分配。不推荐此错误。425FA订单要求每个帐户手动分配,因为没有共同的清算指令.请使用“订单对话顾问”选项卡输入分配。不推荐此错误。426没有一个账户有足够的股份。你不能用现金帐户进入空头头寸。427共同基金指令要求指定货币价值。不推荐此错误。428共同基金销售指令要求指定股票。不推荐此错误。429三角洲中立订单只支持组合(袋安全类型)。 430我们很抱歉,但是指定的安全性的基础数据是不可用的。 431显示字段的内容丢失或不正确。不推荐此错误。432委员会不能是消极的。不推荐此错误。433多帐户分配比例顺序无效的“获取利润后恢复大小”。 434订单大小不能为零。 435您必须指定一个帐户。您调用的函数仅在单个帐户上工作。436必须指定分配(单个帐户、组或配置文件)。在尝试向FinancialAdvisor帐户下订单时,必须指定要路由到单个帐户、组或配置文件的订单。437Order只能在RTH之外有一个标志,或者允许预打开。不推荐此错误。438应用程序现在已锁定。不推荐此错误。439订单处理失败。未找到算法定义。请检查一下您的规格IBApi.Order.AlgoStrategy和IBApi.Order.AlgoParams440订单修改失败。算法不能修改。 441Algo属性验证失败:请检查一下您的规格IBApi.Order.AlgoStrategy和IBApi.Order.AlgoParams442此顺序不允许指定的算法。 443订单处理失败。未知的algo属性。规范IBApi.Order.AlgoParams是不正确的444波动性组合秩序尚未得到承认。此时无法提交更改。该顺序不处于能够被修改的状态。445此订单的RFQ不再有效。 446缺少规模订单利润抵消。未正确指定ScaleprofitOffset447缺少标度、价格调整金额或间隔。未正确地指定ScalePriceAdjuValue或ScalePriceAdjuInterval448无效的规模价格调整间隔。指定的ScalePrice调整Interval无效449意料之外的规模、价格调整量或间隔。已指定的ScalePriceAdjuValue或ScalePrice调优Interval无效507坏消息长度(仅Java)指示读取套接字时捕获EOF异常。如果试图使用已经使用的客户端ID连接到TWS,或者TWS被锁定、关闭或中断连接,则可能发生这种情况。它应由客户端应用程序处理,并用于指示套接字连接无效。10000交叉货币组合错误。 10001跨货币卷错误 10002无效的无保障的腿。 10003不允许使用IBSX。 10005只读模型。 10006失踪家长令。找不到指定的父订单ID。在某些情况下,如果子订单是在父订单之后立即放置的,则在括号顺序中可能会出现这种情况;在将子订单传送到TWS/IBG之前,需要暂停50 ms或更短的时间。10007无效对冲类型。 10008贝塔值无效。 10009无效对冲比率 10010无效的三角洲对冲订单。 10011智能组合不支持货币。 10012无效分配百分比指定的FaPercentage无效10013智能路由API错误(智能路由选择退出要求)。 10014改变极限。不推荐此错误。10015API不允许交易。 10016合同不可见。不推荐此错误。10017合同是看不见的。不推荐此错误。10018命令使用EV警告。 10019交易使用电动汽车警告。 10020显示大小应小于订单大小。/td>显示大小应小于总数量。10021无效的leg2到MKT偏移API。不推荐此错误。10022无效的腿PrioAPI。不推荐此错误。10023组合式显示大小API无效。不推荐此错误。10024无效,不要启动下一个leginAPI。不推荐此错误。10025无效的leg2到MKT时间1 API。不推荐此错误。10026无效的leg2到MKT Time2API。不推荐此错误。10027无效的组合式路由标记API。不推荐此错误。10090部分所要求的市场数据没有被订阅。指示所请求的某些滴答类型需要帐户中未保存的其他市场数据订阅。例如,如果用户有选项订阅,而没有基础股票,则通常会出现这种情况,因此系统无法计算实时希腊值(其他默认滴答将被返回)。或者,如果在没有关联订阅的市场数据请求中指定了一般的滴答类型。10148需要取消的OrderId<OrderId>不能取消,状态:有人试图取消已由系统填写的订单。