比较当前合约close和连续合约的close就可以了
c1:=callstock(stklabel,vtclose,6);//当前合约close
c2:=callstock('if00',vtclose,6);//连续合约close,这里以if为例
当c1=c2就表示当前合约是主力合约,不相等就是不是主力合约。当然用close可能会很巧的非主力合约的close和连续合约一样,那么把vtclose改成vtvol也可以
这个比较烦了
需要像我上一样做引用
要引用所有的合约,
c0:=callstock('if00',vtvol,6);
c1:=callstock('if01',vtvol,6);
......
c12:=callstock('if12',vtvol,6);
然后逐一判断赋值
if c1=c0 then n:=1;
if c2=c0 then n:=2;
....
if c12=c0 then n:=12;
n=1表示01合约为主力,n=2表示02合约为主力。。。。。。n=12表示12合约为主力
判断下n<>ref(n,1),成立即为换月了