本帖最后由 技术009 于 2023-7-12 10:22 编辑
没有直接替换使用的函数,通常是判断持仓状态 以及上次信号类型的方式来确保信号是开平交替出现的:
[PEL] 复制代码 XCLOSE:=CLOSE;
MA5:=MA(C,5);
EMA20:=MA(C,20);
B:=(CROSS(XCLOSE,MA5)) ;
S:=(CROSS(EMA20,XCLOSE) ) ;
//多空可用持仓
dhd:TBUYHOLDINGEX('','',1);
khd:TSELLHOLDINGEX('','',1);
//上次信号类型
lastt:TTYPE(1);
tSell(dhd>0 AND S=1 and (lastt=0 or lastt=1),0,mkt);
tSellshort(khd>0 AND B=1 and (lastt=0 or lastt=3),0,mkt);
tBuy(dhd=0 AND B=1,1,mkt);
tBuyShort(khd=0 AND S=1,1,mkt);
另外你这里的条件b和s 本身是金叉死叉,金叉后必然是死叉,死叉有必然是金叉。所以其是不需要额外处理也是可以的。
|