最近交易所再次调整申报收费标准,相关收费标准和申报量有关,请问查询当天期货交易的申报量用什么函数查询?
函数A_GetorderCount
是返回账户下当前商品的当日委托单数量(申报单),是不是不包括所有商品的委托单?
Events
OnInit(){
A_SubscribeTradeByCreateId(Enum_Trade_Source_ALL);
SetOrderMap2MainSymbol(); //如果数据源 是 不可交易的指数、连续合约
}
OnBar(ArrayRef<Integer> indexs){
PrintClear;
If(BarStatus != 2) Return;
If(Mod(CurrentBar, 2) == 0){
Buy(1, Open);
}Else{
Sell(0, Open);
}
Integer orderCount;
Array<Integer> ids;
//(1)如果只有1个资金账号 且 数据源为可交易的商品合约
Range[0 : DataSourceSize - 1]{
print(\"----------------------------\");
Print(\"资金账号:\" + A_AccountID(0) + \",合约:\" + Symbol);
orderCount = A_GetOrderCount(0);
Print(\"当日委托申报数量:\" + Text(orderCount));
}
//(2)如果只有1个资金账号 且 数据源为不可交易的指数、连续合约
Range[0 : DataSourceSize - 1]{
print(\"----------------------------\");
Print(\"资金账号:\" + A_AccountID(0) + \",合约:\" + MainSymbol);
ArrayClear(ids);
A_GetOrderIDs(MainSymbol, ids, \"\", 0);
Print(\"当日委托申报数量:\" + Text(GetArraySize(ids)));
}
Integer i;
//(3)如果关联多个资金账号 且 数据源为可交易的商品合约
For i = 0 To A_AccountCount - 1{
print(\"*********************************\");
Range[0 : DataSourceSize - 1]{
print(\"----------------------------\");
Print(\"资金账号:\" + A_AccountID(i) + \",合约:\" + Symbol);
orderCount = A_GetOrderCount(i);
Print(\"当日委托申报数量:\" + Text(orderCount));
}
}
//(4)如果关联多个资金账号 且 数据源为不可交易的指数、连续合约
For i = 0 To A_AccountCount - 1{
print(\"*********************************\");
Range[0 : DataSourceSize - 1]{
print(\"----------------------------\");
Print(\"资金账号:\" + A_AccountID(i) + \",合约:\" + MainSymbol);
ArrayClear(ids);
A_GetOrderIDs(MainSymbol, ids, \"\", 0);
Print(\"当日委托申报数量:\" + Text(GetArraySize(ids)));
}
}
}
4种情况,根据自己的实际情况选用。如果数据源为指数、连续时,需要自己进一步测试确认是否包含非当日的历史委托单数量,如果包含历史委托单的话,还需要增加筛选判断的处理。
竟然凌晨就快速回复了,非常感谢您!
不客气,大家都是同学,互帮互助,因为网课看完有点晚了。
函数A_GetorderCount
是账户下当前商品的当日委托单数量(申报单),是不是不包括所有商品的委托单?