FEATURED · 精选文章

六脉神剑指标:EMA嵌套递推实现中线趋势判断与选股

发布时间 / 2026/9/20 8:45:38
来源 / 创域科博编辑部
栏目 / 资讯中心
六脉神剑指标:EMA嵌套递推实现中线趋势判断与选股 简介以“六脉神剑之丹田蓄量”为核心的通达信指标公式源码教程文档标签为教程面向股票、期货等市场中使用通达信软件的技术分析用户尤其适合关注中线趋势的投资者。作者将中医六脉意象融入EMA均线体系用丹田能量与少商、商阳、中冲、关冲、少冲、少泽等七条曲线构成判断框架并通过IF条件语句将下行段显示为黄色方便观察价格回调和趋势强弱。资源为单个doc文件压缩包仅160KB内容包含完整公式源码每一条曲线定义清晰可作为指标编写和参数调整的参考模板。文档也解释了条件语句的作用比如“少商剑小于前值时显示黄色”一类逻辑帮助读者理解线型与颜色变化的原因。目前已有1234人学习下载适合有一定通达信使用基础、希望用简明的均线组合辅助中线决策的股民。1. 六脉神剑之丹田蓄量一簇 EMA 嵌套出的中线结构把 13 周期 EMA 连续再做六次平滑就得到一簇反应速度从快到慢的均线族这套指标源码在通达信里叫“六脉神剑之丹田蓄量”。单看任何一条线它和普通均线没有本质区别但六条线叠在一起时趋势的蓄力、发散和衰减会变得很直观。它不预测点位只描述中线结构适合日线、周线级别观察价格重心和趋势状态配合均线、MACD 使用比单看要稳。源码一共只有十几行核心是把 EMA 的嵌套用递推的方式搭出来理解透这一层后面改参数、做选股公式都顺了。2. 公式源码逐行拆解从丹田能量到少泽剑2.1 完整源码与逐句说明这份 .doc 文档里的指标源码本身很简单复制到公式管理器时要注意去掉 Word 排版引入的全角引号和空格。完整源码如下丹田能量:EMA(C,55)COLORMAGENTA,CIRCLEDOT; 少商剑:EMA(C,13),COLORRED,LINETHICK2; 商阳剑:EMA(EMA(C,13),2); 中冲剑:EMA(EMA(EMA(C,13),2),2); 关冲剑:EMA(EMA(EMA(EMA(C,13),2),2),2); 少冲剑:EMA(EMA(EMA(EMA(EMA(C,13),2),2),2),2); 少泽剑:EMA(EMA(EMA(EMA(EMA(EMA(C,13),2),2),2),2),2); IF(少商剑REF(少商剑,1),少商剑,DRAWNULL),COLORYELLOW,LINETHICK2; IF(商阳剑REF(商阳剑,1),商阳剑,DRAWNULL),COLORYELLOW; IF(中冲剑REF(中冲剑,1),中冲剑,DRAWNULL),COLORYELLOW; IF(关冲剑REF(关冲剑,1),关冲剑,DRAWNULL),COLORYELLOW; IF(少冲剑REF(少冲剑,1),少冲剑,DRAWNULL),COLORYELLOW; IF(少泽剑REF(少泽剑,1),少泽剑,DRAWNULL),COLORYELLOW;第一行“丹田能量”用的是 EMA(C,55)参数 55 对应季度级别的趋势基准它负责判断中线方向颜色为品红COLORMAGENTA并以圆点CIRCLEDOT绘制避免与K线实体混淆。第二行“少商剑”是 EMA(C,13)红色加粗代表短期价格重心。“商阳剑”到“少泽剑”不是独立计算而是对“少商剑”逐层再做一次 EMA(X,2)六次嵌套后形成一簇平滑程度递增的曲线。EMA(X,2) 的“2”是关键它把上一条曲线的序列再做一个极短跨度的指数平滑等价于对信号做低通滤波把短周期的折角磨圆。嵌套次数越多曲线越钝、拐点越滞后。六条线之间的间距变化反映的是不同平滑程度下的价格重心是否同向这才是“六脉神剑”的观察入口。2.2 EMA 递推的数学直觉与参数表通达信 EMA(X,N) 的递归定义是EMA(X,N) (2*X (N-1)*EMA)/(N1)其中 EMA 表示上一根K线的 EMA(X,N) 值。以 EMA(C,13) 为例最近一根收盘价的权重是 2/(131)约 14.3%N 越小新数据权重越大曲线越贴价格。EMA(EMA(C,13),2) 则是把“13EMA序列”当输入再做一次平滑此时最近输入值的权重是 2/(21)约 66.7%但输入本身已经是平滑后的序列所以实际效果是让曲线响应更慢、更圆滑。变量名计算式平滑深度视觉参数用途定位丹田能量EMA(C,55)55周期品红圆点中线多空基准少商剑EMA(C,13)13周期红色粗线短期重心商阳剑EMA(EMA(C,13),2)嵌套1次默认细线短期重心平滑中冲剑EMA(...,2)嵌套2次默认细线中期重心关冲剑EMA(...,2)嵌套3次默认细线中期重心平滑少冲剑EMA(...,2)嵌套4次默认细线中期重心再平滑少泽剑EMA(...,2)嵌套5次默认细线趋势状态确认嵌套递进的效果可以类比信号处理里的串联低通滤波器每一层都在削减高频抖动但付出的代价是相位滞后。在实盘里表现为少商剑最先拐头少泽剑最后确认中间的间距拉开就是趋势启动间距收敛就是蓄力震荡。理解这个递推逻辑比记住每条线叫什么名字更重要。2.3 变色逻辑IF、REF 与 DRAWNULL 的配合源码后半段的六条 IF 语句作用不是计算新值而是把下跌段用黄色标出来。以少商剑为例IF(少商剑REF(少商剑,1),少商剑,DRAWNULL),COLORYELLOW,LINETHICK2;REF(少商剑,1) 引用的是上一根K线的少商剑值当当前值小于前值时输出少商剑本身并画黄色粗线否则输出 DRAWNULL表示该位置无效、不画线。这样红色线表示上涨段黄色线表示下跌段一眼就能看出每一层平滑曲线的动能方向。后面五条 IF 语句没有加 LINETHICK2所以黄色线是默认细线视觉上会弱于少商剑避免六条黄线叠加后主图太乱。这里的常见陷阱是输出变量名“少商剑”如果与通达信内置函数重名会编译报错建议自己改写时加前缀比如 QS1、QS2。另一点要注意DRAWNULL 只能用于绘图输出不能参与后续数学运算如果想用这条逻辑做选股需要改成布尔变量而不是嵌套在 IF 绘图语句里。3. 通达信软件里的公式导入与显示设置3.1 公式管理器导入步骤在通达信软件里新建指标公式路径是功能菜单或直接按 CtrlF 打开公式管理器选“新建”。公式类型选择“技术指标”名称填“六脉丹田”或任意英文名把上面的源码整体粘贴到公式区先点“测试公式”确认语法通过再点“确定”保存。快捷键CtrlF → 新建 → 公式类型选“技术指标” → 粘贴源码 → 测试公式 → 确定这里有三个容易踩的坑。第一Word 文档里的引号经常是中文全角“”通达信公式只认英文半角引号和括号粘贴后报错基本全是这个原因。第二公式输出名不能用纯数字开头也不能与系统函数重名建议用“丹田蓄量”这类中文名。第三测试公式通过后不要忘记在右下角选择画图方式为“主图叠加”否则指标不会显示在K线主图上。3.2 主图显示与参数调整建议由于是主图指标六条线会叠加在K线上。默认源码中丹田能量是圆点线而少商剑是红色粗线其余是普通细线。如果觉得画面太挤常见做法是把K线切换为“美国线”显示或者单独建一个副图公式把所有输出都用纯颜色区分而不用 CIRCLEDOT 这种高密度符号。参数调整上13 和 55 是两个核心数值。少商剑的 13 对应两周左右的价格重心适合日线级别如果换到周线周期可以把 13 改成 20 过滤更多噪声但会牺牲灵敏度。丹田能量的 55 在日线上接近季度均线在月线级别则偏短需要按自己的交易周期重新测试。嵌套层数里的“2”也可以改成 3数值越大曲线越钝滞后越明显一般不需要动。3.3 公式编译报错时的排查顺序编译出错时先看提示行号定位到具体语句。常见的三类错误是括号不匹配、中文标点混入、绘图函数用在副图公式却选了主图类型。处理顺序是先用英文半角重写所有标点再检查 IF 语句是否完整三参数最后确认公式类型和输出函数的匹配关系。注意主图指标里如果出现“输出名与函数名冲突”的提示把指标里的变量名整体加前缀即可不需要修改函数逻辑。4. 中线实战六线的多空关系与入场参考4.1 三组信号方向、回踩与动能衰减丹田能量的作用类似分界线收盘价站上丹田能量时中期趋势重心向上反之向下。少商剑代表短期动能它的黄红变色是最快的信号少泽剑最迟钝主要用来确认大级别趋势没有走坏。实战中可以拆成三组观察点。第一组是“方向确认”看丹田能量本身的斜率与价格位置关。第二组是“回踩确认”上升趋势里少商剑回踩商阳剑或中冲剑后重新翻红属于中线多头结构中的次级买点。第三组是“动能衰减”当少泽剑仍然向上但少商剑连续翻黄说明短期动能跟不上长期趋势往往对应短线调整或顶部震荡。观察点条件含义参考动作方向确认CLOSE 站上丹田能量丹田能量上翘中线多头只找做多机会回踩确认少商剑下触商阳剑/中冲剑后由黄转红次级回踩结束轻仓观察动能衰减少泽剑向上但少商剑连续黄色短期弱于中期不加仓等方向需要注意六线在震荡市里会反复缠绕任何一条线单独发出的金叉死叉意义都不大必须配合丹田能量的方向和价格位置综合判断。4.2 六线收敛与发散的操作逻辑六线收敛对应 EMA 嵌套后各层曲线粘合在一起其本质是不同平滑尺度的价格重心趋于一致市场成本被压缩到很窄的区间。丹田能量由下降转为走平六线间距逐步收窄是典型的变盘酝酿信号。之后如果K线放量站上丹田能量并拉动六线向上发散中线结构才算成立。我一般会在六线收窄后标注“观察池”不立刻操作等少商剑向上穿过商阳剑且丹田能量同步上翘时再介放止损放在六线束下方。这个思路本质是利用 EMA 嵌套带来的滞后特性过滤虚假突破因为少泽剑确认方向晚天然避开了一些冲高即回落的假信号但也会让你丢失启动初段的一部分利润。4.3 快速验证把通达信数据导出后用 Python 复核通达信自带的数据导出功能可以把当前股票的日线数据保存为文本文件常见路径是系统菜单里的“数据导出”。拿到 CSV 数据后可以用 pandas 的 ewm 函数按相同公式快速复核指标逻辑import pandas as pd def ema(s, n): # ewm 的 span 参数与通达信 EMA 一致alpha 2/(n1) return s.ewm(spann, adjustFalse).mean() df pd.read_csv(kline.csv, parse_dates[date]) c df[close] dantian ema(c, 55) s1 ema(c, 13) s2 ema(s1, 2) s3 ema(s2, 2) s4 ema(s3, 2) # 统计收盘价站上丹田能量 且 少商剑向上 的日期占比 df[dantian] dantian df[s1] s1 df[bullish] (df[close] df[dantian]) (df[s1] df[s1].shift(1)) print(df[bullish].mean())这段脚本里ewm(spann, adjustFalse)与通达信 EMA 的核心递推一致shift(1)等价于 REF 的前值引用。把统计结果按年份切片看可以快速判断不同市场环境下“收盘价站上丹田能量”这个单一条件的胜率下限也方便对比加入六线多头排列后的增量效果。5. 把源码改造成条件选股公式与参数自适应5.1 条件选股公式的改造写法主图指标里的绘图输出和 DRAWNULL 不能直接用于条件选股需要把计算逻辑抽出来只保留条件表达式。以下是一个可测试的选股公式版本A1:EMA(C,13); A2:EMA(A1,2); A3:EMA(A2,2); A4:EMA(A3,2); A5:EMA(A4,2); A6:EMA(A5,2); DANTIAN:EMA(C,55); 选股:CLOSEDANTIAN AND A1A2 AND A2A3 AND REF(A1,1)REF(A2,1);逻辑含义是收盘价站上丹田能量且六线中的前三条呈多头排列同时少商剑在上一根K线还低于商阳剑、当前K线完成上穿。这里用REF(A1,1)REF(A2,1)表达“刚刚发生交叉”的拐点避免选出已经发散很久的票。在通达信条件选股面板里加载这个公式后可以配合“时间段选股”和“板块范围”做每日盘后扫描。需要注意选股公式只能输出一个逻辑值不能在内部写 CIRCLEDOT、LINETHICK 等绘图函数所以改造时要把源码里的颜色和线宽全部剥掉。5.2 参数自适应的改写方式如果不想每次改源码里的 13 和 55可以在公式编辑器的参数列表里定义 N 和 M再替换正文N:13; M:55; A1:EMA(C,N); DANTIAN:EMA(C,M);这样在指标调用界面可以直接拖动参数条快速对比 N8、13、21 下的灵敏度差异。嵌套层数也可以做成参数但通达信不支持循环语句只能手动写出每一层所以通常只暴露起始周期 N 和基准周期 M 两个参数就够用。5.3 使用边界与规避误区的两个技巧这套指标的本质决定了它是确认性工具而不是预测性工具。多重 EMA 嵌套让曲线非常平滑代价是拐点滞后于真实价格因此它不适合捕捉波段启动第一根大阳线更适合在趋势确立后跟踪回踩与发散节奏。横盘期六线反复缠绕时信号连续性较差建议加一条成交量过滤当日成交量大于5日均量1.2倍才认定为有效发散。另外如果发现丹田能量长期走平而价格大幅波动说明当前品种处于无趋势状态直接放弃六线信号是最省事的做法。把最近半年的日线调出来找到六线收敛后丹田能量上翘的位置再对照当时的成交量记录会让你对这套 EMA 递推的真实脾性有非常直接的体感。本文还有配套的精品资源点击获取
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻