我知道在 ibpy 我可以下订单来创建新订单:
self._tws.placeOrder(order_id,contract, order)
但是,假设我知道要更改一些已下订单的限价。有没有类似的东西:?
self._tws.editOrder(order_id,contract, order)
或者简单地使用带有特定 order_id 的下订单可以吗?
我知道在 ibpy 我可以下订单来创建新订单:
self._tws.placeOrder(order_id,contract, order)
但是,假设我知道要更改一些已下订单的限价。有没有类似的东西:?
self._tws.editOrder(order_id,contract, order)
或者简单地使用带有特定 order_id 的下订单可以吗?
您只需使用相同的 orderId 再次调用 placeOrder,但数据已更改。您只能更改某些字段,但 m_lmtPrice 很容易。
从文档中,
通过API修改未结订单可以由下原始订单的同一个客户端来实现。对于在 TWS 中手动下达的订单,订单可以由 ID 为 0 的客户修改。
要修改订单,只需使用与下原始订单相同的参数再次调用 IBApi.EClient.placeOrder 函数,但更改的参数除外。这包括 IBApi.Order.OrderId,它必须与原始的 IBApi.Order.OrderId 匹配。一般不建议尝试更改订单价格和订单大小以外的订单参数。要更改其他参数,最好取消原始订单并下新订单。
链接 http://interactivebrokers.github.io/tws-api/modifying_orders.html#gsc.tab=0