python - 使用 python 从盈透证券获取买卖价
问题描述
这段代码:
ib = IB()
ib.connect('127.0.0.1', 7496)
contract = Stock('SLV', 'SMART', 'USD')
test=ib.reqTickers(contract)
print(test)
将打印出这个:
[Ticker(contract=Stock(symbol='SLV', exchange='SMART', currency='USD'), time=datetime.datetime(2019, 7, 1, 15, 18, 43, 287622, tzinfo=datetime.timezone.utc), bid=14.26, bidSize=11224, ask=14.27, askSize=2970, last=14.27, lastSize=1, volume=48694, open=14.24, high=14.33, low=14.24, close=14.33, halted=0.0, ticks=[], tickByTicks=[], domBids=[], domAsks=[], domTicks=[])]
现在我需要得到出价和要价。
做print(test.ask)
或print(test.bid)
通常得到错误:AttributeError:'list'对象没有属性'ask'。
我尝试了许多与上述类似的其他方法,但遇到了类似的错误。
解决方案
您test
是长度为 1 的列表,其唯一条目是Ticker
您感兴趣的对象。尝试test[0].ask
.
推荐阅读
- linux - 地理服务器自动启动错误。活动状态:活动(退出)
- javascript - 为什么在 Google Docs 中复制表格不会复制嵌入的图形?
- printing - Print Composer 中的标签
- reactjs - 如何在本机反应中循环使用登录api?
- java - Quarkus:v.1.5.1 PgPoolpreparedQuery 带参数?
- c++ - 粒子系统:所有粒子都向同一个方向运动
- mysql - 比较一行中的两个值
- javascript - jQuery 需要 0ms 的超时时间才能在 vue.js 组件中查找元素
- xaml - Xamarin 表单滑块在绑定到时表现怪异
- python - 在条件下减去python中的两列