代码如下:
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变到整数试试,我研究下这个代码
应该没有区别吧,小数后几位都是可以显示的
您好,研究出来什么问题了吗
输出最后停在哪个时间戳
停在开盘后两秒钟,这个没有问题