VeighNa量化社区
你的开源社区量化交易平台
Member
加入于:
帖子: 60
声望: 1

description

之前也出现过同一个策略两个指标不同的问题,已经重装最新版vnpy
print了每一根bar的该指标的数值出来,初始化途中没有问题,但是初始化完成,即使没有按start都是不同的
因为我round了指标,所以肯定是不对的
请问是什么原因呢?

最奇怪的是,这个问题只有在初始化才会会出现,一般等实盘发生指标更新了,就会正常?

查了下,直接调用了关机之前的记录 strategy_data.Jason,没有因为初始化而更新?请问这是为什么呢?

Member
avatar
加入于:
帖子: 537
声望: 28

初始化流程如下:

  1. 界面点击【初始化】按钮
  2. 触发策略的on_init回调函数
  3. on_init中调用load_bar加载数据
  4. on_bar收到初始化阶段的K线推送
  5. 推送完成,加载json文件中缓存的昨日收盘策略状态
  6. 完成初始化

所以你这里的情况可能是json文件中的缓存数据有误,导致初始化K线回放计算出来的指标结果,被错误覆盖了。

Member
加入于:
帖子: 60
声望: 1

MTF wrote:

初始化流程如下:

  1. 界面点击【初始化】按钮
  2. 触发策略的on_init回调函数
  3. on_init中调用load_bar加载数据
  4. on_bar收到初始化阶段的K线推送
  5. 推送完成,加载json文件中缓存的昨日收盘策略状态
  6. 完成初始化

所以你这里的情况可能是json文件中的缓存数据有误,导致初始化K线回放计算出来的指标结果,被错误覆盖了。

但是vnpy是新重装过的,而json文件也删除过了,但是这个问题依然存在?

Member
avatar
加入于:
帖子: 716
声望: 55

这个初始化流程是在你每次初始化策略时都会进行一次的。第一次运行时第五步时无法加载到数据的,所以是直接用的计算数据,之后都是会使用json数据覆盖计算结果,并且每次退出后都会生成新的json。因为vnpy默认使用者是连续交易的,即在前一天收盘后关闭vnpy,在第二天开盘前打开vnpy,那么数据就应该是连续的。所以当前的初始化结果和之前的json存储的结果应该是一致的。

Member
加入于:
帖子: 60
声望: 1

郭易燔 wrote:

这个初始化流程是在你每次初始化策略时都会进行一次的。第一次运行时第五步时无法加载到数据的,所以是直接用的计算数据,之后都是会使用json数据覆盖计算结果,并且每次退出后都会生成新的json。因为vnpy默认使用者是连续交易的,即在前一天收盘后关闭vnpy,在第二天开盘前打开vnpy,那么数据就应该是连续的。所以当前的初始化结果和之前的json存储的结果应该是一致的。

对,我之前的策略也是这样,但是这个策略因为是断点更新,所以会bug
请问可以调成每次强行重新运算吗,不然为啥要初始化呢?

Member
avatar
加入于:
帖子: 101
声望: 8

arnego wrote:

郭易燔 wrote:

这个初始化流程是在你每次初始化策略时都会进行一次的。第一次运行时第五步时无法加载到数据的,所以是直接用的计算数据,之后都是会使用json数据覆盖计算结果,并且每次退出后都会生成新的json。因为vnpy默认使用者是连续交易的,即在前一天收盘后关闭vnpy,在第二天开盘前打开vnpy,那么数据就应该是连续的。所以当前的初始化结果和之前的json存储的结果应该是一致的。

对,我之前的策略也是这样,但是这个策略因为是断点更新,所以会bug
请问可以调成每次强行重新运算吗,不然为啥要初始化呢?
如果要每次都重新计算指标,那么就不要把变量存放到variables列表里,这样就不会从本地json加载过去的指标数据了。

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

沪公网安备 31011502017034号

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