vn.py官网
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 4
声望: 0

description

description

已经订阅行情了

Member
avatar
加入于:
帖子: 1
声望: 0

有进展么?我也无法下载数据

Member
avatar
加入于:
帖子: 30
声望: 0

请问解决了吗?我跟你一样的问题。

Member
avatar
加入于:
帖子: 2788
声望: 189

请问下载之前订阅行情了吗?

Member
avatar
加入于:
帖子: 30
声望: 0

我订阅了实时行情,在tws里面也可以看到ES的实时行情啊,还需要订阅什么其他的行情吗?

Member
avatar
加入于:
帖子: 2788
声望: 189

在vnpy图形界面选好货币、产品这些后,是否在合约代码栏上回车执行了订阅操作?

Member
avatar
加入于:
帖子: 30
声望: 0

已订阅。如图

description

Member
avatar
加入于:
帖子: 30
声望: 0

看了下是这个contract为NULL。
合约已经订阅成功,请问为何这个contract为空呢?
description

Member
avatar
加入于:
帖子: 2788
声望: 189

要调用contractDetails函数才能把合约信息放入self.contracts里,才能通过get_contract函数获取信息。

description
看你的图,名称那里空的,就是vnpy这边还没有信息放进self.contracts里

description
订阅行情之后,需要点击查询合约(如果订阅了,留空即可)才能把合约信息放进self.contracts里

description
然后重启vnpy即可

Member
avatar
加入于:
帖子: 30
声望: 0

查询成功,但是“名称” 这个输入框里面还是没有内容啊
查询窗口里面也没有什么操作按钮,怎么才能添加到 “名称”呢?

Member
avatar
加入于:
帖子: 2788
声望: 189

查询成功是指,合约查询窗口里有内容了是吗?

Member
avatar
加入于:
帖子: 30
声望: 0

description

Member
avatar
加入于:
帖子: 30
声望: 0

代码中看到contracts是又这个合约的。但是没有看到代码去更新到主界面这个“名称” 输入框啊。
另外,我看到代码中是用这个文件ib_contract_data.db来保存合约的,但是 我在C:\Users\jameslai.vntrader下面没有看到这个文件
jameslai: show all contracts
[ContractData(gateway_name='IB', symbol='ES-20210319-USD-FUT', exchange=<Exchange.GLOBEX: 'GLOBEX'>, name='E-\xc3\xd4\xc4\xe3\xb1\xea\xc6\xd5500ָ\xca\xfd-E-mini S&P 500', product=<Product.FUTURES: '期货'>, size='50', pricetick=0.25, min_volume=1, stop_supported=True, net_position=True, history_data=True, option_strike=0, option_underlying='', option_type=None, option_expiry=None, option_portfolio='', option_index='')]

description

Member
avatar
加入于:
帖子: 2788
声望: 189

请问你查询成功之后重启了吗?查询合约就是去self.contracts里取合约信息,那说明是有的,如果重启了还没有的话,建议你去load_contract_data函数下打印一下self.contracts看看

Member
avatar
加入于:
帖子: 30
声望: 0

好像ES这个品种不行。我试了试EUR-USD,没有找不到合约的错误,报下面这个日期格式错误。
ES这个品种有啥特殊的么?

Traceback (most recent call last):
File "E:\james\vn\vnpy-master\vnpy\app\data_manager\ui\widget.py", line 590, in download
count = self.engine.download_bar_data(symbol, exchange, interval, start)
File "E:\james\vn\vnpy-master\vnpy\app\data_manager\engine.py", line 217, in download_bar_data
req, contract.gateway_name
File "E:\james\vn\vnpy-master\vnpy\trader\engine.py", line 216, in query_history
return gateway.query_history(req)
File "E:\james\vn\vnpy-master\vnpy\gateway\ib\ib_gateway.py", line 219, in query_history
return self.api.query_history(req)
File "E:\james\vn\vnpy-master\vnpy\gateway\ib\ib_gateway.py", line 766, in query_history
delta = end - req.start
TypeError: can't subtract offset-naive and offset-aware datetimes

Member
avatar
加入于:
帖子: 2788
声望: 189

报这个错应该是有时区的datetime和没有时区的datetime相减导致的,下个版本会进行修复的。请先用cta_backtester模块下载数据吧

Member
avatar
加入于:
帖子: 86
声望: 4

description

description

我碰到同样的问题,已经订阅了原油,但不显示名称。cta策略里面,显示订阅失败,不能加载数据

Member
avatar
加入于:
帖子: 2788
声望: 189

请问在合约查询里能找到这个合约的名字吗?

Member
avatar
加入于:
帖子: 86
声望: 4

xiaohe wrote:

请问在合约查询里能找到这个合约的名字吗?

查不到啊,图片上有显示。
我刚刚换了台电脑,还是这样的问题

我已经付费在tws中购买了行情数据。我的原油数据不是延时数据。

Member
avatar
加入于:
帖子: 2788
声望: 189

请在图形界面上执行一下订阅操作再去查询该合约的名字试试,建议可以在接口的subscirbe和contractDetails函数下做相应的打印进行排查

© 2015-2019 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号-3

沪公网安备 31011502017034号