老师好!
为什么索引、未成交数、委托时间等都有正常的返回值,但却显示“发单失败”?
Vars
//此处添加变量
String my_tb("tbf_wd118552");
Integer accountIndex;
Integer LastIndex;
Integer nCount;
//Integer InvalidInteger();
Numeric a;
Numeric b;
Numeric c;
Global Numeric k;
bool m;
Defs
//此处添加公式函数
Events
//此处实现事件函数
//初始化事件函数,策略运行期间,首先运行且只有一次
OnInit()
{
A_BindTradeAccount(my_tb);
}
//Bar更新事件函数,参数indexs表示变化的数据源图层ID数组
OnBar(ArrayRef<Integer> indexs)
{
if (/*BarExistStatus() == 1*/ BarStatus() == 2 and close>open and MarketPosition() == 0)
{
//if (k==0 )
//{
a=IntPart((A_FreeMargin(accountIndex = 0)*0.32)/((close+MinMove()*5)*MarginRatio()*ContractUnit()));
b=Q_AskPrice()-MinMove()*5;
print("委托价格:"+text(b));
m=A_SendOrder(Enum_Buy,Enum_Entry,a,b);
print("发单"+IIFString(m,"成功","失败"));
LastIndex = A_GetLastOpenOrderIndex(Enum_Buy,Enum_Entry);
print("索引:"+text(LastIndex));
print("手数:"+text(a));
print("开仓资金:"+text(A_FreeMargin(accountIndex = 0)*0.32));
print("可用资金:"+text(A_FreeMargin(accountIndex = 0)));
print("未成交数:"+text(A_GetOpenOrderCount()));
print("对手价:"+text(Q_AskPrice()));
print("BAR状态:"+text(barstatus()));
if (A_AccountDataExist(A_AccountIndex(A_AccountID())) == True)
{
print("账户有效");
}
print("委托时间:"+text(A_OpenOrderTime()));
//k=1;
//}
}
if (A_GetOpenOrderCount()>0 and (CurrentTime() - A_OpenOrderTime())>=0.000010);
{
A_DeleteAccountOrder();
}
}


还望老师指点一二!多谢多谢!
上面不是已撤单吗。。。
我也看到你最后有一个撤单语句
老师好!
“发单失败”是针对A_SendOrder语句的,其它的都有正常的返回值,包括已撤单,说明A_SendOrder已经发单了,但为什么还提示发单失败?是不是我哪里写错了,或哪里理解错了?