• 18976542384

    工作时间

    周一至周五:9:00-21:00

    周末及节日:9:00-18:00

  • 手机版二维码

    手机快速找资源

  • 扫描二维码

    加入官方qq群

[源码] (15) M A C D指标顶、底背离的选股及在主图上的显示

4
回复
224
查看
[复制链接]

25

主题

12

回帖

159

积分

注册会员

Rank: 2

积分
159
发表于 2023-9-9 11:05:18 | 显示全部楼层 |阅读模式

(大家好,我是稳健投资人。如果您对这里的话题感兴趣的话,请点击上方的“关注”,以方便下次快速找到我。)

朋友们好!

前面两讲,我们学习了MACD指标的变色公式、MACD零上金叉和MACD底背离的条件选股公式的写法,文章发布后,反映比较强烈。

JIN**HE说:“姐,帮帮忙,再给写一下顶背离吧,我几次都是过山车,钱回撤。”

因为中国股市不能做空,所以个人认为运用MACD顶背离进行选股的意义不大。

但既然有需求,那就试着写一个MACD顶背离的指标公式,并把“顶背”两字显示在主图上。

一、MACD顶背离的指标公式:

将上一讲的底背离公式源码:

…… …… …… …… ……

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

{收盘价的12日指数移动平均-收盘价的26日指数移动平均}

DEA:=EMA(DIF,9); {DIF的9日指数移动平均}

JC:=CROSS(DIF,DEA); {DIF金叉DEA}

JC1:=BARSLAST(JC); {上次JC距今天数}

JC2:=BARSLAST(REF(JC,1)); {上次金叉前1日的JC距今天数}

GJ:=MA(C,10)<MA(C,20) AND MA(C,20)<MA(C,60);

{10、20、60日均线空头排列}

JC AND GJ AND REF(DIF,JC1)>REF(DIF,JC2) AND EVERY(DEA<0,JC2) AND REF(C,JC1)<REF(C,JC2);

{当日DIF金叉DEA,且短均线空头排列,且本次金叉时DIF的值比上次金叉时大,且上次DIF金叉DEA以来DEA都小于0,且本次DIF金叉DEA时的最低价小于上次DIF金叉DEA时的最低价}

…… …… …… …… ……

改写成顶背离公式(金叉改为死叉,空头改为多头):

…… …… …… …… ……

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

{收盘价的12日指数移动平均-收盘价的26日指数移动平均}

DEA:=EMA(DIF,9); {DIF的9日指数移动平均}

SC:=CROSS(DEA,DIF); {DIF死叉DEA}

SC1:=BARSLAST(SC); {上次SC距今天数}

SC2:=BARSLAST(REF(SC,1)); {上次死叉前1日的SC距今天数}

GJ:=MA(C,10)>MA(C,20) AND MA(C,20)>MA(C,60);

{10、20、60日均线多头排列}

XG:=SC AND GJ AND REF(DIF,SC1)<REF(DIF,SC2) AND EVERY(DEA>0,SC2) AND REF(H,SC1)>REF(H,SC2);

{当日DIF死叉DEA,且短均线多头排列,且本次金叉时DIF的值比上次金叉时小,且上次DIF金叉DEA以来DEA都大于0,且本次DIF死叉DEA时的最高价大于上次DIF金叉DEA时的最高价}

…… …… …… …… ……

彩虹桥-投资充电站


二、MACD顶背离的条件选股方法:

1、将上面的MACD顶背离的公式直接复制到新建立条件选股公式中去,进行条件选股即可。

2、直接利用上面的公式进行综合选股:(15-9)

彩虹桥-投资充电站


三、当股价发生顶、底背离时,用文字在主图上显示出来:

先看顶背离,就在刚才的临时文件中改写。

其实在主图上显示文字我们不是第一次了,大家还有印象吗?

1、先改写最后一句,把输出改成赋值,即在XG:后面加等号,然后在主图上不显示这条线,该用哪个函数呢?

DRAWNULL 返回无效数 【引用函数】),在下面句子最后的分号前写上”, DRAWNULL”

XG:=SC AND GJ AND REF(DIF,SC1)<REF(DIF,SC2) AND EVERY(DEA>0,SC2) AND REF(H,SC1)>REF(H,SC2), DRAWNULL;

2、在主图上显示文字:

要用到函数:DRAWTEXT 显示文字 【绘图函数】

DRAWTEXT(,,),括号里要填写三项:第一顶是满足的条件,第二项是位置,第三项是文字:

DRAWTEXT(XG,H, '顶背');

把这两句话写到临时公式里,在右上角的【画线方法】的下拉菜单选择“主图叠加”:

…… …… …… …… ……

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

{收盘价的12日指数移动平均-收盘价的26日指数移动平均}

DEA:=EMA(DIF,9); {DIF的9日指数移动平均}

SC:=CROSS(DEA,DIF); {DIF死叉DEA}

SC1:=BARSLAST(SC); {上次SC距今天数}

SC2:=BARSLAST(REF(SC,1)); {上次死叉前1日的SC距今天数}

GJ:=MA(C,10)>MA(C,20) AND MA(C,20)>MA(C,60);

{10、20、60日均线多头排列}

XG:=SC AND GJ AND REF(DIF,SC1)<REF(DIF,SC2) AND EVERY(DEA>0,SC2) AND REF(H,SC1)>REF(H,SC2), NODRAW;

{当日DIF死叉DEA,且短均线多头排列,且本次金叉时DIF的值比上次金叉时小,

且上次DIF金叉DEA以来DEA都大于0,且本次DIF死叉DEA时的最高价大于上次DIF金叉DEA时的最高价}

DRAWTEXT(XG,H,'顶背')

{满足“XG”条件时,在最高价处,显示“顶背”}

…… …… …… …… ……

彩虹桥-投资充电站


鼠标放到到主图K 线图中,点击后,输入“LS”,调出刚才编写的“临时”,画线方法选择“主图叠加”:

彩虹桥-投资充电站


还可以把“顶背”两个字的颜色变成黄色醒目一些,位置再抬高点:H+0.1,然后再这个“临时”文件中的源码复制、粘贴到主图中去.

再将上一讲的底背离指标也改写到主图中去,过程就不详细说了,直接上源码,都是测试通过的。

我的均线系统2:

…… …… …… …… ……

MA5:MA(C,5),COLORWHITE; {5日移动平均线}

MA10:MA(C,10),COLORYELLOW; {10日移动平均线}

MA25:MA(C,25),COLORLIBLUE; {25日移动平均线}

MA60:MA(C,60),COLORRED;

MA120:MA(C,120),COLORBLUE; {120日移动平均线}

MA250:MA(C,250),COLORLIGRAY; {250日移动平均线}

IF(MA5<REF(MA5,1),MA5,DRAWNULL),COLORWHITE,LINETHICK2;

IF(MA10<REF(MA10,1),MA10,DRAWNULL),COLORYELLOW,LINETHICK2;

IF(MA25<REF(MA25,1),MA25,DRAWNULL),COLORLIBLUE,LINETHICK2;

IF(MA60<REF(MA60,1),MA60,DRAWNULL),COLORRED,LINETHICK2;

{今日的60日平均价大于昨天的60日平均价,则返回MA60,用红色2号粗线显示};

IF(MA120<REF(MA120,1),MA120,DRAWNULL),COLORBLUE,LINETHICK2;

IF(MA250<REF(MA250,1),MA250,DRAWNULL),COLORLIGRAY,LINETHICK2;

涨停:

STICKLINE(C>=REF(C,1)*1.099,CLOSE,OPEN,2,0),COLORRED;

{当涨停板时,在收盘价和开盘价位置之间画红色柱状线,宽度为2的实心柱}

跌停:

STICKLINE(C<=REF(C,1)*0.901,CLOSE,OPEN,2,0),COLORBLUE;

{当跌停板时,在收盘价和开盘价位置之间画蓝色柱状线,宽度为2.5的实心柱};


DRAWTEXT_FIX(1,0,0,0,'地区:'),COLORRED;DRAWTEXT_FIX(1,0.03,0,0,DYBLOCK),COLORRED;

DRAWTEXT_FIX(1,0.1,0,0,'行业:'),COLORGREEN;DRAWTEXT_FIX(1,0.13,0,0,HYBLOCK),COLORGREEN;

DRAWTEXT_FIX(1,0.19,0,0,'概念:'),COLORFF00FF;DRAWTEXT_FIX(1,0.22,0,0,GNBLOCK),COLORFF00FF;


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

{收盘价的12日指数移动平均-收盘价的26日指数移动平均}

DEA:=EMA(DIF,9); {DIF的9日指数移动平均}

SC:=CROSS(DEA,DIF); {DIF死叉DEA}

SC1:=BARSLAST(SC); {上次SC距今天数}

SC2:=BARSLAST(REF(SC,1)); {上次死叉前1日的SC距今天数}

GJ:=MA(C,10)>MA(C,20) AND MA(C,20)>MA(C,60);

{10、20、60日均线多头排列}

XG:=SC AND GJ AND REF(DIF,SC1)<REF(DIF,SC2) AND EVERY(DEA>0,SC2) AND REF(H,SC1)>REF(H,SC2), NODRAW;

{当日DIF死叉DEA,且短均线多头排列,且本次金叉时DIF的值比上次金叉时小,且上次DIF金叉DEA以来DEA都大于0,且本次DIF死叉DEA时的最高价大于上次DIF金叉DEA时的最高价}

DRAWTEXT(XG,H+0.1,'顶背'),COLORYELLOW;

{满足“XG”条件时,在最高价+0.1处,显示“顶背”}


JC:=CROSS(DIF,DEA); {DIF金叉DEA}

JC1:=BARSLAST(JC); {上次JC距今天数}

JC2:=BARSLAST(REF(JC,1)); {上次金叉前1日的JC距今天数}

GJ2:=MA(C,10)<MA(C,20) AND MA(C,20)<MA(C,60);{10、20、60日均线空头排列}

XG2:=JC AND GJ2 AND REF(DIF,JC1)>REF(DIF,JC2) AND EVERY(DEA<0,JC2) AND REF(L,JC1)<REF(L,JC2);

{当日DIF金叉DEA,且短均线空头排列,且本次金叉时DIF的值比上次金叉时大,且上次DIF金叉DEA以来DEA都小于0,且本次DIF金叉DEA时的最低价小于上次DIF金叉DEA时的最低价};

DRAWTEXT(XG2,L-0.1,'底背'),COLORMAGENTA;

{满足“XG2”条件时,在最低价-0.1处,显示“底背”}

…… …… …… …… ……

彩虹桥-投资充电站

注意1:源码中凡是用浅灰色显示的文字都是解释,为的是便于大家看公式方便,如果你常得文字太多,都是可以删去的。

注意2:图中所有均线都将其改成向下时用粗线显示,向上是用同色的细线显示,这样多头市场和空头市场可以一目了然,方便我们看盘。

注意3:不管是“顶背离”“底背离”信号,都不含未来函数。

出现了“顶背离”信号后,如果后市多头做多意愿强烈,放量上冲,那“顶背离”就有可能化解,特别是股价涨幅不多时,这种“顶背离”被化解的还是蛮多的。

但如果股价涨得太多了,那出现“顶背离”信号时,要有“宁可错过,不能做错”的心态,逃命要紧。

对“底背离”信号的理解正好反过来,大家自行去理解吧。

今天就到这里了,下次再见!

(原创不易,请朋友们帮忙点赞、收藏、转发哦!赠人玫瑰,留有余香!)

回复

使用道具 举报

0

主题

11

回帖

33

积分

新手上路

Rank: 1

积分
33
发表于 2023-11-2 18:47:21 | 显示全部楼层
没看完~~~~~~ 先顶,好同志
回复

使用道具 举报

0

主题

9

回帖

32

积分

新手上路

Rank: 1

积分
32
发表于 2023-12-16 20:37:59 | 显示全部楼层
厉害了!
回复

使用道具 举报

0

主题

4

回帖

18

积分

新手上路

Rank: 1

积分
18
发表于 2024-3-27 13:19:32 | 显示全部楼层
厉害了!
回复

使用道具 举报

0

主题

12

回帖

36

积分

新手上路

Rank: 1

积分
36
发表于 2024-4-8 14:18:14 | 显示全部楼层
这个资源我有了,不过还是感谢楼主分享
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

全国统一客服电话
18976542384

24x7小时免费咨询

  • 官方在线客服

    QQ客服:股海浪子

    点击交谈

    QQ客服:beyond

    点击交谈

    QQ客服:明月

    点击交谈
  • 广东省深圳市福田区深南大道2012号

  • 添加客服微信

    可领取网站任一指标一个

  • 加入指标qq分享群

    免费领取资源

Powered by Discuz!X3.4 ©2001-2013 Comsenz Inc.彩虹桥投资充电站( 粤ICP备19084539号 )|网站地图