请问一下,我在onorder里写了一份撤单代码,当出现多头平仓信号时,对还未成交的多头开仓委托单进行撤单。代码如下,能够正常撤单。但是会碰到撤单时间间隔过短的问题,也就是提示:,撤单失败:未到同一委托撤单间隔(秒),权限间隔=5,当前间隔=0。这个提示虽然不影响实盘运作,但可能会收到期货公司和交易所的警告。那怎么样进行控制呢?
自己想了两种思路,一是加一个定时器用时间间隔偏移来控制撤单时间间隔设置为大于5秒,二是限定同一根BAR只能撤单一次。
但上述两种思路不知道怎么样写,能帮忙看一下吗?是否能在下面这份代码基础上帮我写一个简单的示例?
谢谢!
if(ord.symbol==RelativeSymbol and ord.side==Enum_Buy and ord.combOffset==Enum_entry)
{
a = ord.orderid;
print(\"buytime:\"+text(time));
print(\"a:\"+text(a));
}
if(ord.symbol==RelativeSymbol and (ord.status==Enum_declared or ord.status==Enum_declare or ord.status==Enum_Deleted) and (ord.side==Enum_sell or ord.side==Enum_ShortSelling) and (ord.combOffset==Enum_Exit or ord.combOffset==Enum_ExitToday))
{
A_DeleteOrderEx(a);
}
也就是说实盘环境并不会有个警告提示,是吗
这个警告是模拟盘的,实盘参考实盘环境
代码上讲尽量减少无效操作