简介这是一份面向股票技术分析爱好者与通达信用户的指标公式文档围绕均线粘合、金叉与MACD展开趋势判断与买卖点辅助。资源包内共1个doc文件为公式源码与使用说明的合集压缩包整体约234KB轻量易取用无需额外工具即可在通达信公式编辑器中对照录入或修改参数。内容涵盖超短线与中线两套思路短线强调3日、8日均线在20日均线上方金叉且10日均线向上并要求30分钟与15分钟图均线多头排列持股约1至5天中线则不破5日均线即一路持有同时给出均线粘合未发散、高位放量阴线或长上影线等应规避的信号。MACD部分解析了DIF与DEA在0轴上方二次金叉、结合250日均线确认的中线看涨条件以及3日上穿6日、55日均线向上等多重共振的触发逻辑。文档还对源码逐段作了注释式说明便于理解各条件之间的组合关系与调参方向。目前已有98人学习适合希望把均线理论与MACD信号整合进选股公式的读者参考。1. 均线粘合与EMA双重平滑一套短线选股公式的骨架通达信公式管理器里躺着的指标少说几十个敢照着下单的没几个。牛熊万金油这份源码的特殊之处是把两套逻辑缝进了一个文件前半段管短线用(CLH)/1.5造出一条价格线做双重 EMA再配上 3、8、10、20 四条均线的相对位置与方向后半段管中线用 MACD 在零轴上方的二次金叉叠上 250 日均线做趋势过滤。它不预测涨跌只把均线粘合后向上发散这种嘴上说得清、手上写不出的形态翻译成一串能被通达信逐根 K 线判定的布尔条件。适合已经能看懂均线系统、却苦于盘中手忙脚乱想把选股动作固定下来的人。这份源码真正的价值不在信号本身而在于它示范了怎么把主观描述拆成可执行的条件组以及哪些描述压根没拆进去。2. 短线买点拆解A1/A2/A3 与 3、8、20 均线组合的条件装配2.1 (CLH)/1.5 这条价格线到底改了什么第一行就值得停一下A1:(CLH)/1.5;。标准典型价的写法是(HLC)/3这里分母写成 1.5等于把结果整体放大一倍。第一反应是算错但从交叉判断的角度看等比缩放不影响两条同源均线的上穿关系——A2 和 A3 都由 A1 派生同乘一个系数谁上穿谁不变。所以这行的实际作用只剩一个让数值落在更顺眼的区间方便副图显示。真要较真换成(HLC)/3结果完全等价改完对比一下选股数量就知道了。接着是A2:EMA(A1,3); A3:EMA(A2,2.5);。这是双重指数平滑拿 A2 的平滑结果再平滑一次相当对同一串价格做了两级低通滤波。2.5 这种小数周期通达信是认的EMA 递推里权重为2/(N1)N2.5 时权重约 0.571比 N3 的 0.5 更灵敏一点。代价也在这里平滑层级越多、等效周期越短信号越靠前假交叉也越密。这一段的作用是把交叉点提前两到三根 K 线震荡市里交叉数量会明显上升。提示双重 EMA 的交叉点比单重提前但不代表更准。判断要不要保留这一层把 A2/A3 换成单条EMA(A1,5)拿同一段行情跑出选股结果做差集多出来的那批票就是双重平滑贡献的噪声。2.2 AA 条件的八项逐一拆解主体条件是这一段A1:(CLH)/1.5; A2:EMA(A1,3); A3:EMA(A2,2.5); AA:CMA(C,3) {1 收盘站上3日线} AND MA(C,3)REF(MA(C,3),1) {2 3日线向上} AND MA(C,8)MA(C,20) {3 8日线在20日线上方} AND MA(C,20)REF(MA(C,20),1) {4 20日线向上} AND CREF(C,1) {5 收盘高于昨收} AND LMA(C,8) {6 盘中曾跌破8日线} AND CMA(C,8) {7 收盘收回8日线上方} AND MA(C,10)REF(MA(C,10),1); {8 10日线向上} XG:CROSS(A2,A3) AND AA;逐条看它在描述什么形态。第 1、7 两条合起来说明收盘价同时站在 3 日线与 8 日线之上短中期持仓成本全部浮盈。第 2、4、8 条要求 3、10、20 三条均线当天都在上行均线走平或下弯的票直接被踢掉。第 3 条是排他性的多头结构——8 日线必须在 20 日线上方这是中期趋势已翻多的硬门槛。第 6 条LMA(C,8)最容易被忽略。它要求当天最低价曾经打到 8 日线下方也就是盘中有过一次回踩第 7 条紧接着要求收盘收回 8 日线上方。两条合成一个回踩不破、日内收回的动作把高开高走直接封板的票挡在外面只留盘中真给过机会的。代价是跌停或大幅低开的弱势票也天然满足第 6 条得靠第 5 条CREF(C,1)勉强兜住。注意原文描述写3、8 线在 20 线上金叉公式里并没有CROSS(MA(C,3),MA(C,8))。三条均线的关系只要求8 在 20 上3 日线仅要求向上且价格站上。照描述去找信号会少一大批票。2.3 描述与源码的差异对照原文说法源码实际条件差异后果3、8 线在 20 线上金叉向上仅MA(C,8)MA(C,20)无 3 与 8 的 CROSS信号数量偏多形态更宽10 线必须向上MA(C,10)REF(MA(C,10),1)一致均线粘合后向上发散未实现无粘合度计算粘合靠人工看图判断高位放量阴线不买未实现无成交量与影线判断高位票不会被自动过滤30 分、15 分多头排列未实现属跨周期操作要求需手动切周期二次确认这张表是整份源码最值得看的地方文字规则有六条真正落进公式的只有三条多一点剩下全靠人肉判断。记住这张表能省掉大量公式怎么选不出票的困惑——不是公式坏了是它本来就没写那部分。3. 中线信号与 MACD 零轴上方的二次金叉筛选3.1 BARSLAST 与状态机的写法中线那段的核心是零轴上方二次金叉A:MACD.DIF; B:MACD.DEA; D:MACD.MACD; TJ:A0 AND B0; {零轴上方状态} T:BARSLAST(CROSS(TJ,0.5)); {距上次进入该状态的周期数} TJ1:CROSS(A,B); {DIF上穿DEA} AB:COUNT(TJ1,T1)2 {本轮零轴上方恰好两次金叉} AND D0 {MACD柱非负} AND CMA(C,250) {站上年线} AND EVERY(TJ,T) {全程未跌破零轴} AND REF(D0,1); {前一根柱为负即刚翻红}TJ 是个真假状态量CROSS(TJ,0.5)抓的就是它从 0 变 1 的那一刻也就是 DIF 和 DEA 双双站上零轴的那根 K 线。BARSLAST返回那根 K 线到当前的周期数T 就是这段区间的长度。COUNT(TJ1,T1)2是整段的枢纽。它数的是从进入零轴上方那天算起DIF 上穿 DEA 一共发生几次要求恰好两次。为什么是两次不是一次一次金叉属于初次启动位置通常贴着零轴追进去成本高、容错低两次意味着中间有过一次死叉回调、价格洗过一轮第二次金叉时 DIF 位置更高、结构更稳。EVERY(TJ,T)兜底保证中间那次死叉没把 DIF 压回零轴下方否则形态性质就变了。REF(D0,1)把入场点钉在柱状线由绿翻红的第一根也就是金叉当天晚一天也能进成本就上去了。3.2 250 日均线的过滤强度与参数取舍CMA(C,250)是一道很硬的闸门要求股价在年线上方等于把长期趋势向下的票一刀切掉。代价是牛市中后段的次新股、小盘题材股大量被排除换来的是回撤特征完全不同。想调松常见做法是把 250 换成 120信号数量大概翻倍假突破比例同步上升。想调紧可以叠一条MA(C,250)REF(MA(C,250),1)要求年线自身也在上行。年线条件写法过滤强度适用场景无最弱纯形态研究CMA(C,250)中源码默认CMA(C,250)且年线上行强趋势跟随CMA(C,250)且MA(C,60)MA(C,250)最强只做长期多头排列改参数时别一次动多个每次只改一处用同一段历史区间跑对照不然根本分不清是哪个条件在起作用。3.3 运算符优先级与重复赋值两个坑XG:CROSS(A2,A3) AND AA AND CROSS(MACD.DIF,MACD.DEA) OR AB;通达信里 AND 的优先级高于 OR这一行实际等价于XG:(CROSS(A2,A3) AND AA AND CROSS(MACD.DIF,MACD.DEA)) OR AB;也就是说只要中线条件 AB 成立就直接出信号完全不看均线那一套。有人写公式时想表达短中线同时满足结果因为优先级拿到了中线单独的票还在纳闷信号怎么串了味。要收紧就自己补括号。另一个坑更隐蔽整个文件里 A1、A2、A3、AA、XG 被定义了两次。通达信对同名变量后定义覆盖前定义所以这份合体版实际生效的是中线那段前面短线版的 AA 和 XG 全被顶掉了。想两个信号并存必须改名XG_D:CROSS(A2,A3) AND AA; {短线信号} XG_Z:CROSS(A2,A3) AND AA_Z AND CROSS(MACD.DIF,MACD.DEA) OR AB; {中线信号} XG:XG_D OR XG_Z; {合并输出}改名之后再放进副图两条信号线才是独立的两条否则你看到的永远只有一条。4. 多周期共振与公式在通达信里的落地路径4.1 从条件选股到周期切换的完整操作日线选出票只是第一步原文要求在 30 分钟和 15 分钟图上再确认一次均线在 20 线上方多头排列。落地步骤公式管理器快捷键CtrlF。左侧选条件选股公式→其他类型→新建。公式名填 NXWJY粘贴源码点测试公式无误后确定。功能→选股器→条件选股CtrlT公式选 NXWJY周期选日线加入条件执行选股。结果自动进条件选股结果板块逐只打开核对。键盘输入30回车切 30 分钟图检查MA3MA8MA20且 MA20 向上再切 15 分钟重复一遍。提示通达信的多周期均线用的是同一套参数设置日线改成 3/8/20 后30 分钟与 15 分钟会跟着变。不想全周期被改跨周期确认时可以临时调用系统自带 MA2把参数单独设成 3、8、20。4.2 预警配置与实时监控盘中想实时收信号走预警而不是收盘后选股公式管理器 → 条件选股公式 → NXWJY 功能 → 预警设置 → 新增条件 条件选股公式NXWJY 监控范围自定义板块全市场对本地机器压力大 预警周期日线全市场实时预警对本地机器负担不轻常见做法是收盘后跑一遍选股把结果丢进自定义板块第二天只对这个板块挂预警。热词里常提到的20 路同时运行 connect.cfg max说的是行情连接的并发路数普通用户用默认配置完全够用没必要去动。4.3 信号出不来的排查顺序公式测试通过、选股却零结果按这个顺序查现象常见原因处理提示语法错误用了中文标点或全角括号逐行检查分号与括号测试通过但选不出多条件同时成立概率极低逐条注释定位卡死的那条选出的票代码异常未剔除停牌、ST加C0 AND DYNAINFO(4)0结果比预想少很多年线过滤过强临时降为 120 观察变化图上信号与选股不一致复权设置不统一统一前复权后再跑注意LMA(C,8)在跌停或大幅低开的票上几乎必然成立会把弱势票选进来。配合CREF(C,1)能挡掉一部分真正稳妥的做法是再加一条涨跌幅过滤或者CO。5. 把文字规则补成代码粘合度与高位风险过滤原文两条注意事项完全没写进公式均线粘合后没有向上发散的不买相对高位且前 5 天内有放量阴线或放量长上影的不买。这两条可以量化补上。先做粘合度。用三条均线的极差除以最低值M3:MA(C,3); M8:MA(C,8); M20:MA(C,20); HH:MAX(MAX(M3,M8),M20); LL:MIN(MIN(M3,M8),M20); NH:(HH-LL)/LL*100; {粘合度百分比数值越小越粘} NH3; {3%以内视为粘合}只用当天粘合不够很多票在均线缠成一团的横盘里反复出交叉。发散得看趋势FH:NHREF(NH,1) AND REF(NH,1)REF(NH,2) AND LLREF(LL,1);意思是极差连续两天扩大同时最低的那条均线在抬升。高位风险拆成两个布尔量再合并FL:VMA(V,5)*1.8 AND CO; {放量阴线} SY:(H-MAX(C,O))ABS(C-O)*2 AND VMA(V,5)*1.5; {放量长上影} RISK:COUNT(FL,5)COUNT(SY,5)0; {近5日内出现过}三个数字都可以按标的波动率调量能倍数 1.8 和 1.5 越小越敏感上影线与实体的比例 2 决定影线判定宽严。振幅大的票把倍数提到 2.2 以上否则天天被判成风险。把三段拼进选股条件XG_D:CROSS(A2,A3) AND AA AND NH3 AND FH AND NOT RISK;加完以后信号数量通常掉到原来的三到四成。掉得太狠说明NH3定得过紧A 股多数时间均线并不真正粘合可以放到 5%。FH才是过滤粘而不发的关键它把信号位置明显往后推换来的是一批形态干净得多的票。顺手还可以把EMA(A2,2.5)里的 2.5 改成 3交叉点后移一到两根 K 线震荡市里信号密度会降下来。改完拿同一段行情跑对照哪个版本更贴合自己的持仓周期只有自己的交易记录能回答。源码与参数改法仅供参考不构成任何投资建议。本文还有配套的精品资源点击获取