反手策略出现了多空同时持仓,麻烦帮忙看一下,是不是代码哪里有问题,谢谢
// 最新Bar第一次生成时,Tick重新开始计数If(BarStatus == 2 && gValue[0]!= Time){LastBarTime = Time;TickCounter = 0;}If(MarketPosition <> 1 && AvgValue1[1] > AvgValue2[1]){If(MarketPosition == 0 || BarStatus != 2)// 无持仓,直接买多仓// 持空仓且Bar不是实时行情,平空仓,买多仓{Buy(1,Open);}Else// 持空仓,Bar实时行情,平空仓,通过TickCounter计数,延迟反手{BuyToCover(1,Open);If(TickCounter == 0){TickCounter = 1;}Else If(TickCounter < DelayTicks){TickCounter = TickCounter + 1;}Else{Buy(1,Open);}}}If(MarketPosition <> -1 && AvgValue1[1] < AvgValue2[1]){If(MarketPosition == 0 || BarStatus != 2){SellShort(1,Open);}Else// 持多仓且Bar为实时行情,平多,延迟反手{Sell(1,Open);If(TickCounter == 0){TickCounter = 1;}Else If(TickCounter < DelayTicks){TickCounter = TickCounter + 1;}Else{SellShort(1,Open);}}}