乐于分享
好东西不私藏

横盘共振突破信号指标(源码文末自取)

横盘共振突破信号指标(源码文末自取)

朋友投稿

编写一个横盘突破的指标,横盘的标准是:单均线走平后,MACD处于0轴附近,突破的标准是KDJ,当J值上穿0轴为多头,当J值下穿0轴为空头。均线走平要满足近期K线波动率。

整理需求:

要创建一个横盘突破的指标,我们需要结合多个技术指标:均线、MACD和KDJ。以下是一个基于提供的思路整理的步骤和策略:

1.均线走平

选择一个合适的均线周期,例如20日均线。

判断均线是否走平,可以通过计算均线的斜率或者观察均线在一定时间窗口(比如过去N天)内的变化范围来实现。如果斜率接近0或者变化范围很小,则可以认为均线走平。

同时,为了确保均线走平是在一个相对稳定的范围内,可以加上对近期K线波动率的限制。例如,可以计算过去M天(M < N)的最高价和最低价的差值,如果这个差值小于某个阈值,则认为是低波动率。

2.MACD处于0轴附近

使用标准的MACD计算方法,包括快线(DIF)和慢线(DEA)以及柱状图(MACD柱)。

判断MACD是否处于0轴附近,可以通过观察DIF和DEA线是否接近0轴,并且MACD柱的长度是否很小(接近于0)来实现。

3.KDJ指标

使用KDJ随机指标,包括K值、D值和J值。

判断KDJ的J值是否上穿或下穿0轴。

4.策略整合

当均线走平且MACD处于0轴附近时,开始关注KDJ指标的J值。

如果J值上穿0轴,则认为是多头突破,可以发出买入信号。

如果J值下穿0轴,则认为是空头突破,可以发出卖出信号。

5.编程实现

编写代码来计算均线、MACD和KDJ指标。

添加逻辑来检测均线走平和MACD处于0轴附近的条件。

添加逻辑来处理KDJ指标的J值上穿或下穿0轴的情况,并发出相应的交易信号。

6.测试和优化

在历史数据上进行回测,验证指标的有效性。

根据回测结果调整参数(如均线周期、N和M的值、MACD和KDJ的参数等),以优化指标的性能。

效果展示:

源码展示:

M1:MA(C,60),COLORWHITE,LINETHICK2;DIF:=EMA(C,12)=EMA(C,26);DEA:=EMA(DIF,9);MACD:=2*(DIF-DEA);RSV:=(C-LLV(L,9))/(HHV(H,9)-LLV(L,9))*100;K:=SMA(RSV,3,1);D:=SMA(K,3,1);J:=3*K-2*D;MTR:MAX(MAX((H-L),ABS(REF(C,1)-H)),ABS(REF(C,1)-L));ATR:MA(MTR,14);ZD:=HHV(M1,10);ZX:=LLV(M1,10);    ZP:=ZD-ZX<ATR/2;DIF0:=ABS(DIF)<5;DEA0:=ABS(DEA)<5;MACD0:=ABS(MACD)<5;UPT:=CROSS(J,0);DOWNT:=CROSS(100,J);DRAWTEXT(ZP&&DIF0&&DEA0&&MACD0&&UPT,L*0.99,'多头');DRAWTEXT(ZP&&DIF0&&DEA0&&MACD0&&DOWNT,H*1.01,'空头')