请教图表交易如何编码:计算前个金叉到前个死叉的周期数,中间金叉到死叉的周期数小于5个周期忽略不计。(也就是计算明显金叉到明显死叉的周期,中间小金叉影响视觉的不算)
input:p(26,20,100,8),s(12,5,40,4),m(9,2,60,6);//参数设置
DIFF := EMA(CLOSE,S) - EMA(CLOSE,P);
DEA : =EMA(DIFF,M);
MACD1 : =2*(DIFF-DEA), COLORSTICK;
macdjc:cross(diff,dea);//macd金叉
macdsc:cross(dea,diff);
Len0:SUMBARS(macdsc,2);//前一次死叉位置
Len1:if(macdsc,BARSLAST(macdjc),0);//在死叉位置取金叉到死叉的距离
Len3:ref(BARSLAST(Len1>5),Len0-1)+Len0;//在前次死叉位置取得上次有效长度大于5的红柱的距离
result:ref(len0,len3-1);//最终结果 有效长度大于5的前次红柱长度
以macd的金叉死叉为例。如果是其他均线自行替换下金叉死叉的定义即可。