满足平仓条件,为什么不平仓呢

Vars Numeric RSV; Series<Numeric> K; BOOL CON; Events OnBar(ArrayRef<Integer> indexs) { RSV = (Close - LOWEST(Low,38)) / (HIGHEST(High,38) - LOWEST(Low,38)) * 100; K = Sma(RSV,3,1); if(K[1]>62 && MarketPosition==0 ) { BUY(IntPart(50000/(O*ContractUnit*Bigpointvalue)/MarginRatio),O); } PlotBool("SP", DayBarsNumI(0,1)-BarsSinceToday()==2&&MarketPosition==1, High); PlotBool("SP2", (K[1]<62|| DayBarsNumI(0,1)-BarsSinceToday()==2)&&MarketPosition==1, LOW); if((K[1]<62 || DayBarsNumI(0,1)-BarsSinceToday()==2)&&MarketPosition==1) { SELL(0,O); } Commentary("RSV"+TEXT(RSV)); Commentary("K"+TEXT(K)); Commentary("DayBarsNumI"+TEXT(DayBarsNumI(0,1))); Commentary("TIME:" + Text(TIME)); } 满足收盘前倒数第二根BAR,不会平仓,但输出值是满足的,请问老师是怎么回事呢

con1 = DayBarsNumI(0,1)-BarsSinceToday()==2&&MarketPosition==1; //PlotBool("SP", , High); PlotBool("SP2", (K[1]<62|| DayBarsNumI(0,1)-BarsSinceToday()==2)&&MarketPosition==1, LOW); PlotBool("SP",con1 ,High); if(K[1]<62 or con1) { SELL(0,O); } 换这种写法看看, 如果函数包含在IF里 可能会有错误