[PEL] 复制代码 dif:=ema(c,12)-ema(c,26);
dea:=ema(dif,9);
macd:=(dif-dea)*2;
jc:=cross(macd,0);{macd柱状线金叉}
sc:=cross(0,macd);{macd柱状线死叉}
n1:=1;
n2:=2;
//前n1次金叉位置
t1:=sumbars(jc,n1);
//前n2次金叉位置
t2:=sumbars(jc,n2);
//前n1次死叉位置
t3:=sumbars(sc,n1);
//如果当前就处于死叉区间,那么当前死叉区间也统计在内
locate_1:if(macd<0,0,t1);
locate_2:if(macd<0,t1,t2);
lm1:ref(llv(macd,t3),locate_1);{第1个死叉区间的macd最低值}
lm2:ref(llv(macd,t3),locate_2);{第2个死叉区间的macd最低值}
ll1:ref(llv(l,t3),locate_1);{第1个死叉区间的最低点}
ll2:ref(llv(l,t3),locate_2);{第2个死叉区间的最低点}
aa:=ref(macd,1)<min(ref(macd,2),macd) and ll2<ll1 and lm2>lm1 and macd<0;{价格创新低,macd不创新低};
drawtext(aa,l*0.9999,'不新低'),coloryellow;
注意我这里的处理逻辑是:
连续2个死叉区间macd最低值没有新低,对应的死叉区间最小的价格 创新低了(不是macd最低价对应位置的最低价,单纯区间最低价)
如果是对比macd最低值位置的价格,则是另外一套算法。 |