如何在ib_insync TWS中获得执行佣金



我需要在TWS中获得执行佣金。我通过python的ib_insync库连接到它们。

我做abt:

ib = IB()
ib.connect('127.0.0.1', 7497, 1)
ib.placeOrder(contract, order)
for e in ib.executions():
print(e)

问题是,执行死刑的委员会在哪里?我怎样才能把它们都抓起来?

好的,我找到了一个解决方案:

from ib_insync import IB
class MyTrader:
def __init__(self):
self.ib = IB()
self.ib.setCallback('commissionReport', self.commissionCallback)
def commissionCallback(self, *args):
print(args[-1])    # CommissionReport object will be printed when order is filed
def trulala(self):
self.ib.connect('127.0.0.1', 7498, 1)
contract = Contract(...)
order = Order(...)
self.ib.placeOrder(contract, order)

最后还有一个更简单的方法(如果你需要访问对象,它很有用(,它是:

self.ib.fills()  

将返回一个Fill对象列表,其中包含所有必要对象的元组,如Contract、Order、Execution和CommissionReport。

您应该在https://groups.io/g/insync我怀疑这里是否有人使用那个图书馆。

佣金不会在执行中返回,而是在佣金报告中返回。http://interactivebrokers.github.io/tws-api/classIBApi_1_1CommissionReport.html

请注意,id是与佣金报告匹配的执行中的执行id。

相关内容

  • 没有找到相关文章

最新更新