夜雨聆风学习资料网

ARTICLE · 1166108

底背离雷达指标:三路同时找底(源码)

底背离雷达指标:三路同时找底(源码)

底背离为什么要算三次

底背离的逻辑很朴素:价格创了新低,指标却不肯跟着创新低,说明下跌的力气在衰减。

问题是「指标」用哪一个。习惯用 MACD 的人说 MACD 准,习惯用 KDJ 的人说 KDJ 灵。

这条指标干脆三路都算一遍:MACD、KDJ、RSI 各算一路。哪一路先跳出来,它都告诉你。

每一路怎么算

三路的算法是一样的三步。

第一步,找到上一次金叉的位置,记住它离现在有多少根 K 线。

第二步,比较现在和上一次金叉时的价格。现在的价格更低,说明价格创了新低。

第三步,比较现在和上一次金叉时的指标读数。读数反而更高,背离就成立。

三路唯一的区别,是第一步里的金叉分别来自 MACD 的快慢线、KDJ 的 K 与 D、RSI 的两条线。

三路汇总

每一路成立的时候,会在对应的位置画一个标记并写出缩写。

三路里只要有一路成立,汇总的那条标记就点亮。

这里要说明一点:三路同时成立的情况很少。多数时候是一路先出现,另外两路过几天才跟上。

所以看到单路标记就值得记下来,不必等三个齐。

下半部分:趋势主线

图的下半部分是一条趋势线,取值在 0 到 100 之间。

它的算法是 27 天的位置指标做三重平滑,再按 5、3、2 的权重叠起来。三重平滑的代价是钝,好处是几乎没有毛刺。

趋势线再平滑一次得到慢线。快线在慢线上方画紫柱,慢线在上方画灰柱,柱体长度就是两条线之间的差值。

两端的极端区

趋势线有两个阈值:108 和 0。

冲上 108 说明进超买区,用红柱标出来;跌破 0 说明进超卖区,用洋红柱标出来。

上端还有一个 108 的天线,趋势从上方回落穿过它的时候会标出逃顶。

两个风险提示

下半部分还带两档风险提示,算法一样,只是观察的周期不同。

第一档:5 日均线创下 20 天新高、站上 20 日均线、并且连续三天收阳。

第二档:把上面的 20 换成 120 天。

两档的区别在于位置高低。20 天维度出风险,往往是短线过热;120 天维度出风险,说明已经是中长期的高位了。

怎么用

这条指标的信号偏少,这是刻意的。

真正有用的是背离标记和趋势线的相对位置一起看:背离出现在趋势线 0 附近,含金量最高;背离出现在 50 以上的位置,那就是下跌途中的一次挣扎,别当转折。

一个背离是提醒,两个背离是线索,三个背离才是位置。

温馨提示

1、指标:www.logic88.cn

2、本指标仅作为知识分享,不构成任何建议。

指标源码

{三路底背离雷达:MACD、KDJ、RSI 各自找,任一路成立就报}

DIF_LINE:=EMA(CLOSE,12) - EMA(CLOSE,26);

DEA_LINE:=EMA(DIF_LINE,8);

BARS_MACD:=BARSLAST(REF(CROSS(DIF_LINE,DEA_LINE),1));

DIV_MACD:=REF(C,BARS_MACD+1)>C AND REF(DIF_LINE,BARS_MACD+1)<DIF_LINE AND CROSS(DIF_LINE,DEA_LINE);

MACD_BOT_DIV:IF(DIV_MACD>0,50,0) AND L-0.1;

DRAWTEXT(MACD_BOT_DIV,72,'MACDY底背');

{第二路:KDJ 的 K、D 低位金叉,同时价格创出新低}

RSV9:=(CLOSE-LLV(LOW,9))/(HHV(HIGH,9)-LLV(LOW,9))*100;

K_LINE:=SMA(RSV9,3,1);

D_LINE:=SMA(K_LINE,3,1);

BARS_KDJ:=BARSLAST(REF(CROSS(K_LINE,D_LINE),1));

DIV_KDJ:=REF(C,BARS_KDJ+1)>C AND REF(K_LINE,BARS_KDJ+1)<K_LINE AND CROSS(K_LINE,D_LINE);

KDJ_BOT_DIV:IF(DIV_KDJ>0,50,0) AND L-0.25;

{第三路:RSI 快慢线金叉,同时价格创出新低}

C_PREV:=REF(CLOSE,1);

RSI_FAST:=SMA(MAX(CLOSE-C_PREV,0),6,1)/SMA(ABS(CLOSE-C_PREV),6,1)*100;

RSI_SLOW:=SMA(MAX(CLOSE-C_PREV,0),12,1)/SMA(ABS(CLOSE-C_PREV),12,1)*100;

BARS_RSI:=BARSLAST(REF(CROSS(RSI_FAST,RSI_SLOW),1));

DIV_RSI:=REF(C,BARS_RSI+1)>C AND REF(RSI_FAST,BARS_RSI+1)<RSI_FAST AND CROSS(RSI_FAST,RSI_SLOW);

RSI_BOT_DIV:IF(DIV_RSI>0,50,0) AND L-0.4;

{三路里只要有一路成立,全底背就点亮}

ALL_BOT_DIV:IF(MACD_BOT_DIV OR KDJ_BOT_DIV OR RSI_BOT_DIV,50,0),COLORFF00FF;

DRAWTEXT(MACD_BOT_DIV,50,'M底背'),COLOR0000FF;

DRAWTEXT(KDJ_BOT_DIV,65,'K底背'),COLOR0000FF;

DRAWTEXT(RSI_BOT_DIV,80,'R底背'),COLOR0000FF;

DRAWTEXT(ALL_BOT_DIV,100,'全底背'),COLORBLUE,LINETHICK2;

{下面是趋势主线:27 日随机指标做三重平滑,取值 0~100}

TREND_MAIN: 5*SMA((CLOSE-LLV(LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1)-3*SMA(SMA((CLOSE-LLV (LOW,27))/(HHV(HIGH,27)-LLV(LOW,27))*100,5,1),3,1)-SMA(SMA(SMA((CLOSE-LLV(LOW,27))/(HHV (HIGH,27)-LLV(LOW,27))*100,5,1),3,1),2,1),LINETHICK0,COLOR7F52AF;

{趋势线再平滑一次得到慢线,两线上下关系定多空}

TREND_SOFT: EMA(MA(TREND_MAIN,5),3),LINETHICK0,COLORA6B8C1;

{快线在上画紫柱、慢线在上画灰柱,柱体就是两线差值}

STICKLINE(TREND_MAIN>=TREND_SOFT,TREND_MAIN,TREND_SOFT,5,0),COLOR7F52AF;

STICKLINE(TREND_MAIN<TREND_SOFT,TREND_MAIN,TREND_SOFT,5,0),COLORA6B8C1;

{趋势冲过 108 进超买区,用红柱提示}

STICKLINE(TREND_MAIN>108 AND TREND_MAIN>=TREND_SOFT,TREND_MAIN,108,5,0),COLORFF0000;

STICKLINE(TREND_SOFT>108 AND TREND_MAIN<TREND_SOFT,TREND_SOFT,108,5,0),COLORFFFFFF;

{趋势跌破 0 进超卖区,用洋红柱提示}

STICKLINE(TREND_MAIN<0 AND TREND_MAIN<TREND_SOFT,TREND_MAIN,0,5,0),COLORF00FF0;

STICKLINE(TREND_SOFT<0 AND TREND_MAIN>TREND_SOFT,TREND_SOFT,0,5,0),COLORF0F000;

{风险提示:5 日均线创 20 日新高、站上 20 日线、连收三阳}

HIGH_FLAG:= MA(CLOSE,5)=HHV(MA(CLOSE,5),20);

MA_ABOVE:= MA(CLOSE,5)>MA(CLOSE,20);

UP3:= COUNT(MA(CLOSE,1)>REF(CLOSE,1),3)=3;

RISK_A: IF(HIGH_FLAG AND MA_ABOVE AND UP3,30,0),LINETHICK0,STICK,COLOR00FF00;

{另一档风险:换成 120 日维度,条件相同、位置更高}

HIGH_FLAG_L:= MA(CLOSE,5)=HHV(MA(CLOSE,5),120);

MA_ABOVE_L:= MA(CLOSE,5)>MA(CLOSE,120);

UP3_L:= COUNT(MA(CLOSE,1)>REF(CLOSE,1),3)=3;

RISK_B: IF(HIGH_FLAG_L AND MA_ABOVE_L AND UP3_L,60,0),LINETHICK0,STICK,COLORF0F000;

BOT_LEVEL: 5,LINETHICK0,COLOR00FFFF;

BOT_SIGNAL: IF(CROSS(TREND_MAIN,BOT_LEVEL),40,0),LINETHICK2,STICK,COLOR00FFFF;

DRAWTEXT(BOT_SIGNAL,50,'抄底'),COLOR0000FF;

{108 是原公式定下的超买天线}

TOP_LEVEL: 108,LINETHICK0,COLORFF9D00;

TOP_SIGNAL: IF(CROSS(TOP_LEVEL,TREND_MAIN),1,0),LINETHICK0,STICK,COLORFF9D00;

STICKLINE(CROSS(TOP_LEVEL,TREND_MAIN),90,108,3,0),COLORFF9D00;

DRAWTEXT(CROSS(TOP_LEVEL,TREND_MAIN),85,'逃顶'),COLORFF9D00;

DRAWTEXT(CROSS(TOP_LEVEL,TREND_MAIN),85,'逃顶'),COLORFF9D00;

选股源码,原文一键复制

相关学习资料