编写问题求教 macd的 (文华财经WH6赢顺V6.7)

投资者咨询:编写问题求教 macd的 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-5-24 10:13
 macd指标的柱状数值
分成两大类,0以上 和0一下的,一段一段的。
由大于0 变成小于0,是一段。反之,又是一段。
如果数值在0轴来回变化
例如 0.1 -0.1  0.2 -0.01  这样 那就是4段了

求0以上的每段的最大值    和    0以下,每段的最小值 
一段只求出一个最大或者最小值     写数字那种。标在最大或者最小位置就可以了。
肯定要用到未来函数。这个没关系。是指标,就是用来看的。
这个怎么写?谢谢老师

技术人员回复
日期:2018-5-24 10:19

您是想,在红柱最大值位置标注本段红柱区的最大值?

 

这个无法编写实现的,红柱还没走完无法确定最高值的,

 

不过可以在红柱走完第一个绿柱位置标注红柱的最大值,您考虑下

投资者咨询:编写问题求教 macd的 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2018-5-24 10:13
 就是用未来函数,如果没走完,就先标注目前的最大值。
重要的是一定要标在最大值的K线上。
例如,上一个k线原来是90 最大,当时标注,后来有出现了100 那么 90 的标注要消失,在100上标注。
技术人员回复
日期:2018-5-24 10:53

参考:

 

DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : EMA(DIFF,9);//DIFF的M个周期指数平滑移动平均
MACD:2*(DIFF-DEA),COLORSTICK;//DIFF减DEA的2倍画柱状线
JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
N1:=BARSLAST(JC)+1;//金叉到当前距离
N2:=BARSLAST(SC)+1;//死叉到当前距离
MHD:=VALUEWHEN(CROSSDOWN(DIFF,DEA),HHV(MACD,N1));//上次MACD红柱期间MACD最大值
MLD:=VALUEWHEN(CROSS(DIFF,DEA),LLV(MACD,N2));//上次MACD红柱期间MACD最大值
M:=REF(HHVBARS(MACD,N1),N2)+2;
A:=BACKSET(SC,M);
M1:=REF(LLVBARS(MACD,N2),N1)+2;
A1:=BACKSET(JC,M1);
DRAWNUMBER(CROSS(A,0.5),MACD,MACD,2,COLORRED);
DRAWNUMBER(CROSS(A1,0.5),MACD,MACD,2,COLORCYAN),VALIGN0;