问题说明:
- 在一个策略公式里将字符串写入一个非持久化的dic变量
- 在另一个策略公式里读取并写入日志文件,两个策略都放在同一个策略单元里运行
- 在【图表模式】和【策略运行】模式下都可以正常运行,但是【策略优化】模式下就读取不到信息
- 使用的是TBQ3 3.2.13
- 测试代码在附件里,改一下后缀名导入即可
设置和运行截图如下:
先加载sbx_dic_cross_write, 再加载sbx_dic_cross_read
日志文件结果
是用的getdicvalue查询的吗?函数列表看过吗?
谢谢老师提醒
按照老师的提醒修改了代码,在附件里的sbx_dic_cross_read策略公式的var里面添加了Dic变量的定义且与sbx_dic_cross_write中的定义一致,结果在【策略研究】下运行依然读取不到数据,截图如下,麻烦老师再看帮忙看一下呢
先试试oninit里订阅基础数据
尝试了在OnInit里订阅了基础数据,图表可以工作,但策略研究依然不行,请看截图
额外说明下:
我的问题是要访问自己定义的非持久化Dic变量,对于持久化的情况我之前就测试过,既不需要在Var里定义甚至不需要订阅都可以直接访问的。但持久化因为是异步写入,在read公式里不能及时获得更新,用在策略里会出问题,其它人也发帖提过,比如这个 https://bbs.tbquant.net/thread/20250124112334529398