关于rerun和restart运行机制的问题
关于rerun和restart在公式中运用遇到了一些困惑: 公式如下: Params //此处添加参数 Vars //此处添加变量 Global Integer count(0); GloBal Bool flag(False); Defs //此处添加公式函数 Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { count = count + 1; Print("OnInit,count:" + Text(count)); } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { Print("bar"); If(BarStatus==2) { count = count + 1; Print("Onbar2,count:" + Text(count)); if(!flag) { ReRun(); Print("ReRun"); flag = True; } Print("rerun后面"); } } 在K线图中加载公式,如图: 出现不能理解的问题: 1.仅仅加载了5根K线,但是输出的"bar"信息却有9条? 2.为什么会执行rerun后面的语句呢?rerun只会重新执行最后一根bar吗?rerun的运行机制到底是怎样呢? 3.可以将公式中的rerun换成restart,发现restart后面的语句也会执行?