软件是TBQ3.
从延迟反手视频中抄下了下面的代码. 复制到策略里点启动交易后。 几秒内弹出了整整3页消息.是哪里漏了吗。
Vars
global Array<signal>signals_book;//延迟反手
Events
OnReady(){PrintClear;}
OnSignal(ArrayRef<Signal>sigs)
{
Print("bartime:"+TimeToString(time));
Numeric i;
for i = 0 to GetArraySize(sigs)-1
{
If(sigs[i].comboffset == Enum_Entry) //检查一下有没有未成交委托单
{
If(A_GetOpenOrderCount() == 0)
{
Array<Integer>orderids;
A_SendOrderEx(data[sigs[i].index].Symbol, sigs[i].side, sigs[i].comboffset, sigs[i].volume, sigs[i].price, orderids);
}Else
{
//把信号做一个记录,等到后面成交以后再发单
ArrayPushBack(signals_book, sigs[i]);
}
}Else
{
Array<Integer>orderids;
A_SendOrderEx(Data[sigs[i].index].Symbol, sigs[i].side, sigs[i].comboffset, sigs[i].volume, sigs[i].price, orderids);
}
}
}
OnFill(FillRef ordFill)
{
//检查以下还有没有未成交单
If(A_GetOpenOrderCount()<>0)
{
Return;
}Else
{
If (GetArraySize(signals_book)<>0)
{
Numeric i;
for i = 0 to GetArraySize(signals_book) - 1
{
Array<Integer>orderids;
A_SendOrderEx(data[signals_book[i].index].Symbol, signals_book[i].side, signals_book[i].comboffset, signals_book[i].volume, signals_book[i].price, orderids);
}
ArrayClear(signals_book);
}
}
}




tbq3下历史信号也报单了。
自己做个过滤吧,没有启动自动交易之前不执行onsignal里的报单代码
