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

实盘初始化时,bar数据类型出错,不是float,而是str

Traceback (most recent call last):

File "d:\vnstudio\lib\site-packages\vnpy_ctastrategy\engine.py", line 633, in call_strategy_func

func()

File "C:\Users\asus_pc\strategies\ThreeLine_Demo.py", line 109, in on_init

self.load_bar(10)

File "d:\vnstudio\lib\site-packages\vnpy_ctastrategy\template.py", line 315, in load_bar

use_database

File "d:\vnstudio\lib\site-packages\vnpy_ctastrategy\engine.py", line 600, in load_bar

callback(bar)

File "C:\Users\asus_pc\strategies\ThreeLine_Demo.py", line 206, in on_bar

self.bg.update_bar(bar)

File "d:\vnstudio\lib\site-packages\vnpy\trader\utility.py", line 266, in update_bar

self.update_bar_minute_window(bar)

File "d:\vnstudio\lib\site-packages\vnpy\trader\utility.py", line 303, in update_bar_minute_window

self.on_window_bar(self.window_bar)

File "C:\Users\asus_pc\strategies\ThreeLine_Demo.py", line 225, in on_5minute_bar

if abs(bar.close_price-bar.open_price) > self.atr_value:  

TypeError: unsupported operand type(s) for -: 'str' and 'str'

对应的原码部分: if abs(bar.close_price-bar.open_price) > self.atr_value:

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

description

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

传过来的bar数据 都不是barDate类型,都变成str, 导致不能加减运算 ,不知道什么原因。有遇到的朋友,帮忙解释下,谢谢

Member
avatar
加入于:
帖子: 2747
声望: 190

请问你的vnstudio版本是?请问你是如何把数据存进数据库的?

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

xiaohe wrote:

请问你的vnstudio版本是?请问你是如何把数据存进数据库的?

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

本人菜鸟,2.7版本的,数据我是没有处理,直接采用配置文件的sqlite默认的

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

卷毛酥 wrote:

xiaohe wrote:

请问你的vnstudio版本是?请问你是如何把数据存进数据库的?

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

我是用恒有数数据,我看恒有数的文档,发现盘后分钟切片类型是string而不是,而实盘中ctaengine中的load_bar,用到了self.query_bar_from_datafeed,会不会是直接从恒有数取的string类型的价格,使用恒有数回测的时候没有问题,backtesting中用的是load_data,是从database.load_bar_data,数据库是不是把从恒有数下的数据的类型给改成float了?实盘时是直接从恒有数取数据导致错误呢?

Administrator
avatar
加入于:
帖子: 4467
声望: 302

收到,我们这边来排查下

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

沪公网安备 31011502017034号