关于MQ的撤单问题我一直不是很清楚,您是否可以给我举点例子,
1我现在在程序中,多空双方委托单,多空持仓单都有,怎么能识别多头委托单,怎么能判断现在多头委托是否撤单(以及撤单的数量),怎么能判断现在撤单已经发出了一个(现在经常撤单连续撤),怎么获得委托单的序列号(这个我一直不会),怎么应用序列号撤单,多谢,问题有点多哈,这些困扰我好多天了
原帖中使用F_OpenOrderContractNo函数去的就是合同号,这里原帖的编写撤单部分都是没有问题
取撤单数量使用F_OrderCanceledLot(Index)函数就可以
连续撤单问题,可以使用全局变量控制一下只撤一次单
存入索引值之前的编写BKID等是没有问题的,不过需要使用Global_Numeric函数定义变量
与您编写的编写有关,取撤单数量要取撤单委托的索引值
稍候给您编写参考
参考:
Vars
Global_Numeric BKFLG;
Global_Numeric BKID;
Global_Numeric CJJG;
Global_Numeric SKID;
Numeric AAA;
Global_Numeric TTT;
Global_Numeric YYY;
Numeric TT1;
Numeric SUOCANG;
Begin
AAA=Time>=0.090000 &&Time<=0.145700;//时间9.30-11.00
If( AAA==1&& Second>=50 &&Second<52&& F_BuyPosition==0 &&F_GetOpenOrderCount ==0)//秒周期
{
BKID=A_SendOrder(Enum_Buy,Enum_Entry,1,Price("Bid1")) ;//
TTT=CurrentTime();
BKFLG=1;
SetGlobalVar(1,0);
}
If (F_OrderStatus(BKID)==Enum_Filled && F_BuyPosition==1 )
{
CJJG=F_OrderFilledPrice(BKID);
SKID=A_SendOrder(Enum_sell,Enum_Exit,1,CJJG+2*MinPrice);
}
If(Close<CJJG-10*MinPrice && F_BuyRemainPosition() > 0)//若有多头持仓,则以停板价处理持仓
{
SUOCANG = A_SendOrder(Enum_sell,Enum_entry,1,Price("Falllimit"));
}
If(CurrentTime-TTT>0.00020 && F_OrderStatus(BKID)!=Enum_Filled&&GetGlobalVar(1)==0)
{
F_DeleteOrder(F_OpenOrderContractNo(BKID));
SetGlobalVar(1,1);
}
End


