抱歉,我可能会问一个愚蠢的问题,但我只是python和algotrading的初学者。我现在使用带有ib_insync的Python 3.7和ibapi尝试连接交易平台。但是,由于Python 3.7使用async作为关键字,因此当我尝试使用ib_insync进行编码时:
from ib_insync import *
ib = IB()
ib.connect('127.0.0.1', 7496, clientId=1)
contract = Forex('EURUSD')
bars = ib.reqHistoricalData(contract, endDateTime='', durationStr='30 D', barSizeSetting='1 hour', whatToShow='MIDPOINT', useRTH=True)
df = util.df(bars)
print(df['date', 'open', 'high', 'low', 'close'])
Run Code Online (Sandbox Code Playgroud)
它最终像这样:
from ib_insync import *
ib = IB()
ib.connect('127.0.0.1', 7496, clientId=1)
contract = Forex('EURUSD')
bars = ib.reqHistoricalData(contract, endDateTime='', durationStr='30 D', barSizeSetting='1 hour', whatToShow='MIDPOINT', useRTH=True)
df = util.df(bars)
print(df['date', 'open', 'high', 'low', 'close'])
Run Code Online (Sandbox Code Playgroud)
我知道我需要将异步名称更改为其他名称。我试图在ibapi中修改文件client.py,但似乎根本不起作用。为了使它起作用,我应该更改代码的哪一部分?
python algorithmic-trading python-3.x interactive-brokers ib-api
嗨,我正在尝试在 python 中安装 ibapi 但是该包似乎不可用,因为每次我尝试安装它时都会出现错误,还有另一种方法可以安装这个包。对你的帮助表示感谢。我留下了我使用的代码。尝试安装软件包
pip install ibapi
Run Code Online (Sandbox Code Playgroud) python algorithmic-trading quantitative-finance interactive-brokers ib-api
我正在尝试这个新的 python 包 ib_insync。
https://github.com/erdewit/ib_insync
我运行了下面的 python 脚本;
from ib_insync import *
ib = IB()
ib.connect('127.0.0.1', 7496, clientId=1)
contract = Forex('EURUSD')
bars = ib.reqHistoricalData(contract, endDateTime='', durationStr='30 D', barSizeSetting='1 hour', whatToShow='MIDPOINT', useRTH=True)
# convert to pandas dataframe:
df = util.df(bars)
print(df[['date', 'open', 'high', 'low', 'close']])
Run Code Online (Sandbox Code Playgroud)
我遇到了错误IB API from http://interactivebrokers.github.io is required。
我已经在 C:\TW_API 文件夹下安装了 IB API 版本 9.73.06。我正在使用 Windows 10 和 anaconda python v3.6 。
这是我的 TWS API 设置的快照;
我试图制作一个简单的 Python 程序,它通过 IB 原生 API 连接到我的模拟账户。但是当我运行程序时出现错误:IB AttributeError: 'IBapi' object has no attribute 'connState'
该程序如下所示:
from ibapi.wrapper import EWrapper
class IBapi(EWrapper, EClient):
def init(self):
EClient.init(self, self)
app = IBapi()
app.connect('127.0.0.1', 7497, 123)
app.run()
Run Code Online (Sandbox Code Playgroud)
我使用了这个网站的教程:https : //algotrading101.com/learn/interactive-brokers-python-api-native-guide/
感谢您的帮助!