为什么开多的时候又同时给发了个平多的指令

为什么开多的时候又同时给发了个平多的指令?我的代码里面如果要平多就会显示平多条件,但是这里又没有显示,是哪里设置有问题吗?

开空的时候就不会同时发一个平空的指令

If (Con1==True )                            //当快线上穿零轴时候,定义为多头趋势
        {
            If (MarketPosition==-1  And BarsSinceEntry > 0)
            {
                BuyToCover(A_SellPosition,Q_AskPrice(4));
                Commentary("平空条件1");
            }
            
            If (MarketPosition==0)
            {    
                Buy(1,Q_AskPrice(1));
                Commentary("多单条件1:"+Text(SignalLine));
                EnterFlag == True ;
            }
        }
        
        If (Con3 == True)                                                    //当慢线上穿零轴时候,定义为多头趋势
        {
            If (MarketPosition==-1  And BarsSinceEntry > 0)
            {
                BuyToCover(A_SellPosition,Q_AskPrice(4));
                Commentary("平空条件2");
            }
            
            If (MarketPosition==0 And SignalLine>0)
            {    
                Buy(1,Q_AskPrice(1));
                Commentary("多单条件2:"+Text(SignalLine));
                EnterFlag == True ;
            }
        }
            
        If(Con2==True )                            //当快线下穿零轴时候,定义为空头趋势
        {
            If (MarketPosition==1  And BarsSinceEntry > 0)
            {
                Sell(A_BuyPosition,Q_BidPrice(4));
                Commentary("平多条件1");
                
            }
            
            If (MarketPosition==0)
            {
                SellShort(1,Q_BidPrice(1));
                Commentary("空单条件1:"+Text(SignalLine));
                EnterFlag == True ;
            }
        }
    
        If(Con4 == True )                                                    //当慢线下穿零轴时候,定义为空头趋势
        {
            If (MarketPosition == 1  And BarsSinceEntry > 0)
            {
                Sell(A_BuyPosition,Q_BidPrice(4));
                Commentary("平多条件2");
            }
            
            If (MarketPosition == 0 and SignalLine<0)
            {
                SellShort(1,Q_BidPrice(1));
                Commentary("空单条件2:"+Text(SignalLine));
                EnterFlag == True ;
            }
        }

【发单】平多的指令成了开空单
为什么平仓的时候会多2手出来,造成平不了仓?
全自动交易中,如果信号价格一样,用的是空平同时开多,多平同时开空这种类型的
没有平空后开多,而是只开多的问题
【求助】跨多周期策略,重复发出开仓指令的问题
实现多空单同时存在问题?
麻烦老师把文字部分(先平掉所有空单再开多单,先平掉所有多单再开空单)
多品种同时优化问题
旗舰版多空两个程序加载超级图表后同时多空持仓
我想用系统的海龟系统,加上一点策略,同时监控所有系统,但是多空均只允许开两个品种,多仓有持有两个品种后,不再允许开其他多仓品种,空仓也一样。

每个条件里面加个return试试