主连合约888用A_DeleteOrder撤单不成功
实验代码如下: Params //此处添加参数 Vars //此处添加变量 Global Integer Ordered; Global Integer OrderId; Global String gMapSymbol; Defs //此处添加公式函数 Events //此处实现事件函数 //初始化事件函数,策略运行期间,首先运行且只有一次 OnInit() { } OnReady() { Array<String> Symbols; GetLayerOrderMapSymbols(Symbols); gMapSymbol = Symbols[0]; } OnTimer(Integer id,Integer millsecs) { Bool Ret = A_DeleteOrder(OrderId); FileAppend("C:\\debug.txt", Text(SystemDateTime) + gMapSymbol + " ====delet:OrderId:" + Text(OrderId) + ",Ret:" + IIFString(Ret, "True", "False")); } //Bar更新事件函数,参数indexs表示变化的数据源图层ID数组 OnBar(ArrayRef<Integer> indexs) { If(Ordered == 0) { Ordered = 1; Array<Integer> OrderIds; A_SendOrderEx(gMapSymbol, Enum_Buy, Enum_Entry, 2, 0, OrderIds); OrderId = OrderIds[0]; FileAppend("C:\\debug.txt", Text(SystemDateTime) + gMapSymbol + " ==== OrderId:" + Text(OrderId)); CreateTimer(5000, 0, 1); } } 现象:映射主力合约,下单能成功,5S后撤单不成功(但是Ret的值照样为True)。如果直接加载在具体合约上,撤单成功。 问题:系统是不是要加一个函数对具体合约撤单,把gMapSymbol传进去。