Interactive Broker connection break mid-way, cause data request stuck in a while loop

4 次查看(过去 30 天)
I noticed a new problem with IB connection, sometimes when i request data (using either getdata history or timeseries ), the code stuck in the while loop:
while c.DataRequest
drawnow
end
i suspect it happend due to using " ib = ibtws('',7496)" , i may have connect + disconnect from TWS too often ?? Or did i request data too often from TWS ? the only solution to make data request work again, is to quit Matlab, and re-launch Matlab, or re-launch TWS
Anybody experienced the same problem before ?
once " ib = ibtws('',7496)" is established, how long does this connection stay?? how to make sure i keep the connection stay there in practice ?
How to reconnect with IB, without stuck in the data request while loop ?? Please help
Best regards
Terry
  2 个评论
Guillaume
Guillaume 2020-1-23
Peer Boerretzen's non-answer moved here:
Hi I am experiencing exact same problem.
For me it happens when IBTWS automatically restarts every night and matlab get stuck in the while loop you mention when trying to request 'timeseries' data. Have tried with both off-line and on-line version of ibtws and with gateway but same problem.
Would also really apprechiate a solution to this problem

请先登录,再进行评论。

回答(1 个)

Annie Leonhart
Annie Leonhart 2020-3-1
At the end of your code close the connection. It only needs to be open when requesting. If you leave it open it'll timeout and you'll try to request more data with the same client ID and it will not run.
simply add to the end of your code and it'll work smoothly every time.
close(ib)

类别

Help CenterFile Exchange 中查找有关 Get Started with MATLAB 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by