news 2026/9/18 15:52:00

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
通达信国外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 的差构成 DIF,9 日 EMA 构成 DEA。放到周线后,一根 K 线代表一周,12 周约等于三个月,26 周约等于半年,这个跨度对中线趋势并不突兀。常见做法是直接沿用 12、26、9,因为周线本身已经过滤了大量日线噪音,再压缩参数容易让信号过于密集。如果做更灵敏的周线波段,可以把 SHORT 改成 8、LONG 改成 17,MID 保持 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可以替换为C12269可以改成其他整数,但必须是正数。如果把这段代码直接放进主图叠加公式,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 在通达信公式管理器新建主图指标并粘贴源码

打开通达信,按Ctrl+F调出公式管理器,选择「技术指标公式」下的「其他类型」,点击「新建」。公式名称填国外MACD主图周线,画线方法选「主图叠加」,这样公式不会替换原有 K 线,而是叠加在价格图上。把下面这段源码粘贴进去,参数部分可以按需填写:SHORT 默认 12,LONG 默认 26,MID 默认 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(MACD>0 AND MACD>REF(MACD,1),CLOSE,CLOSE*0.995,3,0),COLORRED; STICKLINE(MACD<0 AND MACD<REF(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 变量,DIFDEAMACD都用:=定义中间变量,不输出线条。MA20MA60用冒号输出,会在主图画均线。JCSC分别判断 DIF 上穿 DEA 和 DEA 上穿 DIF。DRAWICON在最低价下方画 1 号图标,在最高价上方画 2 号图标。STICKLINE在收盘价附近画短横线,红柱表示 MACD 为正且比上一根周线柱体增长,绿柱表示 MACD 为负且比上一根周线柱体缩短。DRAWTEXT在零轴穿越位置写文字。参数说明:SHORTLONGMID可以改成 8、17、9,0.981.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(MACD>0, 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 DIF>0 AND MACD>0 AND REF(MACD,1)<0; DRAWICON(JC_FILTER,LOW*0.98,1);

逻辑说明:CROSS(DIF,DEA)是金叉,DIF>0要求快线在零轴上方,MACD>0REF(MACD,1)<0要求柱体刚刚由负转正。参数说明:REF(MACD,1)取上一根周线的 MACD 值,1表示向前一根。这个条件会过滤掉零轴下方的弱势金叉,但也会漏掉部分底部反转。如果做周线定投或左侧布局,可以去掉DIF>0,只保留柱体转正。

4.2 用跨周期引用日线 MACD 做多周期共振

周线主图叠加日线 MACD 可以形成共振确认:周线金叉的同时,日线 MACD 也处于金叉状态或柱体翻红。在通达信里,跨周期引用要写完整的指标名和变量名。假设已经有一个副图指标叫MACD,输出DIFDEAMACD,那么周线主图里可以这样写:

{周线主图引用日线 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_DAY>0; DRAWICON(RESONANCE,LOW*0.97,1); DRAWTEXT(RESONANCE,LOW*0.95,'共振'),COLORRED;

逻辑说明:"MACD.DIF#DAY"取日线 DIF,"MACD.DEA#DAY"取日线 DEA,计算日线 MACD 柱。RESONANCE要求周线金叉且日线柱为正,然后画图标和文字。参数说明:#DAY可以换成#WEEK#MONTH,但当前公式是周线主图,引用#WEEK会与当前周期重复,一般用#DAY做次级别共振。注意跨周期引用需要指标名完全一致,如果自定义公式叫MYMACD,就写"MYMACD.DIF#DAY"

4.3 常见错误:未来函数、数据不足与刷新问题

主图 MACD 公式里最容易踩的坑是未来函数。ZIGPEAKTROUGHBACKSET会引用未来数据,历史信号看起来很准,实际盘中会漂移。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 周的最大涨幅和最大回撤。通达信没有专业回测引擎,但可以用AUTOFILTERENTERLONGEXITLONG写简单信号系统,在周线图上观察买卖点。注意,任何历史验证都要区分「信号成立时」和「信号确认后」,周线金叉在当周未收盘时可能消失,用REF(JC,1)可以只统计已经确认的信号。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/18 15:51:55

嵌入式高频协议考点:I²C与SPI的硬件级深度解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 15:50:42

嵌入式开发自学路线:从MCU到Linux驱动与边缘AI部署

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 15:50:06

从 DeepSeek 逻辑复盘切到 Kimi 拆爆文,TaoToken Key 不变

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/18 15:47:11

Android旅游攻略系统毕设项目包:从源码解析到答辩通关

有读者前阵子私信我&#xff0c;说拿到一个号称“带全套源码文档远程调试”的基于Android的旅游攻略系统毕业设计项目包后&#xff0c;第一反应是高兴&#xff0c;第二反应是发懵——压缩包解压出来&#xff0c;目录里躺着上百个文件&#xff0c;Gradle脚本、Java源码、res资源…

作者头像 李华
网站建设 2026/9/18 15:47:09

人工神经网络在雅鲁藏布江流域NDVI时序预测中的应用与实践

简介&#xff1a;这是基于人工神经网络的雅鲁藏布江流域植被指数&#xff08;NDVI&#xff09;预测模型研究论文&#xff0c;适合生态遥感、水文与机器学习建模研究人员阅读。研究利用2000—2015年MODIS遥感数据及30个地面站点气象资料&#xff0c;系统分析了流域NDVI时空变化特…

作者头像 李华
网站建设 2026/9/18 15:45:28

音频抑郁症识别:MADN差分归一化与DR AudioNet回归预测

简介&#xff1a;PDF文献《基于深度学习的音频抑郁症识别》聚焦抑郁症的智能化识别&#xff0c;面向深度学习、语音信号处理及医学交叉领域的研究者与从业者&#xff0c;提出基于卷积神经网络和长短期记忆网络的音频抑郁回归模型 DR AudioNet。文献同时给出多尺度音频差分归一化…

作者头像 李华