以下是我的策略语句,可是实际测试过程中,到了该平仓开仓的条件,程序却有不执行的情况出现,例如在17均拐头向上程序开多后在之后的42个周期,均线是向下的,但程序却不平多。请老师帮忙检查一下哪里出了问题。谢谢。
MAB:=MA(CLOSE,17);
//交易条件
KD:=MAB>REF(MAB,1) AND REF(MAB,1)<=REF(MAB,2); //17周期均线拐头向上时开多
PD:=BARSLAST(KD)>=42 AND MAB<REF(MAB,1); //在开多后42个周期之后如果17均是向下的就平多
KK:=MAB<REF(MAB,1) AND REF(MAB,1)>=REF(MAB,2); //开空条件
PK:=BARSLAST(KK)>=42 AND MAB>REF(MAB,1); //平空条件
//交易系统
平空:SELLSHORT(PK,1,THISCLOSE); //平空信号
开多:BUY(KD AND HOLDING=0,1,THISCLOSE); //开多信号
平多:SELL(PD,1,THISCLOSE); //平多信号
开空:BUYSHORT(KK AND HOLDING=0,1,THISCLOSE); //开空信号