集合竞价结束,alert重复运行
昨天又遇到了同样的问题,alert同一根bar上一下发送了很多条,如下图:然后今早我写了个代码测试了一下,复现了。代码如下:Params //此处添加参数 Vars //此处添加变量 Series<Integer> bar_in_day;//日内k线计数 Global Integer gAlert(0); // 跨所有图层共享 Defs //此处添加策略函数 Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { SubscribeBar(Data0.Symbol,"1d",data0.BeginDatetime,Data0.EndDateTime);//订阅多周期的数据源 } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { If(TrueDate(0)<>TrueDate(1)) { bar_in_day = 0; } bar_in_day = bar_in_day + 1; //自己计数 //当日开盘直接开 if(bar_in_day == 1) { if(BarStatus == 2) { Buy(1,Open); Alert("公式" + FormulaName + ":" + "警报测试"); //警报 gAlert = gAlert + 1; FileAppend("C:\\tbfile\\模板.tbf", TimeToString(date+Time)); FileAppend("C:\\tbfile\\模板.tbf", text(gAlert)); } } }alert重复了4次:我总结出一个结论:集合竞价完成后,也就是早盘08:59,策略里面有几个图层,alert就会重复几次。上面实盘上我一共加载了16个图层,所以重复了16次,测试代码我一共加载了4个图层,所以重复了4次。但只要过了08:59这个点,第一根bar以后,不管有几个图层,alert就只出现一次,不会重复。请问老师造成这种情况的原因是什么?我的alert和buy、sell等写在一起的,这种情况会不会对交易造成影响?以我的测试代码为例,怎么改alert就不会重复了?