固定止损语句执行时开仓第二天不知道为什么总会触发

各位老师好,求帮忙看看,

以下止损语句包括多头和空头,为什么执行回测的时候, 每次空头开仓后第二个K线都会止损,而多头却不会呢?

Params
    Numeric FastLength(5);// 短期平均线参数
    Numeric SlowLength(20);// 长期平均线参数
Vars
    Series<Numeric> AvgValueFast; 
    Series<Numeric> AvgValueSlow;
    Numeric myentryprice; //开仓价格
Events
     OnBar(ArrayRef<Integer> indexs)
    {
        MyEntryPrice = AvgEntryPrice;    
        AvgValueFast = AverageFC(Close,FastLength);
        AvgValueSlow = AverageFC(Close,SlowLength);
        PlotNumeric("MA1",AvgValueFast);
        PlotNumeric("MA2",AvgValueSlow);        
                
        If(MarketPosition <>1 && AvgValueFast[2] <= AvgValueSlow[2] && AvgValueFast[1] > AvgValueSlow[1]) //均线金叉平空开多
        {
            Buy(1,Open);
        }
        If(MarketPosition==1 && BarsSinceEntry >= 1)// 持有多仓状态下,超出一个交易日时
            { If(Low < Myentryprice*(1-0.01*5))
                    Sell(0,Min(Open, Myentryprice*(1-0.01*5))) ; //持仓状态下,最低价低于设定止损百分比,平仓止损
            }
        
        If(MarketPosition <>-1 && AvgValueFast[2] >= AvgValueSlow[2] && AvgValueFast[1] < AvgValueSlow[1]) //均线死叉平多开空
        {
            SellShort(1,Open);
        }
        If(MarketPosition==-1 && BarsSinceEntry >= 1)// 持有空仓状态下,超出一个交易日时
            {  If(High > Myentryprice*(1+0.01*5))
                    BuyToCover(0,Max(Open, Myentryprice*(1+0.01*5))) ; //持仓状态下,最高价高于设定止损百分比,平仓止损
            }
    }

固定止损锚定问题
手动开仓后,想自己移动止盈,还有固定止损
开仓K实时开仓,并同K实时止损
策略没有开仓指令运行时怎么会产生开仓操作
增加止盈止损后,原位置不开仓了
求教关于if语句程序运行时的判别规则
代码写了固定止损和固定止盈,当盘中出现大K线时,此K线的最高价和最低价同时满足止损和止盈,得怎么办?
止损代码请教
请教如何分别计算两次开仓的分别止损
语句语法生效异常求教

代码分析可以投稿直播