这个信号闪烁问题如何避免?

图表指令,卖出平仓时有可能对应的开仓指令没有买够手数,会导致卖出平仓失败,因此卖出平仓之前我加了一段代码,先检查本策略单元未成交的开仓单,如果有未成交开仓委托单则先撤消未成交开仓委托单,然后检查本策略单元现有多头持仓手数,以该手数进行卖出平仓。

这样做经常会有信号闪烁问题,例如消息中心的提示:图表信号是卖出平仓4手,但因为前面4次开仓委托中,其中有1次开仓委托直至卖出平仓时还没有成交,在平仓卖出时会撤掉这笔未成交委托单,帐户实际持仓3手,帐户实际以3手进行卖出。


疑问:

1、这样做为什么会有信号闪烁问题?代码里检查不出哪个环节会产生信号闪烁。

2、如果有,怎么样规避?

谢谢

代码如下:

                   Integer y=0;

                   Array<Integer> orderIDs;

                   self_source=A_GetOrderCreateSource;

                   Bool ret8=A_GetUnFillOrderIDs(RelativeSymbol,orderIDs,self_source);

                   For y = 0 To GetArraySize(orderIDs) - 1

                   {              

                       Order value;

                       Bool ret9=A_getorder(orderids[y],value);

                       if(value.combOffset==Enum_Entry and value.side==Enum_buy)

                       {

                           bool ret10 =A_DeleteOrderEx(orderids[y]);                          

                           numeric sleep = SystemDateTime;

                           while(true)

                           {

                               A_getOrder(orderids[j], value);

                               if(value.status == Enum_Canceled)  break;

                               if(value.status == Enum_Filled)  break;

                               if(DateTimeDiffV2(Sleep, SystemDateTime) >= 1000) break;

                           }

 

                       }

                   }    

                   

                   Position order_pos;

                   Bool ret2 = A_GetPosition(RelativeSymbol, order_pos, self_source);            

                   order_buyposition= order_pos.longCurrentvolume;

                   sell(order_buyposition, data1_buyprice + duo_mantiao *MinMove * PriceScale- tiao2 * MinMove * PriceScale,Enum_Signal_UnCorrectPrice);

请问动态止盈如何避免信号闪烁的问题?【非价格信号】
截面策略,不同周期品种,数据不对齐,如何避免交易信号闪烁?
bar里面均线金叉后立马在当前bar进行开仓操作如何避免信号闪烁问题
关于信号闪烁问题
信号闪烁问题
公式遇到信号闪烁问题,如何找原因?
信号闪烁问题
信号闪烁问题
信号闪烁问题
信号闪烁问题