ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

通达信MACD零轴主图:动态零轴与K线叠加实战详解

通达信MACD零轴主图:动态零轴与K线叠加实战详解 简介面向通达信公式编写与股票技术分析爱好者这份文档以MACD零轴主图为核心讲解DIF、DEA、信号线与红绿柱状线的自定义计算逻辑并提供可直接用于主图展示的完整源码帮助用户更直观地观察趋势变化与买卖信号。资源为一个doc文档压缩包仅120KB轻量便于下载查阅内容涵盖公式源码、指标构成拆解、M50均线基准作用以及MACD柱状图的绘制规则与使用注意事项。已有161人学习下载适合具备一定技术分析基础、希望简化MACD看盘界面或学习通达信公式语言的投资者。通过结合DIF与DEA相对位置及柱状图增减可辅助判断行情多空力度但技术指标仍需配合其他工具综合决策。1. 通达信MACD零轴主图把副图信号直接搬上K线盯盘时最常见的困扰是副图里MACD已经金叉等你把目光从副图移回主图找买点价格已经窜出去一两根K线。把MACD整合进主图等于把DIF、DEA和零轴状态直接叠在K线上让信号和价格在同一视觉平面里对齐。这个需求听起来简单实际上有个核心障碍MACD的值域是零点几到几K线价格是几块到几百块两者量纲不同直接叠加根本看不出效果。真正能用的“零轴主图”必须重新设计坐标关系让零轴、柱线和K线在同一张图上自洽。下面这套方案是我在通达信上反复调过的落地写法从数学关系到源码逐步拆开讲。2. MACD零轴的数学基础DIF、DEA与动态零轴的等价关系2.1 DIF的本质是两条均线的差值通达信里MACD三个核心输出分别是DIF、DEA和柱线默认参数是12、26、9。DIF的计算公式是DIF EMA(CLOSE, 12) - EMA(CLOSE, 26)这里EMA是指数移动平均对近期价格权重更高。DIF取值为正说明12日EMA在26日EMA上方也就是短期成本高于中期成本市场处于相对强势DIF取值为负则相反。注意一个容易被忽略的事实DIF0不是一条随机横线它等价于EMA12与EMA26交叉的位置。这个等价关系是零轴主图能成立的理论基础。DEA是DIF的9日EMA代表DIF的平滑趋势MACD柱线则是(DIF-DEA)*2衡量DIF相对DEA的偏离速度。副图里那条水平零轴本质是DIF的正负分界线而DIF的正负又由两条EMA均线的上下位置决定。明白了这一层就知道把MACD搬上主图并不需要真的画一条数值为0的线直接用均线关系来表达零轴状态反而更干净。2.2 固定零轴与动态零轴的选择网上流传的“MACD零轴主图”源码很多是简单地在主图里写一行“零轴:0”然后发现主图价格是几十块零轴画在图表最底部毫无参考意义。另一种写法是把零轴固定为某个价格比如用收盘价的前值或某条均线但这样零轴就失去了“DIF正负分界”的数学含义。我采用的方案是动态零轴用EMA26这条均线作为零轴的价格投影。理由很直接DIF0时EMA12等于EMA26两条均线恰好交叉所以EMA26本身就承载了零轴的位置信息。K线在EMA26上方运行DIF大概率为正K线在EMA26下方DIF大概率为负。用动态零轴的另一个好处是不需要做价格映射柱线可以直接从EMA26位置向上或向下延伸视觉上就是主图版的MACD柱。下面这张表对比了两种取法方便你判断什么场景用哪种。零轴取法实现方式优点缺点适用场景固定价格零轴取某条均线或前期高低点作为常数基准位置稳定容易比较价格与零轴的绝对距离与DIF数学定义脱节信号意义弱只看价格空间位置不关心MACD动能动态均线零轴用EMA26或EMA12的交叉带作零轴与DIF正负严格对应信号逻辑自洽零轴随行情波动需要时间适应做MACD金叉死叉、零上零下过滤2.3 量纲问题的数学处理MACD柱线的数值范围通常在-2到2之间而股价可能是5元也可能是50元直接画在主图上就是一条贴在一起的毛刺。常规做法是把柱线乘以一个固定系数比如3或5但这对高价股无效对低价股又过于夸张。更稳妥的方式是自适应缩放。缩放系数的思路是取过去60日K线的价格振幅作为参考范围同时取过去60日MACD柱线的绝对波动范围两者的比值乘以一个视觉占比系数就得到当前K线适用的缩放比例。这个比例会随行情波动自动调整低价股和高价股都能在同一个视觉尺度下显示。具体实现放在第3章源码里参数含义到时逐行说明。3. 动手实现把MACD零轴主图源码写进通达信公式管理器3.1 新建主图公式的操作路径在通达信软件里按CtrlF打开公式管理器左侧选择“技术指标”点击“新建”公式类型选“主图叠加”。这一步容易选错如果选了“副图”公式就算写对了也不会显示在K线区域。公式名称建议用英文或拼音比如MACDZ中文名称留空或填“MACD零轴主图”都行不影响计算。把doc文件里的源码复制进编辑区时绝大多数报错都来自格式问题。doc是Word格式复制出来的引号是全角中文引号“”而通达信只识别半角英文引号“”空格也可能被Word自动转换成全角空格。我的习惯是先从doc里复制到记事本转成纯txt再从txt复制进公式管理器能过滤掉九成以上的格式问题。通达信公式编辑器右下角有“测试公式”按钮写完先点测试提示“测试通过”再点确定保存。3.2 完整源码动态零轴主图下面是完整的通达信公式源码直接复制到新建的主图公式里即可不需要额外安装任何插件。{MACD零轴主图动态零轴版} N1:12; N2:26; M:9; {核心计算} DIF:EMA(CLOSE,N1)-EMA(CLOSE,N2); DEA:EMA(DIF,M); BAR:(DIF-DEA)*2; {自适应缩放系数以60日价格区间与MACD柱波动区间比值计算} PRICERANGE:HHV(HIGH,60)-LLV(LOW,60)0.0001; BARRANGE:HHV(ABS(BAR),60)0.0001; SCALE:PRICERANGE/BARRANGE*0.25; {动态零轴EMA26} ZERO:EMA(CLOSE,N2),COLORYELLOW,LINETHICK1; {以ZERO为基准绘制MACD柱} STICKLINE(BAR0,ZERO,ZEROBAR*SCALE,2,0),COLORRED; STICKLINE(BAR0,ZERO,ZEROBAR*SCALE,2,0),COLORCYAN; {信号标记金叉死叉与零轴穿越} DRAWICON(CROSS(DIF,DEA) AND DIF0,LOW*0.98,1); DRAWICON(CROSS(DEA,DIF) AND DIF0,HIGH*1.02,2); DRAWTEXT(CROSS(DIF,0),LOW*0.98,零上),COLORRED; DRAWTEXT(CROSS(0,DIF),HIGH*1.02,零下),COLORCYAN;这段代码的核心逻辑分四层。第一层是标准的MACD计算DIF、DEA、BAR都与副图MACD完全一致不会出现主图和副图信号对不上的情况。第二层是缩放系数的自适应计算PRICERANGE取60日K线最高价和最低价的距离BARRANGE取60日内MACD柱绝对值的最大值两者相除得到一个量级系数再乘0.25把柱线高度控制在价格振幅的四分之一以内既醒目又不遮挡K线实体。第三层是绘制ZERO输出EMA26黄色线作为动态零轴STICKLINE分别画正负柱红色代表多头动能青色代表空头动能。第四层是信号提醒金叉且DIF在零轴上方时在K线下方画图标1死叉且DIF在零轴下方时在K线上方画图标2同时用文字标注零轴穿越。这里有几个参数需要按实际行情调整。SCALE最后的0.25是视觉占比系数喜欢柱线更矮更干净可以改成0.15喜欢更有冲击力就增加到0.35。STICKLINE的宽度参数2对日线合适切到周线或月线时可以改成1否则柱线会偏粗。DRAWICON的第三个参数是图标编号1通常是向上箭头2是向下箭头不同通达信版本图标略有差异自己改数字看效果即可。3.3 常见报错与处理方法把doc源码粘贴进通达信后最常见的几个错误提示和处理方式如下表。报错提示原因处理方法缺少运算符全角引号或全角括号混入先转纯txt再复制查找替换中文引号为英文引号输出重复同一变量名被“:”重复输出中间计算结果用“:”赋值只在最后一行用“:”输出未知标识符函数名拼写错误或用了自命名函数核对EMA、HHV、LLV、ABS等函数是否为大写参数范围错误N1或N2参数填了非法数值保持N1N2M大于1默认12/26/9不要同时改乱另外要注意doc源码和tn6格式是两回事。tn6是通达信的加密公式文件需要“导入公式”而不是复制粘贴doc里的源码是明文直接复制即可。网上流传的“公式和谐器”主要用于破解加密指标的密码对明文源码用不上没必要绕弯路。4. 参数怎么改12/26/9之外的实用调优组合4.1 三组常用参数对比默认的12、26、9是MACD的经典参数源自欧美技术分析传统对应两周和一个月的时间尺度。国内交易者经常抱怨这个参数反应慢尤其在震荡市里金叉死叉频繁滞后。我根据不同的交易周期整理了三组常用参数注意这些是经验值不是通达信官方给出的标准。参数组N1短期N2长期M平滑适用行情信号特征默认12269趋势明确的中长线信号少滞后明显稳定性高短线6135波动大、题材活跃的日线信号多柱线变化剧烈容易钝化中线10227大多数股票的日线波段平衡性和灵敏度都居中修改参数时直接在公式管理器的参数设置面板里改不需要动源码。参数面板里把N1、N2、M三个变量设置为可调参数名称建议写成“短期均线”“长期均线”“平滑天数”这样以后切参数不用进编辑器翻代码。短线组6/13/5在上一轮推文里很流行但要提醒一句参数越短柱线对价格波动越敏感动态零轴ZERO的斜率变化会加快STICKLINE画出来的柱子在横盘行情里会频繁翻色容易造成视觉噪音。如果你主要做日线波段10/22/7比6/13/5更中庸信号数量适中磨损率低。4.2 缩放系数与柱线观感0.25这个缩放系数不是固定的它与N1/N2参数存在联动关系。参数改短后BAR的数值绝对值会整体变大同样的0.25可能导致柱线过长甚至超出K线区域的高度。这时需要同步调整SCALE乘数。经验上短线组建议把0.25降到0.18中线组维持0.25长线趋势组可以适当提高到0.3。调整后如何判断是否合适最直接的方法是观察柱线最长的那根是否刚好落在最近60日K线高低点范围的中间带。如果柱线经常穿透最高价或最低价说明系数偏大柱线已经干扰了价格读取如果柱线在K线实体里几乎不可见说明系数偏小信号失去了提示意义。缩放的目的是让MACD柱成为K线的“背景能量条”而不是抢占画面主体。4.3 颜色与图标编号的边界问题通达信的颜色关键字是英文单词比如COLORRED、COLORCYAN、COLORYELLOW不支持中文。想用自定义颜色可以写COLORBBGGRR格式比如COLOR0080FF代表橙色注意这里颜色编码顺序是蓝、绿、红和常规RGB相反。初次尝试自定义颜色时建议先用标准色避免写到深夜发现颜色不正。DRAWICON的图标编号在不同版本里略有差异我试过的通达信版本里1到6分别是上箭头、下箭头、红圆、绿圆、菱形、小圆点46个编号里不是每个都适合K线场景。想看到全部图标的效果可以临时写一行代码循环画图或者用通达信自带的指标公式编写帮助文档查看图标表。实用建议是只用1和2区分方向别用第五第六种图标它们画在K线附近容易被误认为其他指标。现在不少人在算命弄AI生成通达信公式AI生成的代码在语法层面问题不大但经常卡在COLORSTICK写法、输出变量重复、缩放系数缺失这些细节上。机器不理解“主图量纲”和“副图量纲”的概念差异生成的代码只是把副图逻辑原样套到主图上画出来自然不对。与其折腾AI生成后大改不如把这套动态零轴主图的缩放原理吃透自己调参数来得更快。5. 进阶接法把零轴主图信号转成选股条件并验证动态零轴主图解决了“看”的问题但要把它变成可执行的过滤器还需要把DIF、DEA、零轴这些状态转成选股公式。通达信的选股公式和主图公式不能直接共用同一套源码需要新建一个“条件选股”公式把核心计算原样拷贝最后输出一个选股条件变量。{条件选股零轴上方金叉} N1:6; N2:13; M:5; DIF:EMA(CLOSE,N1)-EMA(CLOSE,N2); DEA:EMA(DIF,M); 上穿零轴:CROSS(DIF,0); 零上金叉:CROSS(DIF,DEA) AND DIF0; XG:零上金叉 OR 上穿零轴;这段公式的核心在于最后一行用“OR”把两个信号合并零轴上方金叉以及DIF从下方穿越零轴两个信号分别捕捉“多头动能启动”和“趋势由空转多”两个时刻。用“OR”连接会放大信号数量如果觉得噪音多可以把“OR”改成“AND”只保留“零轴上方的第一次金叉”——也就是DIF上穿零轴之后发生的首次金叉这个信号的趋势过滤效果更强。保存后在通达信的“功能”菜单里找到“条件选股”把刚建的公式拖到条件列表设置选股范围是沪A深A还是自选板块执行即可。验证信号质量有个笨但有效的办法用通达信的“历史阶段选股”功能把时间回拨到半年前统计这段时间内公式选出的股票数量再对照这些股票后续10个交易日的走势。如果信号超过60%都出现在波段起点附近说明参数适合当前行情如果大量信号出现在高点之后说明参数偏灵敏需要把N1/N2调大。更严谨的验证可以借助通达信的“程序交易评测系统”在公式评测里选择“买入后第10日收盘卖出”手续费按默认设置回测一段时间看盈亏比。注意评测系统按日线收盘价计算主图公式里的图标信号只在盘中触发回测结果会比实盘乐观这是所有基于收盘数据的评测都存在的偏差做组合条件时心里要留富余。最后提一个复盘小技巧打开指标排序功能用零轴主图公式里的DIF值作为排序字段DIF从负转正的当天往往会出现在排序列表的前列。这个视角相当于把零轴主图的所有信号按强度做了横向对比排序后你能直观看到当天哪些个股的零轴状态刚刚发生质变比单纯等金叉信号更早一步发现异动。本文还有配套的精品资源点击获取
返回列表