尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

通达信国外MACD主图周线指标公式源码与共振过滤

通达信国外MACD主图周线指标公式源码与共振过滤 简介面向通达信软件使用者与金融技术分析爱好者的一份指标公式文档重点在于把国外MACD思路搬到主图、并按周线周期做改造用来判断趋势转折与多空动能变化。包内只有1个doc文件体积约226KB可直接用Word或WPS打开查阅完整公式代码与绘图指令。源码以收盘价为基础用5日与13日指数移动平均的差值构造动量主线再借助HHV、LLV在短周期与100周期上取极值派生出RR与R两条对称波动区间曲线并以四档彩色横线勾出多空分界带M线经二次平滑加粗显示末根K线位置用▲、▼文字标注动能方向方便快速读取信号。已有131人学习适合希望自行改写参数、调整配色与提示逻辑的中阶用户参考借鉴。1. 通达信国外 MACD 主图指标在周线周期下的价值周线选股时很多人习惯把 MACD 放在副图但真正决定买卖的那根 K 线却在主图来回切换会漏掉金叉死叉与柱状变化的同步位置。标题里的「国外MACD-主图 周线.doc」本质是一套通达信指标公式源码把经典 MACD 的 DIF、DEA 和柱状信号直接叠加到价格主图上并且针对周线周期做了适配。国外 MACD 指 Appel 提出的 12、26、9 参数体系主图版不改变算法只改变信号呈现位置让周线级别的趋势拐点、零轴穿越和红绿柱收缩在同一张图里可见。适合做周线波段、中线持仓或者用 MACD 共振副图做辅助确认的交易者。这套源码解决的是「副图看信号、主图找位置」的割裂问题同时保留通达信原生公式管理器的可编辑性。2. 通达信指标公式源码国外 MACD 主图的核心变量与周线数据源2.1 国外 MACD 的 12、26、9 在周线上要不要改国外 MACD 的默认参数来自日线尺度12 日快速 EMA 与 26 日慢速 EMA 的差构成 DIF9 日 EMA 构成 DEA。放到周线后一根 K 线代表一周12 周约等于三个月26 周约等于半年这个跨度对中线趋势并不突兀。常见做法是直接沿用 12、26、9因为周线本身已经过滤了大量日线噪音再压缩参数容易让信号过于密集。如果做更灵敏的周线波段可以把 SHORT 改成 8、LONG 改成 17MID 保持 9这样 DIF 对周线收盘价的变化反应更快但假信号也会增加。我一般会在公式管理器里建两个版本一个 12、26、9 用于确认趋势一个 8、17、9 用于观察早期拐点两者互不覆盖。先看一段最基础的通达信 MACD 输出代码这段代码通常放在副图指标里是主图公式的变量来源{基础 MACD 输出变量必须用冒号才能被跨周期引用} DIF:EMA(CLOSE,12)-EMA(CLOSE,26); DEA:EMA(DIF,9); MACD:(DIF-DEA)*2,COLORSTICK;逻辑说明EMA(CLOSE,12)计算 12 周期指数移动平均EMA(CLOSE,26)计算 26 周期指数移动平均两者相减得到 DIF。DEA是 DIF 的 9 周期 EMA。MACD柱取(DIF-DEA)*2乘 2 只是放大柱体视觉高度不改变方向。参数说明CLOSE可以替换为C12、26、9可以改成其他整数但必须是正数。如果把这段代码直接放进主图叠加公式COLORSTICK不会在主图显示柱状因为主图没有副图那样的独立坐标轴。2.2 主图叠加与副图 MACD 的坐标映射差异副图 MACD 有独立的 Y 轴DIF 和 DEA 可以在零轴上下自由伸缩。主图叠加时Y 轴是股票价格DIF 的数值可能是几毛钱也可能是几十块钱直接画到价格坐标系里会挤成一团或者超出屏幕。通达信允许主图公式画线但需要做数值映射常见的方法有两种一种只画信号标记比如金叉画图标、死叉画图标不画 DIF 曲线另一种把 DIF 和 DEA 归一化到最近一段价格区间例如用HHV(HIGH,60)和LLV(LOW,60)把 MACD 数值压缩到价格通道内。前者干净后者能看到 DIF 与 DEA 的交叉过程但会随窗口变化而漂移。周线周期下60 根周线约等于 14 个月归一化窗口可以取 60 到 120。下面这张表对比两种主图呈现方式选型时按自己的看盘习惯来呈现方式绘制对象优点缺点周线建议信号标记版金叉、死叉图标不干扰 K 线一眼识别看不到 DIF 与 DEA 距离适合周线趋势确认归一化曲线版DIF、DEA 映射线能看到交叉与发散窗口变化导致位置漂移适合周线波段复盘柱状背景版红绿柱背景色保留 K 线实体颜色过多时干扰适合周线持仓跟踪2.3 周线周期下 CLOSE、EMA 与跨周期引用 #WEEK 的区别在通达信里公式默认跟随当前周期。把公式挂在周线图上CLOSE就是周线收盘价EMA(CLOSE,12)就是 12 周 EMA不需要额外写#WEEK。跨周期引用是另一种需求当前在日线图想引用周线 MACD写法是MACD.DIF#WEEK。注意引号内是「指标名.变量名#周期」指标名必须是已经存在的公式变量名必须是带冒号的输出变量不能用:定义的中间变量。周线引用日线则写MACD.DIF#DAY。常见错误是把#WEEK写成#W通达信不识别缩写。另外跨周期引用会消耗更多计算资源周线数据量小影响不明显但在分钟周期引用日线时要注意刷新速度。如果要在周线主图里引用日线 MACD 做共振可以写成{周线主图引用日线 MACD用于多周期共振} DIF_D:MACD.DIF#DAY; DEA_D:MACD.DEA#DAY; MACD_D:(DIF_D-DEA_D)*2;逻辑说明MACD.DIF#DAY取系统或自定义 MACD 指标在日线周期的 DIF 值MACD.DEA#DAY取日线 DEA 值。参数说明MACD是指标名称如果自定义公式叫MYMACD就改成MYMACD.DIF#DAY。#DAY可以换成#WEEK、#MONTH但当前公式所在周期不能与引用周期形成循环比如周线公式引用周线自身会报错。3. 国外 MACD 主图指标公式源码在通达信中的落地写法3.1 在通达信公式管理器新建主图指标并粘贴源码打开通达信按CtrlF调出公式管理器选择「技术指标公式」下的「其他类型」点击「新建」。公式名称填国外MACD主图周线画线方法选「主图叠加」这样公式不会替换原有 K 线而是叠加在价格图上。把下面这段源码粘贴进去参数部分可以按需填写SHORT 默认 12LONG 默认 26MID 默认 9。粘贴后点击「测试公式」如果提示「编译成功」再点「确定」保存。周线使用时在 K 线图输入公式名称回车即可切换。如果只想在周线周期显示可以在公式属性里把「适用周期」设为周线但通达信不同版本位置略有差异常见做法是不锁周期手动切到周线图使用。完整源码如下{国外MACD主图-周线主图叠加} SHORT:12; LONG:26; MID:9; DIF:EMA(CLOSE,SHORT)-EMA(CLOSE,LONG); DEA:EMA(DIF,MID); MACD:(DIF-DEA)*2; {周线均线作为价格参照} MA20:MA(CLOSE,20),COLORWHITE; MA60:MA(CLOSE,60),COLORYELLOW; {金叉死叉判断} JC:CROSS(DIF,DEA); SC:CROSS(DEA,DIF); {在 K 线下方画金叉图标上方画死叉图标} DRAWICON(JC,LOW*0.98,1); DRAWICON(SC,HIGH*1.02,2); {用短横线表示 MACD 柱的方向红柱在收盘价下方绿柱在收盘价上方} STICKLINE(MACD0 AND MACDREF(MACD,1),CLOSE,CLOSE*0.995,3,0),COLORRED; STICKLINE(MACD0 AND MACDREF(MACD,1),CLOSE,CLOSE*1.005,3,0),COLORGREEN; {零轴穿越提示} DRAWTEXT(CROSS(DIF,0),LOW*0.96,零上),COLORRED; DRAWTEXT(CROSS(0,DIF),HIGH*1.04,零下),COLORGREEN;逻辑说明前四行定义参数和 MACD 变量DIF、DEA、MACD都用:定义中间变量不输出线条。MA20和MA60用冒号输出会在主图画均线。JC和SC分别判断 DIF 上穿 DEA 和 DEA 上穿 DIF。DRAWICON在最低价下方画 1 号图标在最高价上方画 2 号图标。STICKLINE在收盘价附近画短横线红柱表示 MACD 为正且比上一根周线柱体增长绿柱表示 MACD 为负且比上一根周线柱体缩短。DRAWTEXT在零轴穿越位置写文字。参数说明SHORT、LONG、MID可以改成 8、17、90.98、1.02是图标偏移比例3是线宽0表示从右向左画。3.2 用 STICKLINE 和 DRAWICON 把金叉死叉画到周线 K 线上主图叠加最怕信号互相遮挡。STICKLINE画在收盘价下方或上方不要画在 K 线实体内部否则红绿柱会盖住开盘价和收盘价。DRAWICON的图标编号在不同通达信版本里略有差异1 号通常是向上箭头2 号是向下箭头如果显示不出来可以换成DRAWTEXT写「金」「死」。周线 K 线数量少信号不多图标密度低视觉效果比日线干净。如果做周线选股可以把JC作为选股条件在条件选股公式里写CROSS(DIF,DEA)但注意选股公式不能直接引用主图公式的中间变量需要把完整 MACD 计算复制过去。下面这张表列出主图绘制函数的关键参数改颜色和位置时直接对照函数参数位置示例作用DRAWICON条件, 价格位置, 图标号DRAWICON(JC, LOW*0.98, 1)在指定价格画图标STICKLINE条件, 价1, 价2, 宽度, 方向STICKLINE(MACD0, C, C*0.995, 3, 0)画柱线或横线DRAWTEXT条件, 价格位置, 文字DRAWTEXT(CROSS(DIF,0), L*0.96, 零上)在指定价格写文字COLORRED放在语句末尾STICKLINE(...), COLORRED设置画线颜色CROSS两个变量CROSS(DIF, DEA)判断上穿3.3 周线专用参数与颜色配置表周线 MACD 主图的颜色不宜过多。均线用白色和黄色红柱用红色绿柱用绿色零轴穿越用文字提示即可。如果周线 K 线本身有涨跌颜色红绿柱要避免与 K 线颜色完全一致否则看不出叠加效果。常见做法是把红柱画在收盘价下方绿柱画在收盘价上方这样与 K 线涨跌颜色错开。参数方面周线用 12、26、9 时DIF 穿越零轴的次数较少一年可能只有几次适合中线持仓。用 8、17、9 时信号次数增加但周线假突破也会增多。可以按下面的配置表调整参数组SHORTLONGMID适用场景信号频率经典组12269周线趋势确认低灵敏组8179周线早期拐点中慢速组16349周线大级别过滤极低短线组5135周线结合日线共振高4. 通达信周线 MACD 主图的实战调参与信号过滤4.1 周线金叉死叉的确认条件与过滤周线 MACD 金叉不代表立即上涨常见过滤条件是金叉发生在零轴上方或者 DIF 大于零且 DEA 大于零。零轴下方的金叉往往是反弹零轴上方的金叉更可能是趋势延续。可以在主图公式里加一个过滤变量只有满足条件才画图标。例如{周线金叉过滤DIF 在零轴上方且 MACD 柱由负转正} JC_FILTER:CROSS(DIF,DEA) AND DIF0 AND MACD0 AND REF(MACD,1)0; DRAWICON(JC_FILTER,LOW*0.98,1);逻辑说明CROSS(DIF,DEA)是金叉DIF0要求快线在零轴上方MACD0且REF(MACD,1)0要求柱体刚刚由负转正。参数说明REF(MACD,1)取上一根周线的 MACD 值1表示向前一根。这个条件会过滤掉零轴下方的弱势金叉但也会漏掉部分底部反转。如果做周线定投或左侧布局可以去掉DIF0只保留柱体转正。4.2 用跨周期引用日线 MACD 做多周期共振周线主图叠加日线 MACD 可以形成共振确认周线金叉的同时日线 MACD 也处于金叉状态或柱体翻红。在通达信里跨周期引用要写完整的指标名和变量名。假设已经有一个副图指标叫MACD输出DIF、DEA、MACD那么周线主图里可以这样写{周线主图引用日线 MACD 做共振} DIF_DAY:MACD.DIF#DAY; DEA_DAY:MACD.DEA#DAY; MACD_DAY:(DIF_DAY-DEA_DAY)*2; {周线金叉且日线 MACD 柱为正} RESONANCE:CROSS(DIF,DEA) AND MACD_DAY0; DRAWICON(RESONANCE,LOW*0.97,1); DRAWTEXT(RESONANCE,LOW*0.95,共振),COLORRED;逻辑说明MACD.DIF#DAY取日线 DIFMACD.DEA#DAY取日线 DEA计算日线 MACD 柱。RESONANCE要求周线金叉且日线柱为正然后画图标和文字。参数说明#DAY可以换成#WEEK或#MONTH但当前公式是周线主图引用#WEEK会与当前周期重复一般用#DAY做次级别共振。注意跨周期引用需要指标名完全一致如果自定义公式叫MYMACD就写MYMACD.DIF#DAY。4.3 常见错误未来函数、数据不足与刷新问题主图 MACD 公式里最容易踩的坑是未来函数。ZIG、PEAK、TROUGH、BACKSET会引用未来数据历史信号看起来很准实际盘中会漂移。MACD 本身由EMA计算EMA不是未来函数但CROSS在盘中未收盘时会变化周线最后一根 K 线未走完时金叉信号可能闪烁。常见做法是等周五收盘后再确认或者用REF判断上一根周线已经成立。数据不足也会导致 EMA 失真次新股周线数据少于 26 根时DIF 计算不充分可以加BARSCOUNT(CLOSE)30过滤。刷新问题多出现在跨周期引用切换周期后指标没有重新计算按F5刷新或重新输入公式名称即可。下面这张表列出常见错误与排查方向现象可能原因排查方法图标不显示图标号不支持或条件不成立改用 DRAWTEXT 测试条件金叉信号闪烁周线未收盘CROSS 盘中变化收盘后确认或用 REF 过滤跨周期引用报错指标名或变量名写错检查引号内格式变量必须是输出变量副图有信号主图没有主图公式变量用 : 未输出把条件变量用 : 定义绘制函数直接引用次新股信号异常周线数据不足 26 根加 BARSCOUNT 过滤5. 通达信国外 MACD 主图源码的导出与周线验证技巧5.1 TN6 转 TXT 与公式源码备份拿到 TN6 格式的国外 MACD 主图文件后不要直接改后缀名TN6 是通达信加密公式包直接转 TXT 会乱码。正确路径是打开公式管理器点击「导入公式」选择 TN6 文件导入后会在技术指标公式列表里出现。选中该公式点击「修改」就能看到源码。把源码全选复制粘贴到记事本保存为.txt这就是一份可读的 TXT 备份。如果公式被加密修改界面可能只显示部分内容这时只能使用原公式不能二次编辑。备份时建议同时保存参数设置因为 TXT 里只记录代码不记录公式管理器的周期属性。5.2 周线信号的历史回看与手动验证周线 MACD 主图的历史信号可以用键盘方向键逐根回看。把十字光标移到过去某根周线 K 线主图上的图标和文字会跟随显示检查金叉位置是否对应价格低点死叉位置是否对应价格高点。更系统的验证是打开「测试公式」里的「统计」功能或者用条件选股公式跑一遍历史周线统计金叉后 N 周的最大涨幅和最大回撤。通达信没有专业回测引擎但可以用AUTOFILTER和ENTERLONG、EXITLONG写简单信号系统在周线图上观察买卖点。注意任何历史验证都要区分「信号成立时」和「信号确认后」周线金叉在当周未收盘时可能消失用REF(JC,1)可以只统计已经确认的信号。本文还有配套的精品资源点击获取
返回列表