重复开仓

请问老师,我是多个策略单元a,b,c.....同时加载同一个品种。今天碰到一个问题,策略a和策略b在同一个品种、同一根k线、同一个时间一起发单,导致了重复开仓,仓位直接翻倍了,请问这种情况有没有好的解决办法?

这个应该没什么好办法

下单前查询一下持仓

回复:A_TodayBuyPosition

回复:我代码里有用A_GetPosition查询持仓,但是好像不行。同一时间发单,反应不过来。

回复:Array<Integer> orderIds; Bool ret2 = A_GetUnFillOrderIDs(orderIds, "", 0);//获得所有合约未成交数组 Array<String> symbols; Array<String> symbols_act; Bool ret3 = A_GetPositionSymbols(symbols);//获取账户持仓的合约代码 If(GetArraySize(symbols) <> 0) { Integer i; For i=0 to GetArraySize(symbols)-1 { Position pos; A_GetPosition(Symbols[i], pos, ""); If((pos.shortCurrentVolume+pos.longCurrentVolume) != 0) { ArrayPushBack(symbols_act, Symbols[i]);//获得真正的持仓数组 } } } Numeric sum_position = GetArraySize(symbols_act); Numeric sum_order = GetArraySize(orderIds); //接管信号开仓 If(sum_order == 0 And sum_position == 0)//没有挂单、没有持仓 { ...开仓.. }