[求助]MACD指标问题 (文华财经WH8赢智V8.2)

投资者咨询:[求助]MACD指标问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-2-18 10:52

在两波红柱中间夹杂着少于三根的绿柱,如何将其定义为一波红柱。

JC:=CROSS(DIFF,DEA);
SC:=CROSSDOWN(DIFF,DEA);
N1:BARSLAST(JC)+1;
N2:BARSLAST(SC)+1;

这是红柱和绿柱的定义

 

 

N11:VALUEWHEN(N1>=3,N1);
N22:VALUEWHEN(N2>=3,N2);

我用这种方法只能将中间少于三根的绿柱划分到前面,当绿柱走完,红柱会重新计算

技术人员回复
日期:2019-2-18 11:10
 您是要在红柱期间 如果之前的绿柱小于3根 则取值到大上次红柱的范围?

这样看下

DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26),LINETHICK1;
DEA  := EMA(DIFF,9),LINETHICK1;
MACD:=2*(DIFF-DEA),COLORSTICK;
J:=CROSS(DIFF,DEA);
S:=CROSSDOWN(DIFF,DEA);
IF(MACD>0&&BARSLAST(S)-BARSLAST(J)<=3,SUMBARS(J,2),BARSLAST(J));
投资者咨询:[求助]MACD指标问题 (文华财经WH8赢智V8.2)
来源:文华财经  日期:2019-2-18 10:52

好像不对。

如果在两波红柱中间有小于3根的绿柱,就将这两波红柱还有中间的绿柱定义为一波红柱。如果两波绿柱中间出现小于3根的红柱,就将其定义为一波绿柱。

技术人员回复
日期:2019-2-18 11:28
楼上的写法是取这个距离 就是如果当前是红柱 如果前一波绿柱小于等于3根 则取两波红+一波绿的整体距离视作一波红柱

加入红绿判断看下

DIFF :=EMA(CLOSE,12) - EMA(CLOSE,26),LINETHICK1;
DEA  := EMA(DIFF,9),LINETHICK1;
MACD:=2*(DIFF-DEA),COLORSTICK;
J:=CROSS(DIFF,DEA);
S:=CROSSDOWN(DIFF,DEA);

IF(MACD>0,IF(MACD>0&&BARSLAST(S)-BARSLAST(J)<=3,SUMBARS(J,2),BARSLAST(J)),NULL);
IF(MACD<0,IF(MACD<0&&BARSLAST(J)-BARSLAST(S)<=3,SUMBARS(S,2),BARSLAST(S)),NULL);