各位老师、大佬,请教一个问题:一个日内1s策略,程序中未涉及到时间相关参数或函数,先是在电脑1中对一日数据进行回测,发现信号不对(中间很长一段时间一直有1手持仓未平,头尾两端信号又正常,重启电脑1后中间信号有部分恢复,但后段信号也不正常),用电脑2采用完全一样设置回测信号正常。如图。
电脑1的问题是什么原因导致呢?
有全局变量?
谢谢,参数(电脑2直接复制电脑1公式编译)一样,本金、保证金、手续费、滑点设置也都一样,样本数都设置为同一天9:00~15:00,相信电脑不会出错,肯定是代码或设置问题,目前还没找到原因。但对电脑1在同样的公式同样的设置重启前后运行信号不一样有点不解,会不会因电脑运行程序较多存储指针数据会有不同?
这说明你的程序可能存在信号闪烁情况。
因为onbar的运行机制,在历史bar上和实时bar上是不一样的。历史bar只以收盘状态运行一次,实时bar是每tick运行一次。刷新前,每根bar都是按每tick运行一次的路径,刷新以后就变成按收盘状态运行一次的路径。运行路径不一样了,如果策略逻辑没有做对应的处理,那就可能发生这种信号不一样的问题。
逐一核对。
公式代码,参数,策略单元设置里手续费,滑点,保证金率,样本数量,k线数据
如果全都一样,不可能会有差别的。
代码问题 或者设置问题
图表本金够吗