我需要将barSizeSetting='30 secs'
更改为barSizeSetting='5 secs'
。但是,该代码会收到一条错误消息(通常会丢失连接),其大小小于30秒。这很可能是因为代码太慢。下面的代码使用barSizeSetting='30 secs'
非常一致
from ib_insync import *
import datetime
util.startLoop() # uncomment this line when in a notebook
ib = IB()
ib.connect('127.0.0.1', 7496)
start = datetime.datetime(2019, 6, 20)
end = datetime.datetime.now()
barsList = []
dt = end
contract = Stock('SPY', 'SMART','USD')
while dt > start:
bars = ib.reqHistoricalData(
contract,
endDateTime=dt,
durationStr='600 S',
barSizeSetting='30 secs',
whatToShow='MIDPOINT',
useRTH=True,
formatDate=1)
barsList.append(bars)
dt = bars[0].date
allBars = [b for bars in reversed(barsList) for b in bars]
df = util.df(allBars)
f = open('hist.csv','a')
f.write(str(df) )
print(df)
这段代码大部分来自ibu insync论坛。是否有任何高级Python开发人员有任何想法可以使代码更快?我什么都愿意
多谢各位
目前没有回答
相关问题 更多 >
编程相关推荐