延迟反手教学视频中的代码不停报错

软件是TBQ3. https://www.bilibili.com/video/BV1bh4y1q77L/?spm_id_from=333.1387.search.video_card.click&vd_source=6e32573a18ddf50c500e2c1e94fd16a7 从延迟反手视频中抄下了下面的代码. 复制到策略里点启动交易后。 几秒内弹出了整整3页消息.是哪里漏了吗。 Vars global Array<signal>signals_book;//延迟反手 Events OnReady(){PrintClear;} OnSignal(ArrayRef<Signal>sigs) { Print("bartime:"+TimeToString(time)); Numeric i; for i = 0 to GetArraySize(sigs)-1 { If(sigs[i].comboffset == Enum_Entry) //检查一下有没有未成交委托单 { If(A_GetOpenOrderCount() == 0) { Array<Integer>orderids; A_SendOrderEx(data[sigs[i].index].Symbol, sigs[i].side, sigs[i].comboffset, sigs[i].volume, sigs[i].price, orderids); }Else { //把信号做一个记录,等到后面成交以后再发单 ArrayPushBack(signals_book, sigs[i]); } }Else { Array<Integer>orderids; A_SendOrderEx(Data[sigs[i].index].Symbol, sigs[i].side, sigs[i].comboffset, sigs[i].volume, sigs[i].price, orderids); } } } OnFill(FillRef ordFill) { //检查以下还有没有未成交单 If(A_GetOpenOrderCount()<>0) { Return; }Else { If (GetArraySize(signals_book)<>0) { Numeric i; for i = 0 to GetArraySize(signals_book) - 1 { Array<Integer>orderids; A_SendOrderEx(data[signals_book[i].index].Symbol, signals_book[i].side, signals_book[i].comboffset, signals_book[i].volume, signals_book[i].price, orderids); } ArrayClear(signals_book); } } }

tbq3下历史信号也报单了。自己做个过滤吧,没有启动自动交易之前不执行onsignal里的报单代码