请问用pel语言,macd死叉前的一个死叉如何表达呢?
也就是在红色圆圈里圈出来的死叉之前的黄色死叉

此主题相关图片如下:1.png
len:=SUMBARS(macd死叉,2);
用SUMBARS这个函数就行了。死叉你自行定义好就可以了。这个函数返回的是倒数第二个死叉的位置,位置获取到了,就可以获取到这个死叉位置的数据了。
调用这个死叉位置的数据:
macd_sc:ref(c,len);//获取倒数第二个死叉位置的收盘价
这一段是死叉区间了,也就是macd<0的一个区间。不过我想明确的是你基于什么位置取这个值的,比如基于当前位置的上上次死叉区间,还是说上次死叉区间。还有就是当前也可能刚好就是死叉区间。这个要理清楚才行。
你好,主要是基于今日在macd<0的情况下,寻找上上次死叉到上次金叉区域内(黄色矩形区域内)dif的最小值以及对应的收盘价,

此主题相关图片如下:qq截图20190410140946.png
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(macdjc,1);//上次金叉的位置
len1:SUMBARS(macdsc,1);//上次死叉的位置
len2:ref(LLVBARS(diff,len1),len0);//
result:if(macd1<0,ref(c,len2+len0),0);//最终结果
参考下。这个获取的就是上上次死叉到金叉直接diff最小值对应的K线收盘价。
需要注意的是,如果当前是金叉区间我直接返回0,只在死叉区间返回正确值。
[此贴子已经被作者于2019/4/10 14:41:50编辑过]