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));
}
}
我也一直被这个问题困扰,改用A函数也没有解决。
没看出来有什么毛病
代码写得看着没毛病,但之前老师讲过序列变量不能放在条件域,表达式中,很容易莫名其妙地出错,你上面开仓条件中有很多序列变量,试着改下,移到外面去判断,再引用回来