反手策略出现了多空同时持仓,麻烦帮忙看一下,是不是代码哪里有问题,谢谢

// 最新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);}}}

建议发可以编译的代码默认策略是不会用时有多空的你setreadeside设置了2边?代码里没有体现你也要说清楚是什么情况,哪里看到的多空持仓

回复:我在TBQuant里的实盘里出现了啊