Python 尝试使用ibpy在常规交易时间(rth)之外发送订单

Python 尝试使用ibpy在常规交易时间(rth)之外发送订单,python,python-3.x,ibpy,Python,Python 3.x,Ibpy,我对Python和ibpy还不熟悉,但我能够使用这两种语言测试运行我的策略。我的问题是,当市场开放时,我不能在定期交易时间(RTH)下发出订单,但IB不认为它们是“正常交易时间”。 下面是我如何发送这些订单的 from ib.opt import Connection from ib.ext.Contract import Contract from ib.ext.Order import Order import time port = 7496 client = 1 account =

我对Python和ibpy还不熟悉,但我能够使用这两种语言测试运行我的策略。我的问题是,当市场开放时,我不能在定期交易时间(RTH)下发出订单,但IB不认为它们是“正常交易时间”。 下面是我如何发送这些订单的

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

import time

port = 7496
client = 1
account = "XXXXX"

newContract = Contract()
newContract.m_symbol = "CL"
newContract.m_secType = "FUT"
newContract.m_exchange = "NYMEX"
newContract.m_currency = "USD"
newContract.m_expiry = "201806"

newOrder = Order()
newOrder.m_orderType = "LMT"
newOrder.m_totalQuantity = 1
newOrder.m_action = "BUY"
newOrder.m_lmtPrice = "65"

tws_conn = Connection.create(port=port, clientId=client)
print("------ Connecting.... --------")
tws_conn.connect()
time.sleep(1)
#to simplify I am using a number, but this needs to be updated every new order.
orderId = 1
tws_conn.placeOrder(orderId, newContract, newOrder)
在RTH期间,秩序井然有序,但当我们在RTH之外时,我收到了以下信息:

07:45:45:392 -> 4-2-1-399-Order Message:
BUY 1 CL JUN'18 (CLM8) 
Warning: your order will not be placed at the exchange until 2018-05-14 09:30:00 US/Eastern-

有没有办法启用RTH订单?

阅读文档了解订单有很多有用的信息。

bool outherth[get,set]如果设置为true,则允许订单也 在正常交易时间之外触发或填充

这看起来像C#docs,但在ibpy中也是如此。如果您检查源代码,Order有一个字段
m\u outherth=bool()
。把它设为真