之前也出现过同一个策略两个指标不同的问题,已经重装最新版vnpy
print了每一根bar的该指标的数值出来,初始化途中没有问题,但是初始化完成,即使没有按start都是不同的
因为我round了指标,所以肯定是不对的
请问是什么原因呢?
最奇怪的是,这个问题只有在初始化才会会出现,一般等实盘发生指标更新了,就会正常?
查了下,直接调用了关机之前的记录 strategy_data.Jason,没有因为初始化而更新?请问这是为什么呢?
之前也出现过同一个策略两个指标不同的问题,已经重装最新版vnpy
print了每一根bar的该指标的数值出来,初始化途中没有问题,但是初始化完成,即使没有按start都是不同的
因为我round了指标,所以肯定是不对的
请问是什么原因呢?
最奇怪的是,这个问题只有在初始化才会会出现,一般等实盘发生指标更新了,就会正常?
查了下,直接调用了关机之前的记录 strategy_data.Jason,没有因为初始化而更新?请问这是为什么呢?
初始化流程如下:
所以你这里的情况可能是json文件中的缓存数据有误,导致初始化K线回放计算出来的指标结果,被错误覆盖了。
MTF wrote:
初始化流程如下:
- 界面点击【初始化】按钮
- 触发策略的on_init回调函数
- on_init中调用load_bar加载数据
- on_bar收到初始化阶段的K线推送
- 推送完成,加载json文件中缓存的昨日收盘策略状态
- 完成初始化
所以你这里的情况可能是json文件中的缓存数据有误,导致初始化K线回放计算出来的指标结果,被错误覆盖了。
但是vnpy是新重装过的,而json文件也删除过了,但是这个问题依然存在?
这个初始化流程是在你每次初始化策略时都会进行一次的。第一次运行时第五步时无法加载到数据的,所以是直接用的计算数据,之后都是会使用json数据覆盖计算结果,并且每次退出后都会生成新的json。因为vnpy默认使用者是连续交易的,即在前一天收盘后关闭vnpy,在第二天开盘前打开vnpy,那么数据就应该是连续的。所以当前的初始化结果和之前的json存储的结果应该是一致的。
郭易燔 wrote:
这个初始化流程是在你每次初始化策略时都会进行一次的。第一次运行时第五步时无法加载到数据的,所以是直接用的计算数据,之后都是会使用json数据覆盖计算结果,并且每次退出后都会生成新的json。因为vnpy默认使用者是连续交易的,即在前一天收盘后关闭vnpy,在第二天开盘前打开vnpy,那么数据就应该是连续的。所以当前的初始化结果和之前的json存储的结果应该是一致的。
对,我之前的策略也是这样,但是这个策略因为是断点更新,所以会bug
请问可以调成每次强行重新运算吗,不然为啥要初始化呢?
arnego wrote:
郭易燔 wrote:
这个初始化流程是在你每次初始化策略时都会进行一次的。第一次运行时第五步时无法加载到数据的,所以是直接用的计算数据,之后都是会使用json数据覆盖计算结果,并且每次退出后都会生成新的json。因为vnpy默认使用者是连续交易的,即在前一天收盘后关闭vnpy,在第二天开盘前打开vnpy,那么数据就应该是连续的。所以当前的初始化结果和之前的json存储的结果应该是一致的。
对,我之前的策略也是这样,但是这个策略因为是断点更新,所以会bug
请问可以调成每次强行重新运算吗,不然为啥要初始化呢?
如果要每次都重新计算指标,那么就不要把变量存放到variables列表里,这样就不会从本地json加载过去的指标数据了。