MACD极大极小值描述 (文华财经随身行Android   5.3.4(231))

投资者咨询:MACD极大极小值描述 (文华财经随身行Android   5.3.4(231))
来源:文华财经  日期:2018-7-20 23:48
 

图片点击可在新窗口打开查看
我想要编写一个指标实现如图的如下几个功能:
1、当DEA和DIFF线在0轴之上后开始统计MACD柱子的极值
2、当MACD大于零并且到达极大值时候在图上自动标注“极大”,当MACD小于零并且到达极小值时候在图上自动标注“极小”
3、一般而言MACD达到极大值K线也达到阶段性新高,MACD达到极小值K线也达到阶段性新低,这时候我需要按图上的画的线一样
 从极大值对应K线最高价开始连线,直到K线价格超过这个最高价,然后需要统计从极大值K线到突破K线总共走了多少根,并且标注在线段的右端
投资者咨询:MACD极大极小值描述 (文华财经随身行Android   5.3.4(231))
来源:文华财经  日期:2018-7-20 23:48
 

按此在新窗口浏览图片
文件名:macd极值计数.png
在1楼需求的基础上再做出如下改进:
1、当DEA和DIFF线在0轴之上后开始统计MACD柱子的极值
2、当MACD大于零并且到达极大值时候在图上自动标注数字,当MACD小于零并且到达极小值时候在图上自动标注数字
一般而言MACD达到极大值K线也达到阶段性新高,MACD达到极小值K线也达到阶段性新低,标注规则如下:
(1)DEA在0轴之上第一个极大值(极小值)标注为1,接下去的极小值(极大值)标注为2,以此类推,不停的标注下去
(2)直到DEA<0结束标注
投资者咨询:MACD极大极小值描述 (文华财经随身行Android   5.3.4(231))
来源:文华财经  日期:2018-7-20 23:48
好问题
投资者咨询:MACD极大极小值描述 (文华财经随身行Android   5.3.4(231))
来源:文华财经  日期:2018-7-20 23:48
 补充一点,1楼和2楼第一条修改为当DEA线在0轴之上后开始统计MACD柱子的极值,因为DIFF线太敏感,信号不稳定
投资者咨询:MACD极大极小值描述 (文华财经随身行Android   5.3.4(231))
来源:文华财经  日期:2018-7-20 23:48


图片点击可在新窗口打开查看
再补充一个计算MACD极值得细节:
1、MACD极大值定义为在零轴以上的最大值,MACD极小值定义为在零轴一下最小值,如果MACD极值先出现了一个波峰(波谷),然后接着又出现了一个波峰(波谷)(相当于技术分析里的M头,W底)这时候取几个波峰(波谷)的最大值(最小值)为MACD的极大值(极小值)
2、如图所示我们先出现一个MACD波谷,我们先标注为10,然后又出现一个波谷,但是这个波谷比前一个高,此时标注不变,过了一会儿又出现一个波谷,这时候的波谷低于第一个,是三个里最小的一个,这时候将第一个波谷的标注10擦去,重新标注在这个新波谷下面,以此类推,一定要保证所标注的波谷的MACD值是零轴下最小值。
技术人员回复
日期:2018-7-21 8:28
参考

DIFF := EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : EMA(DIFF,9), NODRAW;
MACD : 2*(DIFF-DEA), NODRAW;
NN1 := BARSLAST(CROSS(DEA, 0)) + 1;
NN2 := BARSLAST(CROSSDOWN(DEA, 0)) + 1;
COND1 := NN1 < NN2;
CONDA := REF(MACD = HHV(MACD, NN1) && MACD > 0 && COND1, 1) && MACD < REF(MACD, 1);
CONDB := REF(MACD = LLV(MACD, NN1) && MACD < 0 && COND1, 1) && MACD > REF(MACD, 1);
NUMBER1 := COUNT(CONDA || CONDB, NN1);
DRAWNUMBER(CONDA, H, NUMBER1, 0, COLORYELLOW);
DRAWNUMBER(CONDB, L, NUMBER1, 0, COLORYELLOW);
 
投资者咨询:MACD极大极小值描述 (文华财经随身行Android   5.3.4(231))
来源:文华财经  日期:2018-7-20 23:48
 

图片点击可在新窗口打开查看

有部分显示错误,有部分显示正确,如上图所示我划竖线处按规则应该显示4,这时候错误标记为4和5两个,后面按规则应该显示5,但是图中却没有标记出来,不知道这个该如何处理?
投资者咨询:MACD极大极小值描述 (文华财经随身行Android   5.3.4(231))
来源:文华财经  日期:2018-7-20 23:48
 谢谢,麻烦先把以上功能实现出来,再进不步我还需要改进,加入MACD动能的大小比较因素
投资者咨询:MACD极大极小值描述 (文华财经随身行Android   5.3.4(231))
来源:文华财经  日期:2018-7-20 23:48
DIFF:=EMA(CLOSE,13)-EMA(CLOSE,28);
DEA:=EMA(DIFF,9);
MACD:=2*(DIFF-DEA),COLORSTICK;
JC:CROSS(MACD,0);
SC:CROSSDOWN(MACD,0);
A:BACKSET(ISLASTBAR,SUMBARS(JC||SC,50));
DRAWSL1(A&&REFX1(SC,1),HHV(H,SUMBARS(JC,1)),0,SUMBARS(JC,1),1),COLORRED;
DRAWSL1(A&&REFX1(JC,1),LLV(L,SUMBARS(SC,1)),0,SUMBARS(SC,1),1),COLORGREEN;
DRAWNUMBER(A&&REFX1(SC,1),HHV(H,SUMBARS(JC,1)),HHV(H,SUMBARS(JC,1)),2,COLORWHITE);
DRAWNUMBER(A&&REFX1(JC,1),LLV(L,SUMBARS(SC,1)),LLV(L,SUMBARS(SC,1)),2,COLORWHITE);

老师可以参考一下以上这段代码
这个思路比我取极大值的思路更好,我只要加上从DEA在零轴之上开始计数就可以了
投资者咨询:MACD极大极小值描述 (文华财经随身行Android   5.3.4(231))
来源:文华财经  日期:2018-7-20 23:48
 问题是这段代码有未来函数,我是最终写成程序化代码让机器跑的,所以如何避免用到未来函数并且可以达到我需要的效果,这个劳烦老师帮我好好想想!谢谢!