#python #python-3.x #interactive-brokers #ib-api
#питон #python-3.x #интерактивные брокеры #ib-api
Вопрос:
Я использую отличный пакет ib_insync
для создания проекта IB
. Я получаю некоторые данные о реальном времени следующим образом () pseudo code
:
await self._ib_instance.connectAsync(host=self._host, port=self._port, clientId=100, readonly=True)
for contract in contracts:
self._ib_instance.reqMktData(contract)
sleep(2)
for ticker in tickerEvent:
print(ticker)
В основном я вставляю в tickerEvent
5 тыс. контрактов, а затем прослушиваю данные тикера. И это работает просто идеально, но по прошествии времени (без шаблона, всегда разные временные интервалы), например, 5 минут или 50 минут, я получаю ошибку:
client - Peer closed connection
Я нашел в документах эту ошибку. Но я не знаю, как с этим справиться? Как его поймать? Я пытаюсь поймать его и снова подключиться, но это не помогло!
Пожалуйста, помогите решить эту проблему!
Комментарии:
1. В итоге вы нашли решение этой проблемы?
Ответ №1:
Количество контрактов, для которых вы можете запрашивать данные одновременно, ограничено. 5000 контрактов нереально без покупки необходимых пакетов бустеров.
https://interactivebrokers.github.io/tws-api/market_data.html
По умолчанию каждый пользователь имеет максимальное ограничение в 100 строк рыночных данных и, таким образом, может получать рыночные данные в реальном времени до 100 инструментов одновременно. Однако этот лимит может быть дополнительно увеличен либо за счет покупки пакетов повышения котировок, либо за счет увеличения собственного капитала и / или комиссий учетной записи пользователя.
Комментарии:
1. но почему это работает в течение часа или около того? а затем прерывается?