为什么相同条件,平仓后不能反手开仓?

Params Vars Series<Numeric> ma5; Series<Numeric> ma10; Events onBar(ArrayRef<Integer> indexs) { ma5 = AverageFC(Close,5); ma10 = AverageFC(Close,10); PlotNumeric("MA5",ma5); PlotNumeric("MA10",ma10); //平仓 If(MarketPosition ==1 && CrossUnder(ma5[1] ,ma10[1])) { sell(0,Open); } If(MarketPosition==-1 && CrossOver(ma5[1] ,ma10[1])) { BuyToCover(0,Open); } //开仓 If(MarketPosition ==0 && CrossOver(ma5[1] ,ma10[1])) { Buy(0,Open); } If(MarketPosition==0 && CrossUnder(ma5[1] ,ma10[1])) { SellShort(0,Open); } } 请问这样写,为什么平仓后不同时开反向单?

如上图,平仓后为什么不在同根bar上反手?