Params
Params
string contract("FG601"); //合约编号
Vars
Global Integer timerId;
Array<integer> orderids; //用于存放委托单编号
OnBarOpen(ArrayRef<Integer> indexs)
{
range[1:1]
{
a_sendorderex(Enum_Buy,Enum_Entry,1,Q_bidPrice,orderids);
}
}碰到两个问题,是不是系统bug。
第一个是,如果工作区添加了2个商品,那么用a_sendorderex发单会发两次订单;如果是3个商品则会发3次,以此类推。即便用range也是一样的效果。
第二个,如果在a_sendorderex函数里面添加了商品合约,则会发不出去单子。
比如用a_sendorderex("FG601",Enum_Buy,Enum_Entry,1,Q_bidPrice,orderids); 发单,则完全发不出去。
第二个问题已经解决了,是没有加后缀。第一个感觉确实是个bug,望程序员老师更正
第一个问题不是bug,运行机制就是这样的,因为不同的数据源都会触发公式运行,一个合约1秒钟会触发2次,2个合约就会触发4次,3个合约就会触发6次。所以策略里要对多次触发有心理预期,做好相应的控制