使用下面的标准代码,我可以使用一个免费的演示帐户提交市场(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()有人有提交厕所或MOO订单的经验吗?当我改变时:
order.m_orderType = 'LOO'我没有得到一个例外,但是,没有挂起的订单显示在IB TWS (演示)。
发布于 2017-12-27 16:53:40
根据文档,您可以像往常一样创建LMT或MKT类型,但是将tif更改为OPG (我猜是用于开头)。
order.tif = "OPG"
order.orderType = "LMT"orders.html#limitonopen
注意,字段名使用的是IB的新python,您可能想看看它。
https://stackoverflow.com/questions/47993975
复制相似问题