Interactive brokers API Client /Python 设置 LMT 价格为当前价格

Interactive brokers API Client /Python setting LMT price as current price

使用 Python 和 IB API 如何将 lmt 价格设置为当前市场价格。下面是一个示例,当您调用 make_order 并通过操作和数量传递价格时。如何将价格定义为市场价?

def make_order(action, quantity,price):
    if price is not None:
        order = Order()
        order.m_orderType = 'LMT'
        order.m_totalQuantity = 2
        order.m_action = action
        order.m_lmtPrice = price
        order.m_outsideRth = True

您需要通过调用 reqTickByTickDatareqMktData 等函数来访问当前价格。然后您可以将lmtPrice字段设置为当前价格。

如果您想以当前价格下单,创建市价单不是更好吗?

如果您想一步完成,我会建议使用不同的订单类型,例如 Snap-To-Market 或 Snap-To-Midpoint:

Snap to Market Orders

order = Order()
order.action = action
order.orderType = "SNAP MKT"
order.totalQuantity = quantity
order.auxPrice = offset