ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

增强版MACD背离买卖点副图指标:通达信公式源码与实盘避坑指南

增强版MACD背离买卖点副图指标:通达信公式源码与实盘避坑指南 简介通达信指标公式源码增强版MACD背离买卖点提示副图指标是一份面向股票技术分析爱好者与通达信软件用户的文档型资源核心解决传统MACD背离不易识别、买卖点判断滞后的痛点。文档附完整指标公式源码并逐段拆解DIFF、DEA、MACD2等基础计算逻辑以及多头/空头交叉、风险预警、高低点背离画线等判断规则帮助读者量化背离信号与实际价格走势的关联适合有一定K线与指标基础、希望优化自身交易系统的使用者。压缩包仅含1个doc文件大小约250KB便于快速下载与离线阅读。目前已有1186人学习下载可见其参考价值。通过该文档读者可直接将代码粘贴至通达信副图结合文中顶背离、底背离及风险提示逻辑辅助把握潜在买卖时机。 做了这么多年通达信公式被问得最多的一个问题是为什么用肉眼看MACD背离感觉很准一写成指标就各种不靠谱答案是肉眼看背离是“事后识别”盯着已经走完的图形谁都能看出来而公式要在每一根K线上自动做判断规则必须非常严格。今天分享的这套增强版MACD背离买卖点提示副图指标就是把我自己这几年踩坑后沉淀下来的识别规则、源码实现和实盘经验一次讲清楚。适合两类人看一是想搞明白背离公式到底怎么写、为什么这么写的人二是直接拿代码去用、但不想被未来函数和信号漂移坑到的人。1. 为什么“肉眼看背离”和“公式判背离”完全不是一回事1.1 柱状体背离与DIF线背离的区别很多人平时看背离盯的是红绿柱的变化。红绿柱本质是DIF与DEA差值的两倍它对价格波动的敏感度极高震荡行情里经常出现“柱体连续收缩但价格继续创新高”的情况看起来到处都是背离信号。可一旦把这些信号逐个复盘会发现大部分是假信号。真正稳定度更高的是DIF线与价格之间的背离价格创出新高的同时DIF值没有同步创出新高。原因在于DIF是EMA均线差天然带有平滑属性能把很多单日异动过滤掉。我在公式里做背离对照时始终以DIF值为基准而不是MACD柱状体。这一点是整套指标能用的前提也是很多网上下载的背离公式容易滥发信号的根本原因。1.2 背离的级别与观察周期必须对齐第二个容易踩的坑是级别错配。日线级别的背离和30分钟级别的背离含义完全不同。日线底背离对应的是中期下跌动能衰竭30分钟底背离可能只够支撑一两天反弹。如果公式的观察周期设置得太短比如用10周期去抓日线级别的顶背离那每天都能抓出一堆“顶背离”实际上只是正常波动。我在这套指标中把背离观察周期、摆动点灵敏度都做成了可调参数。复盘用30周期日线级别比较合适做短线可以压到15周期参数本身没有绝对标准关键是和你交易的级别保持一致。行情软件里同一条公式放到不同周期图上效果天差地别原因就在这里。1.3 第一次背离往往不是底二次背离才是关键第三个经验是“背离可以钝化”。第一次底背离出现后价格可能继续下跌MACD的DIF值跟着再创新低形成二次背离甚至三次背离。实际走势中一次底背离直接反转的概率不算高二次背离的可靠性明显好得多。所以增强版公式里我专门把“二次背离”作为独立状态标记出来当二次背离出现时图上的提示信号和第一次背离不一样。文章后面会看到源码里用REF(底背离,1)来判断之前是否出现过同类背离信号——这个逻辑写起来不难但对实战的指导价值非常大。2. 增强版指标源码背离识别、二次背离、买卖点提示一次到位2.1 源码结构概览整套副图指标分成四个模块中间变量计算、摆动点定位、背离状态判断、买卖点绘制。中间变量负责算出DIF、DEA和MACD柱摆动点定位负责寻找最近的高点和低点位置背离状态判断负责比较价格与DIF的关系买卖点绘制把结果可视化成图标和文字。需要注意下面这版我定义为“复盘增强版”因为它用了PEAKBARS和TROUGHBARS这类摆动点函数来精确定位高低点定位精度高、信号位置干净但是有信号漂移的特性。适合收盘后复盘、确认信号用不适合盘中直接按信号追单。实盘版我会在第4章给出替代方案。2.2 完整源码{增强版MACD背离买卖点副图指标复盘版} DIFZ:EMA(CLOSE,12)-EMA(CLOSE,26); DEAZ:EMA(DIFZ,9); MACDZ:(DIFZ-DEAZ)*2; {摆动点定位5%为灵敏度阈值} 高1位置:PEAKBARS(1,5,1); 高1价格:REF(HIGH,高1位置); 高1DIF:REF(DIFZ,高1位置); 低1位置:TROUGHBARS(2,5,1); 低1价格:REF(LOW,低1位置); 低1DIF:REF(DIFZ,低1位置); {顶背离与底背离} 顶背离:C高1价格 AND DIFZ高1DIF AND 高1位置1; 底背离:C低1价格 AND DIFZ低1DIF AND 低1位置1; {背离与金叉死叉共振形成买卖点} 买点:底背离 AND CROSS(DIFZ,DEAZ); 卖点:顶背离 AND CROSS(DEAZ,DIFZ); {二次背离标记} 双底背离:底背离 AND REF(底背离,1); 双顶背离:顶背离 AND REF(顶背离,1); {绘制MACD柱} STICKLINE(MACDZ0,0,MACDZ,2,0),COLORRED; STICKLINE(MACDZ0,0,MACDZ,2,0),COLORCYAN; {绘制买卖点与背离文字} DRAWICON(买点,LOW*0.97,1); DRAWICON(卖点,HIGH*1.03,2); DRAWICON(双底背离,LOW*0.93,7); DRAWICON(双顶背离,HIGH*1.07,8); DRAWTEXT(底背离,LOW*0.95,底背离),COLORYELLOW; DRAWTEXT(顶背离,HIGH*1.05,顶背离),COLORWHITE;把这段代码完整复制进通达信公式编辑器的副图指标里测试通过后即可显示。图标1是红脸买入图标2是绿脸卖出图标7和8是二次背离的增强提示DRAWTEXT会直接在当前K线下方或上方标注“底背离”和“顶背离”文字。3. 公式逐行解读摆动点定位与背离共振的判定细节3.1 PEAKBARS与TROUGHBARS如何定位背离的两个极点判定背离的核心难点是必须找到“上一次价格高点在哪里”然后才能比较“当前DIF和上次高点时的DIF谁更高”。PEAKBARS(1,5,1)的含义是寻找最近一个价格摆动高点该高点的反向波动幅度达到5%返回它与当前K线之间相隔的周期数。TROUGHBARS(2,5,1)则是找最近一个摆动低点。拿到位置之后用REF(HIGH,高1位置)取出那个高点对应的价格用REF(DIFZ,高1位置)取出同一时刻的DIF值。比较逻辑就很清晰了当前价格突破了前高但当前DIF低于前高位置的DIF值说明价格在涨而上涨动能没有跟上顶背离成立。底背离逻辑完全对称。这套写法比直接比较当前DIF和N周期内DIF最大值要精确得多因为它锁定的是“最近一个有效摆动点”而不是简单的时间窗口极值。代价是PEAKBARS依赖“未来识别”——它需要后续K线走出来之后才能确认哪个位置是真正的峰。这也是为什么这个版本叫复盘版。3.2 为什么对照DIF而不是MACD柱前文我提到柱状体背离容易滥发信号公式层面再补一个细节。MACD柱的表达式是(DIF-DEA)*2本身是DIF与DEA的差值放大。当DIF和DEA都在零轴上方运行时两者差值天然会随价格波动频繁变化用柱体做背离对照等于把噪声也放大了。DIF则不同它是EMA(CLOSE,12)与EMA(CLOSE,26)的差值反映的是中期与短期的趋势差值天然具备平滑效果。公式里所有背离判断都引用高1DIF和低1DIF这两个基于DIF的变量就是为了减少单根K线导致的假背离。3.3 买点卖点的共振条件公式里没有把“背离”直接当买卖点而是加了一个共振条件底背离出现之后必须等到DIF上穿DEA形成金叉才画买入图标。顶背离则要等死叉确认。这个设计解决的是“背离出现但价格还没反转”的问题。背离本身只是动能衰竭的信号衰竭之后可能横盘、可能小反弹、也可能继续跌。金叉死叉提供了趋势转向的确认信号两者共振成功率会明显好过单一条件。二次背离信号同理只是在底背离出现后额外检查了REF(底背离,1)也就是前一根K线是否已经出现过背离标记。4. 换成无未来函数版本才能实盘HHV/LLV替代方案4.1 未来函数与信号漂移的坑复盘版好用但不能直接拿去实盘原因在于PEAKBARS这类函数的“记忆”会随行情变化。假设当前找到的峰是A点股价继续创新高后系统会重新确认新的峰是B点那么之前基于A点计算的背离信号在历史K线上的位置就会发生变化。这在公式领域叫“信号漂移”。我最初用复盘版做盘中跟踪时发现一个底背离信号经常在收盘后“消失”或者“转移”就是因为这个原因。后来在实盘指标里全部换成了HHV和LLV方案。HHV是取最近N周期的最高值只要当前K线满足条件信号就是固定的不会漂移。4.2 实盘版完整源码与使用建议{增强版MACD背离副图指标实盘版} DIFZ:EMA(CLOSE,12)-EMA(CLOSE,26); DEAZ:EMA(DIFZ,9); MACDZ:(DIFZ-DEAZ)*2; N:30; 价新高:CLOSEHHV(HIGH,N); 价新低:CLOSELLV(LOW,N); DIF新高:DIFZHHV(DIFZ,N); DIF新低:DIFZLLV(DIFZ,N); 顶背离:价新高 AND NOT(DIF新高) AND DIFZREF(DIFZ,1); 底背离:价新低 AND NOT(DIF新低) AND DIFZREF(DIFZ,1); 买点:底背离 AND CROSS(DIFZ,DEAZ); 卖点:顶背离 AND CROSS(DEAZ,DIFZ); STICKLINE(MACDZ0,0,MACDZ,2,0),COLORRED; STICKLINE(MACDZ0,0,MACDZ,2,0),COLORCYAN; DRAWICON(买点,LOW*0.97,1); DRAWICON(卖点,HIGH*1.03,2); DRAWTEXT(底背离,LOW*0.95,底背离),COLORRED; DRAWTEXT(顶背离,HIGH*1.05,顶背离),COLORGREEN;实盘版用“价格创N周期新高但DIF未创N周期新高”来识别顶背离逻辑简单直接没有任何未来数据参与。信号位置固定盘中看和收盘后看完全一致。缺点是对“前一个高点”的定位不如PEAKBARS精确个别时候会把相邻很近的两个高点误判成一对背离。使用时建议把N设为20到30之间短线交易可以压到15N太小信号太多N太大信号太稀需要根据交易品种自身波动节奏调整。5. 导入通达信与排错从新建公式到信号稳定显示5.1 新建副图指标的完整操作打开通达信软件按CtrlF唤起公式管理器。左侧选择“技术指标公式”点击“新建”弹出的界面里依次填写公式名称建议写MACD增强背离画线方法务必选择“副图”否则公式结果不会显示在副图区域。把前面任一套源码复制进编辑区点“测试公式”下方会提示“测试通过”。最后确认保存在K线图中直接输入公式名称首字母就能调出来。一个容易忽略的细节通达信公式编辑器对全角半角符号很敏感。从网页复制代码时偶尔会把中文引号、中文括号带进来导致“测试公式”报错。如果报错先把代码里的括号、引号全部切换成英文输入法再试八成问题就解决了。5.2 高频报错与不显示信号的原因排查常见的报错类型有三种。第一种是“缺少括号”或“缺少分号”基本是复制时把英文括号弄成了中文括号或者删掉了行尾分号。第二种是“变量重复定义”如果公式里同时使用了系统内置的DIF变量名和自己的变量名会出现冲突代码里我特意用DIFZ、DEAZ、MACDZ来规避。第三种是编译通过但副图窗口没有任何内容这时检查公式是不是被放到了主图叠加或者公式类型选成了“选股公式”。如果编译通过、有MACD柱但看不到背离图标多半是当前K线没有满足信号条件属于正常情况。可以换到历史中一段明显下跌或上涨的区间查看比如一段持续阴跌后首次金叉的位置基本能看到底背离提示。信号是否出现、出现的频率直接受N值和5%灵敏度影响参数不同结果差异很大。5.3 关于源码加密与公式解锁的说明网上很多指标下载下来带着密码锁源码无法直接查看或修改。本文给出的代码没有做任何加密复制即用需要调整参数时直接修改对应数字即可。带密码锁的公式本质上是作者为了保护劳动成果设的权限和本文场景无关。如果想把这套指标改得更顺手比如调整颜色、改变图标位置直接编辑源码里对应的DRAWTEXT和DRAWICON行就行通达信的自绘函数非常灵活改起来没有额外成本。我个人的使用习惯是复盘版放在日线级别做历史信号统计用复盘版把那些“一眼就能看出来”的经典背离位置标记出来再对照实盘版观察它在震荡行情里会不会多出一些噪声信号。两套版本配合着用比单独用任何一个都踏实。本文还有配套的精品资源点击获取
返回列表