oninit函数内部代码疑似执行了两次
公式加载到策略研究中,运行日志oninit函数的日志写了两次,如图:代码如下:Params String logDirPathAndName(C:TradeLogSelectFutureTrader);VarsDefsEvents //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { Array<String> waitFuturesArr; GetDicValue(TB_INDUSTRY,F1020080005,SystemDateTime,waitFuturesArr); FileAppend(logDirPathAndName + + selectFutureEvent,运行时间:+DateTimeToString(SystemDateTime)+,+TextArray(waitFuturesArr)+(全部)); Numeric i; for i=0 to GetArraySize(waitFuturesArr)-1{ SubscribeBar(waitFuturesArr[i],1d,DateAdd(20230627,-50),20230627);//这里需要订阅到数据 } } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { Integer datai; String myChosenSymbols = ; Range[datai=0:DataCount-1]{ FileAppend(logDirPathAndName + + selectFutureEvent,运行时间:+DateTimeToString(SystemDateTime)+,日期:+Text(Date+Time) +,Symbol:+Symbol+,datai:+text(datai)+,Close:+text(Close)+,ma:+text(Average(Close[1],20))+(选之中)); if(Close>Average(Close[1],20)){ myChosenSymbols = myChosenSymbols + Symbol + ,; } } //放到基础数据中去 FileAppend(logDirPathAndName + + selectFutureEvent, 运行时间:+DateTimeToString(SystemDateTime)+日期:+Text(Date+Time)+,myChosenSymbols:+myChosenSymbols+(选之后)); }