开仓数限制不生效

Abs(longCurrentContracts()) < 10开仓手数限制不生效,过10仓还能开仓,请解答,谢谢!完整代码如下:

If(Marketposition <> 1 And Currentbar >= 100)  

{

If(JC And VAR12 > VAR12[1] And VAR13 > VAR13[1] And VAR12>VAR13 And Abs(longCurrentContracts()) < 10 And Vol > 0) //首次信号开多

{

Buy(1,Max(Open,ZX));

}Else If(JC[1] And VAR12>VAR13 And Abs(longCurrentContracts) < 10 And Vol > 0) //确认信号开多

{

Buy(1,Max(Open,ZX));

}

}

If(Marketposition <> -1 And Currentbar >= 100)

{

If(SC And VAR12 < VAR12[1] And VAR13 < VAR13[1] And VAR12<VAR13 And VAR12 > 20 And Abs(shortCurrentContracts()) < 10 And Vol > 0) //首次信号开空

{

SellShort(1,Min(Open,ZX));

}Else If(SC[1] And VAR12<VAR13 And VAR12 > 20 And Abs(shortCurrentContracts()) < 10 And Vol > 0)//确认信号开空

{

SellShort(1,Min(Open,ZX));

}

}

跨周期引用EMA,开仓不生效
关于限制当日开仓次数
关于自动计算开仓手数
如何用ATR和实盘权益计算开仓手数
A函数平仓不生效,平不了仓
求助老师为啥alert不生效
限制了开仓手数,但快速波动时会重复发单
关于不写价格的开仓
跳空开仓数不对,怎么办?
参数优化线程数限制

我也一直被这个问题困扰,改用A函数也没有解决。

没看出来有什么毛病

代码写得看着没毛病,但之前老师讲过序列变量不能放在条件域,表达式中,很容易莫名其妙地出错,你上面开仓条件中有很多序列变量,试着改下,移到外面去判断,再引用回来