1. 问题: 通过调用A_OpenOrderEntryOrExit()函数,尝试获取未成交委托的开平仓状态,结果返回值是4,不是 下面(1、5、7)中的 一个。4代表什么状态?
Enum_Entry | Integer | 1 | 返回开平仓状态的开仓枚举值 |
Enum_ExitToday | Integer | 5 | 返回开平仓状态的平今仓枚举值 |
Enum_Exit | Integer | 7 | 返回开平仓状态的平仓枚举值 |
2. 代码:
Array<Integer> orderIds;
Integer i;
Integer buyOrSell;
Integer entryOrExit;
Bool ret = A_GetUnFillOrderIDs(symbol,orderIds, , myAccountIndex);
For i = 0 To GetArraySize(orderIds) - 1
{
buyOrSell = A_OpenOrderBuyOrSell(i,myAccountIndex);
entryOrExit = A_OpenOrderEntryOrExit(i,myAccountIndex);
FileAppend(LogFileName,Text(SystemDateTime)+,+Symbol+OnTimer:buyOrSell=+Text(buyOrSell)+,entryOrExit=+Text(entryOrExit));
}
3. 输出日志:
4也是平仓,但是没有展示。一般报单时用5和7就够了,用4反而更容易出错
清楚了。报单的时候用的是A_BuyToCover(Symbol, Lots, Q_AskPrice, orders, \"\", \"\"),但是获取状态的时候是4,因为帮助文档没有定义4的返回状态,导致处理时遗漏了.
建议在帮助文档中增加这个状态描述,避免用户处理不全,而导致损失。