作者:yunjinqi 类别:
日期:2022-01-03 22:11:26
阅读:1737 次 消耗积分:0 分
通过TWS API,可以定义TWS中已经可用的大多数订单。
An Auction order 在开市前期间输入电子交易系统,以计算的开盘价(COP)执行。如果您的订单在开盘时未成交,订单将作为限价订单重新提交,限价设置为COP或开市后的最佳买入价/卖出价。
支持的产品: FUT, STK
支持的交易所:Supported exchanges
order = Order()order.action = action
order.tif = "AUC"order.orderType = "MTL"order.totalQuantity = quantity
order.lmtPrice = price
Discretionary(百度上翻译成全权委托订单)
An Discretionary order 是一个 限价订单,其中有隐藏的"可自由支配"金额,可用于增加限价订单有资格执行的价格范围。市场只看到限价。
支持的产品: STK
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "LMT"order.totalQuantity = quantity
order.lmtPrice = price
order.discretionaryAmt = discretionaryAmount
A Market order 是以市场买入价或卖出价买入或卖出的订单。市价单可能会增加成交的可能性和执行速度,但与限价单不同,市价单不提供价格保护,并且可能以远低于/高于当前显示的买入价/卖出价的价格成交。
支持的产品: BOND, CFD, EFP, CASH, FUND, FUT, FOP, OPT, STK, WAR
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "MKT"order.totalQuantity = quantity
A Market If Touched (MIT) 是是购买(或出售)低于(或高于)市场的合约的订单。其目的是利用股票或其他价格的突然或意外变化,并为投资者提供触发价格以启动订单。投资者可能正在等待过度强弱(或疲软)停止,这可能由特定价格点表示。一旦达到特定价格水平,MIT订单可用于确定是否进入市场。此订单在系统中保留,直到触及触发价格,然后作为市场订单提交。MIT 订单类似于止损订单,不同之处在于 MIT 卖出订单高于当前市场价格,止损卖出订单位于下方
支持的产品: BOND, CFD, CASH, FUT, FOP, OPT, STK, WAR
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "MIT"order.totalQuantity = quantity
order.auxPrice = price
A Market On Close (MOC) order 是为尽可能接近收盘价而提交的市场订单。
支持的产品: CFD, FUT, STK, WAR
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "MOC"order.totalQuantity = quantity
A Market On Open (MOO) 在有效的 OPG 时间下一个市价单,以创建在市场开盘时自动提交并以市场价格成交的订单。
支持的产品: CFD, FUT, STK, WAR
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "MKT"order.totalQuantity = quantity
order.tif = "OPG"
Pegged to Market
A pegged-to-market order 旨在获得相对于全国最佳报价(NBO)的买入价格或相对于全国最佳出价(NBB)的卖出价格。根据报价的宽度,此订单可能是被动的或主动的。交易者通过输入限价来创建订单,该限价定义了他们愿意接受的最差限价。接下来,交易者输入一个抵消金额,该金额计算活动限价如下:卖出订单价格= 买入价+ 抵消金额 买入订单价格 = 卖出价 - 抵消金额
支持的产品: STK
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "PEG MKT"order.totalQuantity = quantity
order.auxPrice = marketOffset#Offset price
A Pegged to Stock order 是通过用户定义delta值和期权标的股票价格的变化的乘积来不断调整期权订单价格。delta 作为绝对值输入,并假定看涨期权为正数,看跌期权为负数。买入或卖出看涨期权价格是通过看张期权的初始价格加上标的股票价格变化量乘以定义的delta来确定的。用当前的NBBO的中间价减去股票参考价格来确定股票的参考价格。股票参考价格可以由用户定义,或者如果没有输入参考价格,则默认为订单时的NBBO的中间价。您也可以输入股票价格的最高价和最低价,当股票价格超过最高价或者低于最低价时取消订单。为了让订单更有优势,delta乘以股票价格的变化的值将被四舍五入到最接近的美分(最小报价单位)。
支持的产品: OPT
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "PEG STK"order.totalQuantity = quantity
order.delta = delta
order.stockRefPrice = stockReferencePrice
order.startingPrice = startingPrice
Relative (a.k.a. Pegged-to-Primary) orders 为交易者提供了一种寻求比全国最佳买入价和卖出价(NBBO)更具主动性的价格的手段。通过充当流动性提供者,并发出比当前最佳出价和报价更积极的出价和报价,交易者增加了完成订单的几率。报价会随着市场的变动而自动调整,以保持主动。对于买入订单,您的出价超过NBB一定的偏移量,如果NBB向上移动,您的出价也将向上移动。如果NBB下跌,则不会进行任何调整,因为您的出价将变得更加主动和执行。对于卖出订单,您的报价低于NBO 挂钩的一定偏移量,如果 NBO 向下移动,您的报价也将向下移动。如果NBO上升,则不会进行调整,因为您的报价将变得更加主动和执行。除了偏移量之外,您还可以定义一个绝对上限,其工作方式类似于限价,并将防止您的订单在指定水平之上或之下成交。股票、期权及期货 - 不适用于模拟交易
支持的产品: CFD, STK, OPT, FUT
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "REL"order.totalQuantity = quantity
order.lmtPrice = priceCap
order.auxPrice = offsetAmount
当交易者重视执行速度而不是价格时,Sweep-to-fill orders很有用。weep-to-fill order可识别最佳价格以及以该价格提供/可用的确切数量,并传输订单的相应部分以立即执行。同时,它确定下一个最佳价格和提供/可用数量,并提交订单的匹配数量以立即执行。
支持的产品:CFD, STK, WAR (SMART only)
order = Order()order.action = action
order.orderType = "LMT"order.totalQuantity = quantity
order.lmtPrice = price
order.sweepToFill = True
对于发送到波士顿期权交易所(BOX)的期权订单,您可以选择以美分为单位参加BOX的价格改善拍卖。所有BOX直接相关的价格改善订单将立即从盈透证券发送到BOX订单簿,当条款允许时,IB将根据价格和交易量优先级对其进行评估,以纳入价格改善拍卖。在拍卖中,您的订单将在相同价格下将会优先于经纪交易商参与价格改善。以指定价格参与Auction Limit order。使用限价单可确保您不会以劣于限定价格成交。以美分为增量输入限价订单,您的竞价改善金额计算为限价单价格与最接近列出的增量之间的差额(Enter limit orders in penny increments with your auction improvement amount computed as the difference between your limit order price and the nearest listed increment.)。
支持的产品: OPT (BOX only)
order = Order()order.action = action
order.orderType = "LMT"order.totalQuantity = quantity
order.lmtPrice = price
order.auctionStrategy = auctionStrategy
对于发送到波士顿期权交易所(BOX)的期权订单,您可以选择以美分为单位参加BOX的价格改善拍卖。所有BOX直接相关的价格改善订单将立即从盈透证券发送到BOX订单簿,当条款允许时,IB将根据价格和交易量优先级对其进行评估,以纳入价格改善拍卖。在拍卖中,您的订单将在相同价格下将会优先于经纪交易商参与价格改善。An Auction Pegged to Stock order通过用户定义delta值和期权标的股票价格的变化的乘积来不断调整订单价格。delta 作为绝对值输入,并假定看涨期权为正数,看跌期权为负数。买入或卖出看涨期权价格是通过看张期权的初始价格加上标的股票价格变化量乘以定义的delta来确定的。用当前的NBBO的中间价减去股票参考价格来确定股票的参考价格。股票参考价格可以由用户定义,或者如果没有输入参考价格,则默认为订单时的NBBO的中间价。您也可以输入股票价格的最高价和最低价,当股票价格超过最高价或者低于最低价时取消订单。为了让订单更有优势,delta乘以股票价格的变化的值将被四舍五入到最接近的美分(最小报价单位)。
支持的产品:OPT (BOX only)
order = Order()order.action = action
order.orderType = "PEG STK"order.totalQuantity = quantity
order.delta = delta
order.startingPrice = startingPrice
对于发送到波士顿期权交易所(BOX)的期权订单,您可以选择以美分为单位参加BOX的价格改善拍卖。所有BOX直接相关的价格改善订单将立即从盈透证券发送到BOX订单簿,当条款允许时,IB将根据价格和交易量优先级对其进行评估,以纳入价格改善拍卖。在拍卖中,您的订单将在相同价格下将会优先于经纪交易商参与价格改善。An Auction Pegged to Stock order通过用户定义delta值和期权标的股票价格的变化的乘积来不断调整订单价格。delta 作为绝对值输入,并假定看涨期权为正数,看跌期权为负数。买入或卖出看涨期权价格是通过看张期权的初始价格加上标的股票价格变化量乘以定义的delta来确定的。用当前的NBBO的中间价减去股票参考价格来确定股票的参考价格。股票参考价格可以由用户定义,或者如果没有输入参考价格,则默认为订单时的NBBO的中间价。您也可以输入股票价格的最高价和最低价,当股票价格超过最高价或者低于最低价时取消订单。为了让订单更有优势,delta乘以股票价格的变化的值将被四舍五入到最接近的美分(最小报价单位)。
支持的产品: OPT (BOX only)
order = Order()order.action = action
order.orderType = "REL"order.totalQuantity = quantity
order.auxPrice = offset
The Block attribute 用于 ISE 上至少包含 50 个合约的大批量期权订单。要在不影响市场的情况下执行一段时间内的大批量订单,请使用累积/分配算法。
支持的产品: OPT
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "LMT"order.totalQuantity = quantity#Large volumes!order.lmtPrice = price
order.blockOrder = True
A Box Top order 以当前最优惠价格作为市场订单执行。如果订单仅部分成交,则剩余部分将作为限价订单提交,其限价等于订单执行已成交部分的价格。
支持的产品: OPT (BOX only)
order = Order()order.action = action
order.orderType = "BOX TOP"order.totalQuantity = quantity
A Limit order 以指定价格或更好的价格买入或卖出的订单。限价订单确保如果订单成交,它不会以劣于您的限价的价格成交,但它不保证成交。
支持的产品: BOND, CFD, CASH, FUT, FOP, OPT, STK, WAR
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "LMT"order.totalQuantity = quantity
order.lmtPrice = limitPrice
Forex Cash Quantity Order
Forex orders 可以使用cashQty字段以第二种货币的面额成对下达。
Requires TWS or IBG 963+
支持的产品: CASH
订单说明:Forex Cash Quantity Orders
order = Order()order.action = action
order.orderType = "LMT"order.lmtPrice = limitPrice
order.cashQty = cashQty
A Limit if Touched order是以低于(或高于)市场的指定价格或更好的价格买入(或卖出)合约的订单。此订单在系统中保留,直到触及触发价格。LIT订单类似于止损限价订单,不同之处在于 LIT 卖出订单高于当前市场价格,而止损限价卖出订单位于下方。
支持的产品: BOND, CFD, CASH, FUT, FOP, OPT, STK, WAR
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "LIT"order.totalQuantity = quantity
order.lmtPrice = limitPrice
order.auxPrice = triggerPrice
A Limit-on-close (LOC) order 在收盘时提交,如果收盘价优于提交的限价,则将执行。
支持的产品: CFD, FUT, STK, WAR
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "LOC"order.totalQuantity = quantity
order.lmtPrice = limitPrice
A Limit-on-Open (LOO) order 将在有效的OPG时间下一个限价单,以创建在市场开盘时提交的订单,并且该订单只会以指定的限价或更好的价格执行。订单根据特定的交换规则填写。
支持的产品: CFD, STK, OPT, WAR
支持的交易所:Supported exchanges
order = Order()order.action = action
order.tif = "OPG"order.orderType = "LMT"order.totalQuantity = quantity
order.lmtPrice = limitPrice
Passive Relative orders 为交易者提供了一种手段,可以寻求比全国最佳买入价和卖出价(NBBO)更不主动的价格,同时保持订单与最佳出价(买入)或卖价(卖出)挂钩。订单价格会随着市场的变动而自动调整,以保持订单不那么主动。对于买入订单,您的订单价格通过低于NBB的一定偏移量,如果NBB向上移动,您的出价也将上升。如果NBB向下移动,则不会进行任何调整,以免您的出价将变得激进并执行。对于卖出订单,您的价格通过高于NBO的一定偏移量,如果NBO向下移动,您的报价也将向下移动。如果NBO上升,则不会进行调整,以免您的报价将变得激进并执行。除了偏移量之外,您还可以定义一个绝对上限,其工作方式类似于限价,并将防止您的订单在指定水平之上或之下执行。被动相对顺序类似于相对/与主要挂钩顺序,不同之处在于被动相对从出价中减去偏移量,而相对值将偏移量添加到出价中。
支持的产品: STK, WAR
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "PASSV REL"order.totalQuantity = quantity
order.auxPrice = offset
A pegged-to-midpoint order 为交易者提供了一种在全国最佳买入价和卖出价(NBBO)的中间价寻求价格的方法。随着市场的移动,价格会自动调整以固定到中间价,以保持主动。对于买入订单,您的出价与NBBO中间价挂钩,如果市场波动,订单价格会自动调整以继续挂钩中间价。价格只会调整为更具主动性。如果市场朝相反的方向移动,订单将执行。
支持的产品: STK
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "PEG MID"order.totalQuantity = quantity
order.auxPrice = offset
order.lmtPrice = limitPrice
A Market-to-Limit (MTL) 以市价单提交,以当前最佳市场价格执行。如果订单仅部分成交,则订单的其余部分将被取消并重新提交为限价订单,其限价等于订单执行已成交部分的价格。
支持的产品: CFD, FUT, FOP, OPT, STK, WAR
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "MTL"order.totalQuantity = quantity
此订单类型对于使用Globex的期货交易者非常有用。A Market with Protection order 是一个市价单,如果整个订单没有立即以市场价格执行,它将被取消并重新提交为限价单。Globex将限价设置为接近当前市场价格,卖出订单略高,买入订单略低。
支持的产品: FUT, FOP
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "MKT PRT"order.totalQuantity = quantity
A Stop order 在达到或穿透用户指定的止损触发价格时提交买入或卖出市场订单的指令。止损订单不能保证特定的执行价格,并且可能大大偏离其止损价格执行。卖出止损订单始终低于当前市场价格,通常用于限制多头股票头寸的损失或保护利润。买入止损订单总是高于当前市场价格。它通常用于限制损失或帮助保护卖空的利润。
支持的产品: CFD, BAG, CASH, FUT, FOP, OPT, STK, WAR
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "STP"order.auxPrice = stopPrice
order.totalQuantity = quantity
A Stop-Limit order 在达到或穿透用户指定的止损触发价格时提交买入或卖出限价单的指令。订单有两个基本组成部分:止损价和限价。当交易以止损价或通过止损价发生时,订单变得可执行并作为限价单进入市场,即以指定价格或更好的价格买入或卖出的订单。
支持的产品: CFD, CASH, FUT, FOP, OPT, STK, WAR
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "STP LMT"order.totalQuantity = quantity
order.lmtPrice = limitPrice
order.auxPrice = stopPrice
A Stop with Protection order 将止损限价单的功能与带有保护订单的市场相结合。订单设置为以指定的止损价格触发。当止损价被穿透时,订单被触发为具有保护令的市价单,这意味着它将在等于触发价格+/-交易所定义的保护点形成的范围内成交。未在此受保护范围内成交的订单的任何部分将作为限价订单以交易所定义的触发价格+/-保护点提交。
支持的产品: FUT
支持的交易所:Supported exchanges
order = Order()order.totalQuantity = quantity
order.action = action
order.orderType = "STP PRT"order.auxPrice = stopPrice
A sell trailing stop order 将止损价格设置为低于市场价格的固定金额,并附加"追踪"金额。随着市场价格的上涨,止损价按跟踪金额上涨,但如果股票价格下跌,止损价格不会改变,当止损价格被击中时,将提交市价单。这种技术旨在允许投资者指定最大可能损失的限制,而不对最大可能收益设置限制。"买入"追踪止损订单是卖出追踪止损订单的镜像,最适合用于下跌市场。
请注意,追踪止损订单可以将追踪金额指定为百分比(如下例所示),也可以指定为在 auxPrice 字段中指定的绝对金额。
支持的产品: CFD, CASH, FOP, FUT, OPT, STK, WAR
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "TRAIL"order.totalQuantity = quantity
order.trailingPercent = trailingPercent
order.trailStopPrice = trailStopPrice
Trailing Stop Limit
A trailing stop limit order 旨在允许投资者指定最大可能损失的限制,而无需对最大可能收益设置限制。卖出追踪止损限值随市场价格移动,并根据用户定义的"追踪"金额,以低于市场价格的固定金额不断重新计算止损触发价格。限价订单价格也会根据限价偏移量不断重新计算。随着市场价格的上涨,止损价和限价的上涨分别抵消了追踪金额和限价,但如果股票价格下跌,止损价格保持不变,当止损价达到时,将以最后计算的限价提交限价单。"买入"追踪止损限价单是卖出追踪止损限价的镜像,通常用于下跌的市场。
追踪止损限价订单可以指定为绝对金额的追踪金额(如下例所示)发送,也可以在追踪百分比字段中指定。
**重要提示:"**限制偏移量"字段默认在 v963+ 的 TWS/IBG 设置中设置。此设置需要在订单预设、接受的默认值或从 API 发送的限价偏移量中更改,如下面的示例所示。并非同时在TRAIL限价订单中设置"限价"和"限价偏移量"字段。
支持的产品: BOND, CFD, CASH, FUT, FOP, OPT, STK, WAR
order = Order()order.action = action
order.orderType = "TRAIL LIMIT"order.totalQuantity = quantity
order.trailStopPrice = trailStopPrice
order.lmtPriceOffset = lmtPriceOffset
order.auxPrice = trailingAmount
创建包含期权、股票和期货产品的组合订单(如果订单通过SmartRouting提交,则可以包括股票)。虽然组合/点差订单是由单独的leg构成的,但如果直接提交到交易所,它将作为单个交易执行。对于SmartRouted的组合订单,每个分支可以单独执行,以确保最佳执行。
支持的产品: OPT, STK, FUT
order = Order()order.action = action
order.orderType = "LMT"order.totalQuantity = quantity
order.lmtPrice = limitPriceif nonGuaranteed:
order.smartComboRoutingParams = []
order.smartComboRoutingParams.append(TagValue("NonGuaranteed", "1"))
创建包含期权、股票和期货支段的组合订单(如果订单通过智能路由路由,则可以包括库存段)。虽然组合/点差订单是由单独的分支构成的,但如果直接路由到交易所,它将作为单个交易执行。对于SmartRouted的组合订单,每个分支可以单独执行,以确保最佳执行。
支持的产品: OPT, STK, FUT
order = Order()order.action = action
order.orderType = "MKT"order.totalQuantity = quantityif nonGuaranteed:
order.smartComboRoutingParams = []
order.smartComboRoutingParams.append(TagValue("NonGuaranteed", "1"))
Combo Limit with Price per Leg
创建包含期权、股票和期货支段的组合订单(如果订单通过智能路由路由,则可以包括库存段)。虽然组合/点差订单是由单独的分支构成的,但如果直接路由到交易所,它将作为单个交易执行。对于SmartRouted的组合订单,每个分支可以单独执行,以确保最佳执行。
支持的产品: OPT, STK, FUT
order = Order()order.action = action
order.orderType = "LMT"order.totalQuantity = quantity
order.orderComboLegs = []for price in legPrices:
comboLeg = OrderComboLeg()
comboLeg.price = price
order.orderComboLegs.append(comboLeg)
if nonGuaranteed:
order.smartComboRoutingParams = []
order.smartComboRoutingParams.append(TagValue("NonGuaranteed", "1"))
创建包含期权、股票和期货支段的组合订单(如果订单通过智能路由路由,则可以包括库存段)。虽然组合/点差订单是由单独的分支构成的,但如果直接路由到交易所,它将作为单个交易执行。对于SmartRouted的组合订单,每个分支可以单独执行,以确保最佳执行。
支持的产品: OPT, STK, FUT
order = Order()order.action = action
order.totalQuantity = quantity
order.orderType = "REL + LMT"order.lmtPrice = limitPriceif nonGuaranteed:
order.smartComboRoutingParams = []
order.smartComboRoutingParams.append(TagValue("NonGuaranteed", "1"))
创建包含期权、股票和期货支段的组合订单(如果订单通过智能路由路由,则可以包括库存段)。虽然组合/点差订单是由单独的分支构成的,但如果直接路由到交易所,它将作为单个交易执行。对于SmartRouted的组合订单,每个分支可以单独执行,以确保最佳执行。
支持的产品: OPT, STK, FUT
order = Order()order.action = action
order.totalQuantity = quantity
order.orderType = "REL + MKT"
if nonGuaranteed:
order.smartComboRoutingParams = []
order.smartComboRoutingParams.append(TagValue("NonGuaranteed", "1"))
这几个组合订单的解释都是一样的,可能IB的API的文档出问题了.
具体到美国期权,投资者可以创建和输入波动性类型的期权和组合订单,而不是价格订单。期权交易者可能希望交易和定位由其隐含波动率决定的期权价格变动。由于隐含波动率是期权溢价的关键决定因素,交易者在特定合约月份进行头寸,以利用在收益之前、期间或之后或公司特定或广泛市场波动率预期发生变化时产生的隐含波动率变化。为了创建波动率订单,客户必须首先从交易工具菜单中创建波动率交易者页面,当他们输入期权合约时,溢价将以百分比而不是溢价显示。买入/卖出过程与以溢价价格定价的常规订单相同,只是客户可以限制他们愿意支付或接收的波动水平。
支持的产品:FOP, OPT
支持的交易所:Supported exchanges
order = Order()order.action = action
order.orderType = "VOL"order.totalQuantity = quantity
order.volatility = volatilityPercent#Expressed in percentage (40%)order.volatilityType = volatilityType# 1=daily, 2=annual
The Pegged to Benchmark order 类似于期权的挂钩股票订单,不同之处在于挂钩到基准允许您指定任何资产类型作为股票或期权订单的参考(基准)合约。主要合约和参考合约必须使用相同的货币。
支持的产品:STK, OPT
支持的交易所:Supported exchanges
order = Order()order.orderType = "PEG BENCH"#BUY or SELLorder.action = action
order.totalQuantity = quantity#Beginning with price...order.startingPrice = startingPrice#increase/decrease price..order.isPeggedChangeAmountDecrease = peggedChangeAmountDecrease#by... (and likewise for price moving in opposite direction)order.peggedChangeAmount = peggedChangeAmount#whenever there is a price change of...order.referenceChangeAmount = referenceChangeAmount#in the reference contract...order.referenceContractId = referenceConId#being traded at...order.referenceExchange = referenceExchange#starting reference price is...order.stockRefPrice = stockReferencePrice#Keep order active as long as reference contract trades between...order.stockRangeLower = referenceContractLowerRange#and...order.stockRangeUpper = referenceContractUpperRange
TWS API相关的教程
【TWS API使用教程1】—如何在自己创建的client和TWS之间创建一个连接,并请求当前的时间
【TWS API使用教程2】—如何使用 TWS API在ubuntu和windows上分别设置contract、获取contract详细信息、设置order、下单、获取持仓信息、获取账户信息
【TWS API使用教程3】—如何使用TWS API从盈透证券中设置contract及获取contract的信息?
【TWS API使用教程4】—如何使用TWS API在盈透证券中设置order?
【TWS API使用教程5】—如何使用TWS API在盈透证券中下单(place order)、获取订单信息、获取持仓、获取账户汇总信息?
【TWS API使用教程6】—如何使用TWS API在盈透证券中获取数据?
【TWS API 使用教程7】如何使用TWS API 从盈透证券中筛选满足一定条件的contract?
【TWS API 使用教程8】一个基于TWS API的简单的程序化策略