我的本意是:有长中短三条均线,周期分别是60、22、5。当短均线与任意另外的均线金叉,就先把原来的空单平仓。然后5-22金叉,就开多单VOL1手;如果5-60金叉,而且之前已经有多单,那么就增仓VOL2手。
我的程序如下面。但程序运行后,5-22金叉开多单后,到了5-60金叉就平仓了。请问问题出在哪里?
MA5 : MA(CLOSE, 5);
MA22 : MA(CLOSE, 22);
MA60 : MA(CLOSE, 60);
BCON := CROSS(MA5, MA22);
SCON := CROSS(MA5, MA22);
BCON1 := CROSS(MA5, MA60);
SCON1 := CROSS(MA5, MA60);
VOL1 := 15;
VOL2 := 20;
//先平仓
SELLSHORT((BCON || BCON1), 0, MARKET); //出现金叉时,把空单平仓
SELL((SCON || SCON1), 0, MARKET); //出现死叉时,把多单平仓
//首次开仓,常规开仓
BUY(BCON, VOL1, MARKET); //MA5-22出现金叉,开多
BUYSHORT(SCON, VOL1, MARKET); //MA5-22出现死叉,开空
BUY(BCON1 && HOLDING > 0, VOL2 , MARKET); //MA5-60出现金叉,追加多
BUYSHORT(SCON1 && HOLDING < 0, VOL2 , MARKET); //MA5-60出现金叉,追加空