请老师帮我想想改如果实现结果 (文华财经WH6赢顺V6.7)

投资者咨询:请老师帮我想想改如果实现结果 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2019-3-5 13:19
N:=REFX1(VALUEWHEN(ISLASTBAR,C),10000);
MA60:MA(C,60),COLORCYAN; 
AA:MA(C,3),NODRAW;
COND:=EVERY((MA60-REF(MA60,1))>=0.3,3);
TJ:=EVERY(AA>REF(AA,1),3);
DRAWICON(COND&&TJ,MA60,'ICO10'),VALIGN0;

以上是之前老师您帮我编写的。我把它加入主图坐标中,我在想这个程序是否可以和副图的MACD相结合,在MACD中做出提醒,主要思路是这样的

当红点出现,也就是满足以上条件了,这时的MACD应该是红柱,从这一点为一个周期的起点,到MACD值小于 3 发出提醒,提醒的方法为一条绿色的线显示在3的位置,直到MACD>0提醒也中止。

例如提醒可以用类似这个程序 DRAWSL(ISLASTBAR&&MACD<=1,1,0,0,1,COLORGREEN),LINETHICK1;

如果当红点出现时,MACD本就没超过3,也发出同样提醒,如果期间超过3,提醒取消,直到再次小于3发出提醒。

这样做的目的时,如果MACD虽然大于3,但红点没出现也就是不满足以上条件,MACD就不用提醒了。否则看起来太乱了。
技术人员回复
日期:2019-3-5 14:02
 如下试试

DIFF : EMA(CLOSE,12) - EMA(CLOSE,26);
DEA  : EMA(DIFF,9);
MACD:2*(DIFF-DEA),COLORSTICK;
N:=REFX1(VALUEWHEN(ISLASTBAR,C),10000);
MA60:=MA(C,60),COLORCYAN; 
AA:=MA(C,3),NODRAW;
COND:=EVERY((MA60-REF(MA60,1))>=0.3,3);
TJ:=EVERY(AA>REF(AA,1),3);
IF(MACD<3&&COND&&TJ&&MACD>0,3,NULL),LINETHICK2;
 
投资者咨询:请老师帮我想想改如果实现结果 (文华财经WH6赢顺V6.7)
来源:文华财经  日期:2019-3-5 13:19
IF(MACD<3&&COND&&TJ&&MACD>0,3,NULL),LINETHICK2;

您写的这句语句的意思是,当MACD<3并且连续三天MA60线的值在大于0.3增长,则在3的这个位置显示一条线,否则不显示。但是如果开始MACD的值在7满足条件并且出现红点提示,随着价格的衰竭到了MACD小于3时红点也不出现了,也就不显示提醒了。而我想要的是只要满足条件红点出现时,MACD是红柱,低于3显示绿线提示,高于3不用提示。直到MACD<0,绿线提示也消失。




技术人员回复
日期:2019-3-5 15:17
 如下

IF(EXIST(MACD<3&&COND&&TJ,BARSLAST(CROSS(MACD,0))),3,NULL),LINETHICK2;