2

我正在使用 ibpy 来获取我的投资组合的位置。我明白我可以做到:

from ib.opt import ibConnection
tws = ibConnection( host = 'localhost',port= 7496, clientId = 123)
tws.reqAccountUpdates(True,'accountnumber')

然后我应该以updatePortfolio()某种方式使用,但我不知道如何。

谢谢

4

2 回答 2

6

tws.reqAccountUpdates(True,'accountnumber') 当您可能认为它是一个变量时,将发送字符串“acctnumber”。请注意,我发送的字符串是我的实际(假)帐号。

然后你需要为你感兴趣的消息注册一个回调。

from ib.opt import ibConnection, message

def acct_update(msg):
    print(msg)


con = ibConnection(clientId=1)
con.register(acct_update,
             message.updateAccountValue,
             message.updateAccountTime,
             message.updatePortfolio)
con.connect()
con.reqAccountUpdates(True,'DU000000')

#don't forget to disconnect somehow when done
#con.disconnect()
于 2015-05-13T16:51:49.970 回答
2

reqPositions()顾名思义,还有一些可以为您提供职位(并且仅提供您的职位,而不是为您提供许多其他信息)。它们将在message.position消息中返回。

于 2016-01-12T00:35:19.383 回答