「5 日线上穿 20 日线就买」——这是 A 股最常见的入门指标选股公式之一。实盘里很多人很快发现:金叉不少,能赚钱的并不多。震荡市里,短均线上穿长均线后几天又死叉,俗称「假金叉」或「骗线」。
一个自然的升级思路是加第三根均线做趋势过滤:只有短、中、长均线呈多头排列(例如 MA5 > MA20 > MA60)时,才承认金叉有效。听起来合理,但量化研究不能停在直觉——你需要回答:过滤掉了多少噪声?是否连真突破也一起删了?交易频率下降后,回撤真的变小吗?单账户下还买不买得上?
本文把「双均线金叉 + 三均线多头排列过滤」写成可回测、可筛选、可复盘的指标选股公式全流程,界面示例来自 青柠量化 零代码策略编辑器。方法可迁移到其他可视化回测工具;重点是把口头过滤变成可证伪的规则。
一、双均线假金叉从哪来:震荡 vs 趋势
假金叉不是「引擎算错了」,往往是规则与市况不匹配:
单边上涨
- – 双均线金叉典型表现:金叉后延续,信号「很准」
- – 常见误判:把牛市样本当成普适规律
宽幅震荡
- – 双均线金叉典型表现:频繁金叉死叉,小亏小赚交替
- – 常见误判:误以为「均线失效」
阴跌反弹
- – 双均线金叉典型表现:反弹金叉后再次下跌
- – 常见误判:把下跌途中的反弹当反转
回测口径若不对,假金叉还会被放大:未复权除权把均线打穿、信号当根收盘价成交、不计佣金滑点——都会让「看起来能买」比真实更容易。常规 A 股趋势研究应优先后复权,并采用收盘确认、下一根开盘价成交 + 佣金与滑点的保守假设(与 青柠量化 常规日线回测一致)。
若你已读过系列前文中关于「金叉 + 放量」「多指标 AND 共振」的写法,可以把本文理解为:在金叉条件之上,再叠一层「均线结构」过滤——逻辑相同,指标更少,但趋势语义更明确。
二、第三根均线到底过滤什么:结构定义要写死
「多头排列」口语里人人都懂,回测里必须无歧义。推荐拆成两层条件,用 AND 合并:
- – 事件(金叉):MA(5) 上穿 MA(20)(交叉条件)
- – 结构(多头排列):MA(5) > MA(20) 且 MA(20) > MA(60)(比较条件 + AND)
- – 合成(趋势中的金叉):AND:金叉 且 多头排列
- – 出场(趋势破坏或对称离场):MA(5) 下穿 MA(20),或 MA(20) 下穿 MA(60)
- – 仓位(可执行比例):例如每次 25%–30%,单账户设最大持仓
注意:金叉当根 K 线是否同时满足 MA20 > MA60,与「金叉前早已多头」是两种严格度。较严写法要求金叉日三线已多头;较松写法允许 MA60 仍在 MA20 下方,仅把 MA60 当 distant filter。两种写法筛选命中数与回测曲线差异很大——必须选定一种写进策略名,避免改口径却不改结论。

青柠量化 组件对应关系:三根 MA(或 EMA)→ 交叉条件(上穿)→ 两条 比较条件(>)→ AND → 入场信号;出场接 交叉条件(下穿)或比较条件;仓位用固定比例。界面没有名为「多头排列」的魔法开关——比较 + AND 就是全部语义。
MA 与 EMA:该用哪一套?
- – MA(简单均线):特点 — 平滑、滞后略大;对过滤的影响 — 多头排列切换更「钝」,假金叉相对少
- – EMA(指数均线):特点 — 对近期价更敏感;对过滤的影响 — 金叉更早,但震荡里「骗线」也可能更多
研究时建议:同一策略内三根线统一用 MA 或统一用 EMA,不要 MA5 配 EMA20 配 MA60——除非你有明确理由。对比实验应做「全 MA」与「全 EMA」两组,而不是在单组里混用。
两种严格度:同期多头 vs 滞后确认
- – 严格同期:规则 — 金叉当日必须 MA5>MA20>MA60;松紧 — 最严,易 0 命中
- – 结构先行:规则 — 金叉前 5 日内曾出现多头排列;松紧 — 较松,需 SEQUENCE 或自定义间隔
- – 仅 distant filter:规则 — 金叉 + Close>MA60(不要求 MA20>MA60);松紧 — 介于两者之间
若你读系列前文关于 SEQUENCE 的说明,可把「结构先行」写成:先满足 MA20>MA60 持续 3 日,再允许 MA5 上穿 MA20 触发——这比纯 AND 更贴近「趋势已成立再金叉」的口语,但参数更多,更需 WFO 或手工样本外。
三、双均线 vs 三均线过滤:预期差异对照表
在跑回测之前,先建立可检验的假设,避免结果出来再编故事:
方案 A:仅双均线金叉
- – 信号频率:高,震荡市尤其多
- – 震荡市假信号:多
- – 趋势启动初期:能抓到更早
- – 筛选命中(全市场):偏多
- – 平均持仓时间:偏短
- – 最大回撤:不一定更小
- – 单账户可执行性:信号多 → 抢槽位
方案 B:金叉 + 三均线多头过滤
- – 信号频率:明显降低
- – 震荡市假信号:通常减少
- – 趋势启动初期:可能晚几根 K 线(等 MA60 排列)
- – 筛选命中(全市场):偏少,需警惕「过严 = 0 结果」
- – 平均持仓时间:偏长(过滤后更像趋势跟踪)
- – 最大回撤:常因交易次数减少而下降,非保证
- – 单账户可执行性:信号少 → 更易执行,但可能错过妖股
这张表是方向性预期,不是结论。你的参数(5/20/60 还是 10/30/120)、出场规则、标的池都会改写答案——这正是为什么要回测。
四、路径 A:编辑器手搭「趋势过滤金叉」指标选股公式
适合:希望完全掌控每一根均线周期与 AND 结构的人。
1. 新建策略并命名
建议名称包含周期与过滤语义,例如:金叉_5_20_60_多头过滤_v1。策略保存在本地,便于与「无过滤版」对比。
2. 组装顺序(与界面工作流一致)
- 1. 指标:MA(5)、MA(20)、MA(60)——三根独立组件,周期在属性面板修改。
- 2. 条件 A(金叉):交叉条件,MA5 上穿 MA20。
- 3. 条件 B、C(结构):比较条件 MA5 > MA20;比较条件 MA20 > MA60。
- 4. 逻辑:AND 合并 A、B、C(若 B 冗余可省略,但保留可读性)。
- 5. 入场信号:绑定 AND 输出。
- 6. 出场:MA5 下穿 MA20(与金叉对称),或增加 MA20 下穿 MA60 作硬止损趋势。
- 7. 仓位:如 30%;回测时启用单账户最大持仓数(例如 5)。
3. 验证策略
点「验证策略」检查逻辑闭环。筛选阶段只用入场;回测使用完整指标选股公式(含出场、仓位)。
五、路径 B:AI 翻译草稿,再人工收紧

可在 AI 输入框写(示例):
5 日均线上穿 20 日均线,且 5、20、60 日均线呈多头排列时买入;5 日均线下穿 20 日均线卖出;每次使用 30% 仓位。
生成后必做三件事(系列前文「AI 生成策略怎么验收」同一原则):
- 1. 核对周期与方向:是否误写成 EMA、是否把「上穿」写成「大于」。
- 2. 打开可视化编辑器:确认 AND 结构是否把「金叉」与「MA20>MA60」绑在同一入场。
- 3. 与无过滤版各跑一遍筛选:看命中数是否从「过多」降到「可研究区间」(如 5–30 只/日,视你的标的池而定)。
AI 是翻译官,不是保证过滤有效的裁判。
六、筛选:用命中数校准松紧

建议固定标的池(先自选股,再指数成分,最后全市场),用两种模式各扫一次:
- – 最新 K 线:收盘后看「今天谁符合趋势过滤金叉」
- – 区间任意 K 线:统计某段行情里信号密度
决策树:筛选结果怎么读
筛选结果 = 0?
├─ 是 → MA60 周期是否过长?→ 缩短至 MA40 试一次
│ └─ 仍 = 0 → 是否 AND 过严(金叉日强制 MA20>MA60)?→ 放宽结构或改 SEQUENCE
└─ 否 → 命中 > 50 只/日?
├─ 是 → 过滤不足,考虑加长 MA60 或加量能条件(见系列量价文)
└─ 否 → 进入批量回测
反例(口头共振,不可回测)
- – 「大概均线都向上」——没有比较条件,无法复现。
- – 「金叉且 K 线好看」——主观形态,引擎无法执行。
- – 无过滤版 80 只/日,有过滤版 0 只/日——不是「过滤有效」,是过滤过严到无法研究。
七、指标选股公式回测:批量普适性 + 单账户可执行性

1. 批量单标的回测——回答「规则广不广」
配置建议:
- – 标的池:沪深300成分或自选股 30–50 只
- – 区间:免费版近约 3 年日线;需更长牛熊切换用专业版约 15 年
- – 对比组:A 组仅金叉;B 组金叉 + 多头过滤
- – 关注:中位数收益、胜率、最大回撤——不只盯最优一只
若 B 组中位数回撤下降、但中位数收益也明显下降,你要问:少做的交易,值不值——没有标准答案,只有你的风险偏好。
2. 单账户交易模拟——回答「买不买得上」
双均线版信号密集时,常出现「批量很好看、单账户买不进第 6 个信号」。三均线过滤后信号变少,单账户曲线有时反而更接近批量——这不是过滤「提高收益」,是降低资金冲突。
务必设置:初始资金、单次仓位比例、最大同时持仓。与系列前文中「批量 vs 单账户」一文同一逻辑:两种模式缺一不可。
3. 成本敏感
趋势过滤减少交易次数,佣金与滑点占比往往下降——但若剩余信号集中在追涨日,单笔滑点仍可能放大亏损。改过滤条件前后,对比交易次数与平均每笔收益,别只看年化。系列前文专门讨论过佣金与滑点对结论的扭曲——对低频趋势策略,费用占比通常低于高频双均线;但若过滤后仍剩「追涨型」买点,单笔滑点 0.2% 仍可能吃掉整段波段利润。
4. 如何读回测报告(别只盯年化)
- – 年化收益:过滤前可能 — 波动大;过滤后常见变化 — 可能下降;怎么解读 — 结合回撤一起看
- – 最大回撤:过滤前可能 — 深、次数多;过滤后常见变化 — 有时变浅;怎么解读 — 非保证,需看中位数
- – 胜率:过滤前可能 — 40%–50%;过滤后常见变化 — 略升或不变;怎么解读 — 趋势策略胜率未必高
- – 交易次数:过滤前可能 — 多;过滤后常见变化 — 明显减少;怎么解读 — 过少则统计不可靠
- – 夏普(若有):过滤前可能 — 被噪声拉低;过滤后常见变化 — 可能改善;怎么解读 — 样本太短时夏普失真
批量模式下,请导出或记录每标的最大回撤分布:若过滤版只是把「最亏的几笔」删掉,中位数回撤会改善;若改善来自两只龙头,换一批股票可能失效——这正是动画复盘要抽查的内容。
八、概念推演:同一轮震荡里的两种命运
下面用概念性场景说明过滤在做什么(非实盘推荐,仅帮助建立直觉):
场景 A(震荡市假金叉):MA5 上穿 MA20,但 MA60 仍在 MA20 上方不远、走平。无过滤版触发;有过滤版因 MA20 未高于 MA60 而不触发。随后价格回落死叉——过滤版少一次小亏。
场景 B(趋势初段):价格 V 型反转,MA5 快速上穿 MA20,但 MA60 仍向下。无过滤版早进;有过滤版等待 MA20 上穿 MA60 后才在下一次金叉入场——可能晚 5–10 根 K 线,或完全错过急速拉升的题材短波。
场景 C(真趋势):三线已多头,MA5 回调后再金叉。两版都触发,买点接近——过滤版没有额外优势,但也没有伤害。
这三个场景说明:过滤不是免费午餐,而是在 A 与 B 之间权衡。你的研究问题应具体化为:「我更怕场景 A 的小亏,还是更怕场景 B 的错过?」回测用批量中位数回答,复盘用抽样回答。
九、动画复盘:过滤掉的是假金叉还是真启动?

汇总指标无法告诉你:被删掉的信号里,有没有后来翻倍的那只。动画复盘要做三件事:
- 1. 抽 5 只「B 组未触发、A 组触发」的票:看是被过滤「救了一命」还是「错过启动」。
- 2. 抽 5 只两组都触发的票:看买点是否仍在震荡区假突破。
- 3. 对照 MA60 斜率:过滤版若总在 MA60 走平仍买入,说明结构条件还需加「MA60 上行」类比较(若组件支持斜率;否则用 MA60 > MA60[5] 前一日近似)。
复盘若发现:大量假金叉确实消失,但趋势初段晚进 3–5 根 K 线——这是可接受的 trade-off,还是你策略目标不兼容,由你定。
与「信号太多买不过来」的联动
双均线版若出现系列前文所述「一天 30 个信号、单账户只能买 5 个」,三均线过滤的第一功能往往是降频而非「提高胜率」。验证时应同时记录:
- – 无过滤版:筛选命中数、单账户跳过信号比例
- – 有过滤版:同上
若过滤版跳过比例从 60% 降到 10%,单账户曲线会更接近批量——这是执行改善;若过滤版命中仍 > 30 且跳过比例仍高,应优先调最大持仓与仓位,而非继续加 MA120。
十、参数与稳健性:别在一只票上「调到完美」
- – 单票把 MA60 改成 MA47 直到曲线完美:风险 — 过拟合;建议 — 固定 1–2 组经典周期对比
- – 只看 2024 年牛市段:风险 — 样本偏;建议 — 覆盖震荡 + 下跌段
- – 过滤版收益更高就宣布胜利:风险 — 幸存者偏差;建议 — 看批量中位数与单账户
专业版提供参数实验室与 WFO(Walk-Forward) 样本外验证:若 5/20/60 在样本内最优、样本外失效,说明过滤可能是「拟合噪声」。免费版至少做:两组周期 + 两个时间段 的手工对比。
十一、常见反例与诚实边界
- 1. 「三均线一定比双均线稳」
错。震荡末期三线仍可能短暂多头,金叉后一样回落。
- 2. 把 MA 周期换成「斐波那契」就高级
回测只认数字。13/34/55 与 5/20/60 没有先天优劣,只有样本表现差异。
- 3. 过滤后 0 信号 = 策略成功
0 信号是不可操作,不是「无风险」。
- 4. 界面组件边界
青柠量化 无「唐奇安通道」「均线斜率」等命名组件时,近似趋势可用比较条件组合(如价格 > MA60 且 MA20 > MA60),勿假设存在未实现功能。打板、分钟线、未复权等特殊口径属专业版能力,与本文日线后复权趋势过滤不是同一赛道。
- 5. 把过滤当成「保证盈利」
过滤只改变信号集合,不改变市场分布。三线多头时的金叉照样可能遇到宏观利空跳空——回测能做的是频率与期望的统计,不是消除风险。
十二、与出场、仓位联动的完整策略模板
仅改入场过滤不够。建议完整模板如下,便于 A/B 对比时只改一处:
方案 A:无过滤版
- – 入场:MA5 上穿 MA20
- – 出场:MA5 下穿 MA20
- – 仓位:30%,最大 5 持仓
- – 回测区间:相同
方案 B:有过滤版(唯一差异)
- – 入场:MA5 上穿 MA20 且 MA5>MA20>MA60
- – 出场:相同
- – 仓位:相同
- – 回测区间:相同
出场若改为「MA20 下穿 MA60 才卖」,会拉长持仓、改变回撤结构——那是另一个策略,不要与「仅加过滤」混在同一结论里。系列前文中关于止盈止损的深度讨论同样适用:过滤解决的是入场噪声,出场决定利润回吐与回撤长度。
十三、可执行清单:从双均线升级到三均线过滤
- 写清金叉定义(哪两条线、上穿)
- 写清多头排列(MA5>MA20>MA60 是否含金叉当日)
- 用 AND 合并,验证策略通过
- 补齐出场(死叉或结构破坏)与仓位
- 无过滤版 / 有过滤版各跑筛选,记录命中数
- 批量回测看中位数收益、回撤、交易次数
- 单账户模拟看资金曲线与买不进比例
- 动画复盘抽样对比「被过滤信号」
- 至少两个时间段或参数组交叉验证
周节奏建议(与系列 SOP 一致)
- – 周一:搭建无过滤 / 有过滤两版,跑筛选记录命中
- – 周二:批量回测 + 记录中位数
- – 周三:单账户模拟 + 对比差异
- – 周四:动画复盘抽样 10 笔
- – 周五:写结论:继续 / 改参数 / 证伪放弃
不必每天改参数;同一版策略至少跑满一周观察,避免「每天一个新策略」的研究幻觉。
数据与存储提醒
按 青柠量化 架构,策略 SDL 与回测摘要保存在本机,不上传个人策略内容。对比无过滤 / 有过滤两版时,建议各保存独立策略文件(如 _baseline / _filter 后缀),回测结果本地可查——便于日后用同一口径复跑,而不是凭记忆说「上次过滤好像更好」。
结语:过滤假金叉,靠证据不靠口号
三均线多头排列是 A 股散户最经典的趋势过滤器之一,但是否值得叠在你的金叉策略上,只能由筛选密度、批量普适性、单账户可执行性、复盘抽样共同回答。零代码组件已经够用:MA、交叉、比较、AND、入场、出场、仓位——语义清晰,比「感觉均线都好了」强一个数量级。
若希望在本机完成「搭建 → 筛选 → 双模式回测 → 动画复盘」闭环,可了解 青柠量化(零代码 A 股量化):策略与结果本地保存,A 股日线开箱可研究;AI 草稿、更长历史、参数实验室与 WFO 在专业版按需开启。
最后强调一句:过滤假金叉的目标不是把曲线调好看,而是明确你愿为「少做噪声交易」付出多少「晚进场」代价——这笔账只能由指标选股公式的回测笔记回答,不能由短视频里的「三均线稳赢」回答。
下载与说明见产品页:
https://www.zpyztech.com/product/qingquant/
免责声明: 本文仅作量化研究方法与软件使用说明,不构成任何投资建议。历史回测不代表未来表现,请独立判断并自行承担交易风险。