用的测试代码是示例:
Vars
Global Integer cancelId;
Global Bool openOrder(False);
Events
OnBar(ArrayRef<Integer> indexs)
{
if(BarStatus == 2 && !openOrder)
{//发开仓单
//针对当前策略应用的帐户、商品发送委托单
Bool ret = A_SendOrder(Enum_Sell, Enum_Entry, 2, Q_UpperLimit, 0);
Print("SellShort,A_SendOrder:" + IIFString(ret, "True", "False"));
if(ret)
{
openOrder = True;
}
cancelId=createTimer(5000);
}
}
OnTimer(Integer tid,Integer intervalMillsecs)
{
if(tid == cancelId)
{//撤单
Array<Integer> orderIds;
//获取未完成的报单数组
Bool ret = A_GetUnFillOrderIDs(orderIds, "", 0);
Integer i;
For i = 0 To GetArraySize(orderIds) - 1
{
Print("accountIndex:" + A_AccountID(0) + ",orderId:" + Text(orderIds[i]));
ret = A_DeleteOrderEx(orderIds[i]);//撤指定报单索引的委托单
Print("A_DeleteOrderEx:" + IIFString(ret, "True", "False"));
}
StopTimer(cancelId);
}
}
这问题,困扰了几天。下单、撤单操作,一直都是返回false,无论怎么写都是。不知道是咋回事。
前两天发过帖子,也用过老师给出的测试代码,依然是同样的问题
a函数要绿脸状态才能成功报单返回true
右上角是橙黄脸,怎样才可以变成绿色的呢?已是启动自动交易
如果你是策略单元打开的k线图是不可以绿脸的,否则就是双份运行了,策略单元一份,k线一份
你如果是策略单元运行,建议日志用fileapped输出,策略单元不能看控制台
测试成功,我也没改东西 false你真的能下单出去?
是的,每次都是这样,如图
我试试