跪求大神解答TBQ3平台策略中 OnOrder和OnFill不触发的问题

在 TBQuant3平台中编写代码; OnPosition(PositionRef pos) { Print("仓位更新了!----------");}; OnOrder(OrderRef ord) { Print("委托了!----------");}; OnFill(FillRef ordFill) { Print("成交了!---------");};使用模拟交易账户运行策略,自动委托订单也成交了,然后再k线控制台能看到 Print("仓位更新了!----------")输出语句,但 Print("委托了!----------")和Print("成交了!---------")不能输出,请问为什么,跪求指教。

OnReady() { //设置交易订阅范围 Bool ret = A_SetSubscribeTradeRange(Enum_Trade_Sub_All); Print("A_SetSubscribeTradeRange:" + IIFString(ret, "True", "False")); } 加上这一部分,应该就可以了。要订阅所有的交易单。

OnFill,OnOrder 说明你没有触发至于为什么提供的信息不足以分析

回复:在 OnBarClose(ArrayRef<Integer> indexs) { Print("第"+Text(tradeIndex)+"次底分型成立了>>>>>>>>>>>>>>>>>>>>>>>>>>>>>。"); Bool isOpenPosition = Buy(computeShouldBuyAmount(tradeIndex), Q_UpperLimit()); //以高价委托买入使用收盘价Close + 100 * MinPoint(跳))或者(当前策略应用商品的当日涨停板价Q_UpperLimit()) if(isOpenPosition) { Print("kkkkkkkkkkkkkkk本次开仓委托成功:" + IIFString(isOpenPosition,"True","False")+";委托仓位:" + Text(computeShouldBuyAmount(tradeIndex))+";涨停价委托:" + Text(Q_UpperLimit())+"。"); }}在 OnPosition(PositionRef pos) { Print("仓位更新了!----------"); Array<Integer> orderIds;//当前商品合约报单数组 Bool isOrder = A_GetOrderIDs(Symbol, orderIds, "", 0);If(isOrder){ Print("获取当前商品合约报单数组成功:" +IIFString(isOrder, "True", "False") + "," +"报单数组为:" + TextArray(orderIds)+"。"); Integer arraySize = GetArraySize(orderIds);//报单数组长度 Print("实际报单价为:" + Text(A_OrderPrice(arraySize-1, 0))+"。"); Fill fillValue; //获取指定报单的成交信息 Bool isFill = A_GetFill(orderIds[arraySize-1], 0, fillValue);//指定帐户下当前商品的最后一个当日委托单成交信息 If(isFill){ Print("获取指定报单的成交信息成功:" +IIFString(isFill, "True", "False") +";买卖方向为:" + Text(fillValue.side)+";成交价为:" + Text(fillValue.fillPrice)+";成交仓位:" + Text(fillValue.fillVolume)+"。");}} 以上输出语句都能正常输出,在模拟交易账户上查看委托记录,成交记录都能正常,但是OnFill,OnOrder 没有触发。跪求指教