关于策略回测中发现的问题

Params Vars Series<Numeric> MA; Series<Numeric> MK; Series<Numeric> ICDT; Series<Numeric> IFKT; Series<Numeric> ZCGYK; Series<Bool> ML(False); Events OnBar(ArrayRef<Integer> indexs) { MA = AverageFC(Close,5); MK = AverageFC(Close,20); ML = CrossOver(MA[1],MK[1]); ICDT = (Close[1] - longEntryPrice)*200; IFKT = (shortEntryPrice - Close[1])*300; ZCGYK = ICDT + IFKT; IF(MarketPosition == 1 && ZCGYK >= 15000) { SELL(1,Open); DATA1.BuyToCover(1,Open); } IF(MarketPosition == 1 && ZCGYK <= -15000) { SELL(1,Open); DATA1.BuyToCover(1,Open); } If(MarketPosition == 0 && ML) { Buy(1,Open); DATA1.SellShort(1,Open); } Commentary("ZCGYK=" + text(ZCGYK)); } 大家好,我这个策略回测中我发现,都是在当根k线上开平仓的,大家复制过去,帮忙看看是什么问题导致的,我想了很久,没发现哪里有问题,这个是ic跟if的套利,谢谢!!

这个图上应该挺明白的,zcgyk这变量是一个很奇怪的数字,你确定这个变量的计算没有问题吗?

回复:是的,我也觉得有问题,可能是我计算逻辑的问题