使用ibpy与Interactive Brokers断开连接

时间:2014-08-18 02:09:41

标签: python interactive-brokers ibpy

这是一段非常标准的代码,用于通过python从Interactive Brokers API请求一些数据:

from ib.ext.Contract import Contract
from ib.opt import ibConnection, message
import time

def watcher(msg):
    print msg

con = ibConnection()
con.registerAll(watcher)
con.connect()

contract = Contract()
contract.m_symbol = "EUR"
contract.m_exchange = "IDEALPRO"
contract.m_currency = "USD"
contract.m_secType = "CASH"

con.reqMktData(1, contract, '', False)

time.sleep(5)

con.disconnect()
print "DISCONNECTED"

time.sleep(60)

我希望在con.disconnect()之后关闭连接,但它会不断获取新数据(消息打印更新出价,询问等)。

为什么disconnect()似乎没有做任何事情,我怎么能真正关闭连接?

1 个答案:

答案 0 :(得分:2)

使用cancelMktData()。调用此方法后,指定Id的市场数据将停止流动。