当前位置: 首页 > 知识库问答 >
问题:

通过ibpy向互动经纪人提交LOO或MOO订单

薛烨
2023-03-14

有了下面的标准代码,我可以使用一个免费的演示帐户提交市场(MKT)和限额订单(LMT)

from ib.opt import Connection, message
from ib.ext.Contract import Contract
from ib.ext.Order import Order


def make_contract(symbol, sec_type, exch, prim_exch, curr):
    Contract.m_symbol = symbol
    Contract.m_secType = sec_type
    Contract.m_exchange = exch
    Contract.m_primaryExch = prim_exch
    Contract.m_currency = curr
    return Contract


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

    return order


def main():
    conn = Connection.create(port=7496, clientId=999)
    conn.connect()

    oid = 100001
    cont = make_contract('TSLA', 'STK', 'SMART', 'SMART', 'USD')
    offer = make_order('BUY', 100, 315)

    conn.placeOrder(oid, cont, offer)
    conn.disconnect()


main()

有没有人有提交LOO或MOO订单的经验?当我改变时:

    order.m_orderType = 'LOO'

我没有得到一个例外,但是,没有悬而未决的订单显示在IB TWS(演示)。

共有1个答案

施洛城
2023-03-14

根据文件,你像往常一样制作LMT或MKT类型,但将tif改为OPG(我想是为了开幕式)。

order.tif = "OPG"
order.orderType = "LMT"

http://interactivebrokers.github.io/tws-api/basic_orders.html#limitonopen

请注意,字段名使用的是IB的新python API,您可能想看看。

 类似资料:
  • 我曾尝试在VisualStudio2008中设置Interactive Broker的C API,但我知道的C非常有限,并且不断出现错误: 1)是否有任何方法可以使用某种轻量级的脚本语言来连接到Interactive Brokers并进行交易。 像Python这样轻量级的东西就可以了,是的,我已经研究过IBMY,但我不明白java2python系统是如何工作的。 2) 您是如何设置您的自动系统的,

  • 我想使用IB Api,但无法计算我们如何请求完整的符号列表和信息。 在我找到的文档中:reqScannerParameters()——但不清楚如何获得纳斯达克股票的列表? 有更好的办法吗?

  • 我正在尝试为API创建一个程序,一次进行多个交易,然后获取股票价格,然后每隔一段时间重新平衡一次。我使用了一个在线教程来获取一些代码,并做了一些调整。 但是,当我运行代码时,它经常连接,如果我重新启动IB TWS,它会下订单。但是如果我再次运行代码,它就不起作用,或者显示它将连接的任何指示。有人能帮我弄清楚如何保持连接,这样我就可以运行main.java文件,它会执行多个交易,然后结束连接吗?我需

  • 我正在尝试为Python应用编程接口创建一个程序,以便一次下多个交易/市场订单。我在网上使用了一个教程来获取一些代码,并做了一些更改。但是,我不能一次下多个订单。我使用了2个列表1是用于符号,另一个是用于它们的数量。(例如:购买3只苹果股票)。我的代码只执行最后一个订单:即“购买3只客户关系管理股票”。有人能帮我弄清楚如何下多个订单吗? 下面是我的Python代码:

  • 我希望在座的人能够帮助澄清如何在python API链接和交互式经纪人API中构建期货订单的IB Insync合同格式。我正在尝试使用IB Insync将autobot API链接开发成交互式代理API。我的系统现在运行得很好,自动以“库存”合同格式下订单;详情如下: 但是,当我根据文档将相同的python脚本应用于我对期货订单所需的IB Insync合同格式的理解时,什么都没有发生,API日志中

  • 我调用interactive brokermethod,在IBMGatewaway上我看到了一个错误 200 |未找到该请求的安全定义 我试图将sec类型更改为不同的类型,但总是返回相同的结果,这是我的代码: