[PEL] 复制代码 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),NODRAW;//macd金叉
macdsc:=cross(dea,diff),NODRAW;
LEN1:=SUMBARS(macdsc,1);//返回值从1开始
LEN2:=SUMBARS(macdjc,1);
BF:VALUEWHEN(macdsc,hhv(macd1,len2));//最近一次波峰
BG:VALUEWHEN(macdjc,llv(macd1,len1));//最近一次波谷
MLen:SUMBARS(MONTH<>ref(MONTH,1),3);//按照交易日统计 最近三个月的交易日周期跨度。
V1:=IF(macdsc,BF,0);
V2:=IF(macdjc,BG,0);
CT1:COUNT(V1<>0,MLEN);//波峰次数
CT2:COUNT(V2<>0,MLEN);//波谷次数
result1:sum(v1,MLEN)/CT1;//波峰均值
result2:sum(v2,MLEN)/CT2;
存在的缺陷是 第一个波峰在三个月之外,但是第一个死叉落在三个月内,而我们的统计又是在死叉位置上进行的。这时候 是有偏差的,但是没好的解决办法。 |