попытка отправить ордер в нерабочее время торговли (rth) с помощью 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 = "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?


person Augusto    schedule 14.05.2018    source источник


Ответы (1)


Читайте документы для заказа там много полезной информации. http://interactivebrokers.github.io/tws-api/classIBApim_outsideRth = bool()1Order.html# a60dcca6e3c3ae6ae6e0c5f3fdffc5a4a

bool OutsideRth [get, set] Если установлено значение true, ордера также могут срабатывать или исполняться вне обычных торговых часов.

Это похоже на документы C#, но то же самое верно и для ibpy. Если вы проверите исходный код, в Order есть поле m_outsideRth = bool(). Просто установите значение true.

person brian    schedule 18.05.2018