开盘前或集合竞价阶段currenttime判断错误

代码如下: Params //此处添加参数 Vars //此处添加变量 Defs //此处添加公式函数 Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { If(BarStatus==2 And (Time==0.2100 Or Time==0.0900 Or Time==0.0930 Or Time==0.1300 Or Time==0.1330) And CurrentTime>=Time And CurrentTime<=Time+0.000002) {FileAppend("C:\\bbb",text(BarsSinceEntry)+":"+Text(CurrentTime)+"重启"+Text(Time)); ReRun();} If(BarStatus==2 And (Time==0.2100 Or Time==0.0900 Or Time==0.0930 Or Time==0.1300 Or Time==0.1330) And CurrentTime>=Time And CurrentTime<=Time+0.000002) {FileAppend("C:\\bbb",text(BarsSinceEntry)+":"+Text(CurrentTime)+"rerun后"+Text(Time));} } //================================ 运行:加载在任意品种的半小时周期上 运行记录结果: 问题: 发现在开盘前或集合竞价阶段,并不满足if条件,CurrentTime>=Time And CurrentTime<=Time+0.000002,但是还是发生了记录,请问这是什么原因呢?

没有问题,你检查一下输出的内容是不是最新

你把time*100000变到整数试试,我研究下这个代码

回复:应该没有区别吧,小数后几位都是可以显示的

回复:您好,研究出来什么问题了吗

输出最后停在哪个时间戳

回复:停在开盘后两秒钟,这个没有问题