在文章《MACD与KDJ的同框叠加》发布之后,有网友留言提出MACD与KDJ共同进行数据筛选的思路,本文进行筛选算法的建立。 思路步骤
算法建立
DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG); DEA:=EMA(DIF,MID); MACD:=(DIF-DEA)*2; RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,M1,1); D:=SMA(K,M2,1); J:=3*K-2*D; 2.应用BARSLAST函数,筛选当前MACD大于零 BARSLAST(MACD<0)=1 计算逻辑为昨天的MACD处在0轴之下。 3.应用CROSS函数,对数据进行K值上穿D值的筛选; CROSS(K,D); 4.或者应用CROSS函数,对数据进行J值上穿0轴的筛选; CROSS(J,0); 5.或者应用CROSS函数,对数据进行J值上穿D值的筛选; CROSS(J,D); 完整代码 ![]() 参数1~4 ![]() 参数5~6 DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG); DEA:=EMA(DIF,MID); MACD:=(DIF-DEA)*2; RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,M1,1); D:=SMA(K,M2,1); J:=3*K-2*D; CONST(BARSLAST(MACD<0))=1 AND CROSS(K,D); 或者 DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG); DEA:=EMA(DIF,MID); MACD:=(DIF-DEA)*2; RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,M1,1); D:=SMA(K,M2,1); J:=3*K-2*D; CONST(BARSLAST(MACD<0))=1 AND CROSS(J,0); 或者 DIF:=EMA(CLOSE,SHORT)-EMA(CLOSE,LONG); DEA:=EMA(DIF,MID); MACD:=(DIF-DEA)*2; RSV:=(CLOSE-LLV(LOW,N))/(HHV(HIGH,N)-LLV(LOW,N))*100; K:=SMA(RSV,M1,1); D:=SMA(K,M2,1); J:=3*K-2*D; CONST(BARSLAST(MACD<0))=1 AND CROSS(J,D); 最后对所选定的数据,使用文章《MACD与KDJ的同框叠加》中的副图标注算法进行分析处理。 |
|