VeighNa量化社区
你的开源社区量化交易平台
bljvvijj's Avatar
Member
离线
29 帖子
声望: 0

下图中同时在运行的策略rb2210合约就是正常的,MA209合约行情录制就断掉了,数据库中去检索也确实没录上,也没有报错,有大神知道是什么原因嘛。
description

我把paper_account_data.json文件列表中的内容清空了就好了。

MTF wrote:

出现数量为负的持仓量,用的是什么版本?

2.9版

mark

为啥我这个y2205合约无法平仓呢?手动下单也不行。下单就报错,有大神知道问题出在哪里了嘛?
description
Traceback (most recent call last):
File "D:\VNPY\Lib\site-packages\vnpy\trader\ui\widget.py", line 969, in send_order
self.main_engine.send_order(req, gateway_name)
File "D:\VNPY\Lib\site-packages\vnpy_paperaccount\engine.py", line 191, in send_order
active_orders = self.active_orders[order.vt_symbol]
KeyError: 'y2205.DCE'

怎么加呢?我自己加了一个跑回测没问题,跑实盘模拟就不行报错,AttributeError: 'CtaEngine' object has no attribute 'get_size'。
我自己是参照 def get_pricetick(self)加的

def get_size(self):
    return self.cta_engine.get_size(self)

以上回复也不完全对,self.load_bar(7)中的参数包含周末,所以参数要比self.am_daily = ArrayManager(size=7)中的size参数大两三天就行了。

终于找到原因了,self.load_bar(7)中的参数7是7个自然日是包含周末的,self.am_daily = ArrayManager(size=7)中的size=7是7根日K线,所以在ArrayManager中的self.count+=1初始化的时候7个自然日只能产生5根K线,5小于size的参数7,就无法初始化,需要策略挂两天后才能满足初始化的条件,self.count需要改成+=3或者更大的数来保证ArrayManager初始化成功。
description

MTF wrote:

在on_daily_bar函数第一行,print(bar)来打印下,先排查下是否有日K线合成出来了

回测是没有问题的,挂策略跑的时候就不行。

description

description

description

sqlite里录制的数据量也是够的

description

是什么原因呢?有大师知道吗?

为啥我这个回测策略初始化还未完成,就开始产生交易信号了?
description

xiaohe wrote:

目前可以先用run.py启动,在add_app加载模块的时候把加载paper_account放在app的最前面试试

感谢大神,已经解决了。我再补充详细一点吧免得有些跟我一样的小白找很久才找到位置,在文件Lib\site-packages\vnstation\info.py文件中APP_INFO列表里面PaperAccount移到SpreadTrading前面(也就是放在app的最前面)再重新启动就可以了。
description

description
为什么我每次重启VNPY订阅的行情都是失败,要重新手动去加载一遍。

郭易燔 wrote:

删除用户名目录下的的.vntrader文件夹就可以了。重装是无法删除.vntrader文件夹的,需要手动删除。界面实现可能是开了1.5倍缩放功能,改成100%会好一点。

谢谢 已经解决了。

xiaohe wrote:

请删除.vntrader文件夹下对应的json文件,再重启。你这个应该是删除cta_strategy_data.json。如果删除重启还报同样的错,建议检查一下策略参数的类型。检查一下策略里是否有把str\bool\int\float以外的变量名,写到了parameters列表中,json文件保存不了这四种基础数据以外的类型,就会出错

新下载的也不行。。。

xiaohe wrote:

请删除.vntrader文件夹下对应的json文件,再重启。你这个应该是删除cta_strategy_data.json。如果删除重启还报同样的错,建议检查一下策略参数的类型。检查一下策略里是否有把str\bool\int\float以外的变量名,写到了parameters列表中,json文件保存不了这四种基础数据以外的类型,就会出错

谢谢回复,现在直接是VNPY更新失败后也打不开了,我下载了新的版本安装,结果免责声明弹出来的对话框太大了,我用笔记本电脑都点不到下面的同意按钮,建议软件多做一下屏幕自动适配方面的修订,之前进去用的时候也是各种功能窗口挤在一起都看不了。

Traceback (most recent call last):
File "d:\vn\lib\site-packages\vnpy\trader\ui\mainwindow.py", line 281, in open_widget
widget = widget_class(self.main_engine, self.event_engine)
File "d:\vn\lib\site-packages\vnpy_ctastrategy\ui\widget.py", line 38, in init
self.cta_engine.init_engine()
File "d:\vn\lib\site-packages\vnpy_ctastrategy\engine.py", line 112, in init_engine
self.load_strategy_data()
File "d:\vn\lib\site-packages\vnpy_ctastrategy\engine.py", line 831, in load_strategy_data
self.strategy_data = load_json(self.data_filename)
File "d:\vn\lib\site-packages\vnpy\trader\utility.py", line 100, in load_json
data = json.load(f)
File "d:\vn\lib\json__init.py", line 296, in load
parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
File "d:\vn\lib\json\
init__.py", line 348, in loads
return _default_decoder.decode(s)
File "d:\vn\lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "d:\vn\lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 67 column 20 (char 1409)

跟29楼一样的问题,为什么计算K线的时候最新一根K线的收盘价不用呢?这样的话信号就晚了一根K线才发出,是有什么原因嘛?

self.fast_ma = am.close_array[-self.fast_window:-1].mean()
self.fast_ma_pre = am.close_array[-self.fast_window - 1:-2].mean()
请问一下计算均线为啥最新的数据不用呢,譬如self.fast_ma = am.close_array[-self.fast_window:].mean()这样写行不行呢

© 2015-2022 微信 18391752892
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】