onorder只对平仓进行了判断,可是实时交易中,开仓的委托价格也发生了变化(跟不加onorder函数时相比)。单元设置和交易助手都没有修改,
OnOrder(OrderRef ord)
{
If (ord.note==\"可平仓位不足\" and (ord.combOffset==Enum_Exit or ord.combOffset==Enum_ExitToday)){
For i = 0 To A_AccountCount - 1{
String id = A_AccountID(i);
Numeric account_long_pos = A_BuyPosition(i); //账户多头持仓
Numeric account_short_pos = A_SellPosition(i); //账户空头持仓
Integer i;
If (ord.side==1 and ord.combOffset==5){ // 空头平今仓
A_SendOrder(Enum_Buy, Enum_ExitToday, account_short_pos, Q_AskPrice); //账户空头平仓
}
Else If( ord.side==1 and ord.combOffset==7) { //空头平仓
A_SendOrder(Enum_Buy, Enum_Exit, account_short_pos, Q_AskPrice); //账户空头平仓
}
Else If (ord.side==2 and ord.combOffset==7){ // 多头平今仓
A_SendOrder(Enum_Sell, Enum_Exit, account_long_pos, Q_BidPrice); //账户空头平仓
}
Else IF (ord.side==2 and ord.combOffset==5){ // 多头平今仓
A_SendOrder(Enum_Sell, Enum_ExitToday, account_long_pos, Q_BidPrice); //账户空头平仓
}
}
}
}
那么你的问题是什么?
onorder里做什么的 由你的代码决定
默认订单都是要进onorder触发的