「5 日线上穿 20 日线就买」——这是 A 股最常见的入门规则之一。实盘里很多人很快发现:金叉不少,能赚钱的并不多。震荡市里,短均线上穿长均线后几天又死叉,俗称「假金叉」或「骗线」。

一个自然的升级思路是加第三根均线做趋势过滤:只有短、中、长均线呈多头排列(例如 MA5 > MA20 > MA60)时,才承认金叉有效。听起来合理,但量化研究不能停在直觉——你需要回答:过滤掉了多少噪声?是否连真突破也一起删了?交易频率下降后,回撤真的变小吗?单账户下还买不买得上?

本文把「双均线金叉 + 三均线多头排列过滤」写成可回测、可筛选、可复盘的全流程,界面示例来自 LemonPicking 零代码策略编辑器。方法可迁移到其他可视化回测工具;重点是把口头过滤变成可证伪的规则


一、双均线假金叉从哪来:震荡 vs 趋势

假金叉不是「引擎算错了」,往往是规则与市况不匹配

市况双均线金叉典型表现常见误判
单边上涨金叉后延续,信号「很准」把牛市样本当成普适规律
宽幅震荡频繁金叉死叉,小亏小赚交替误以为「均线失效」
阴跌反弹反弹金叉后再次下跌把下跌途中的反弹当反转

回测口径若不对,假金叉还会被放大:未复权除权把均线打穿、信号当根收盘价成交、不计佣金滑点——都会让「看起来能买」比真实更容易。常规 A 股趋势研究应优先后复权,并采用收盘确认、下一根开盘价成交 + 佣金与滑点的保守假设(与 LemonPicking 常规日线回测一致)。

若你已读过系列前文中关于「金叉 + 放量」「多指标 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。两种写法筛选命中数与回测曲线差异很大——必须选定一种写进策略名,避免改口径却不改结论。

策略编辑器:双均线交叉 + 三均线比较条件经 AND 接入场
策略编辑器:双均线交叉 + 三均线比较条件经 AND 接入场

LemonPicking 组件对应关系:三根 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 三均线过滤:预期差异对照表

在跑回测之前,先建立可检验的假设,避免结果出来再编故事:

维度仅双均线金叉金叉 + 三均线多头过滤
信号频率高,震荡市尤其多明显降低
震荡市假信号通常减少
趋势启动初期能抓到更早可能晚几根 K 线(等 MA60 排列)
筛选命中(全市场)偏多偏少,需警惕「过严 = 0 结果」
平均持仓时间偏短偏长(过滤后更像趋势跟踪)
最大回撤不一定更小常因交易次数减少而下降,非保证
单账户可执行性信号多 → 抢槽位信号少 → 更易执行,但可能错过妖股

这张表是方向性预期,不是结论。你的参数(5/20/60 还是 10/30/120)、出场规则、标的池都会改写答案——这正是为什么要回测。


四、路径 A:编辑器手搭「趋势过滤金叉」

适合:希望完全掌控每一根均线周期与 AND 结构的人。

1. 新建策略并命名

建议名称包含周期与过滤语义,例如:金叉_5_20_60_多头过滤_v1。策略保存在本地,便于与「无过滤版」对比。

2. 组装顺序(与界面工作流一致)

  1. 1. 指标:MA(5)、MA(20)、MA(60)——三根独立组件,周期在属性面板修改。
  2. 2. 条件 A(金叉):交叉条件,MA5 上穿 MA20。
  3. 3. 条件 B、C(结构):比较条件 MA5 > MA20;比较条件 MA20 > MA60。
  4. 4. 逻辑:AND 合并 A、B、C(若 B 冗余可省略,但保留可读性)。
  5. 5. 入场信号:绑定 AND 输出。
  6. 6. 出场:MA5 下穿 MA20(与金叉对称),或增加 MA20 下穿 MA60 作硬止损趋势。
  7. 7. 仓位:如 30%;回测时启用单账户最大持仓数(例如 5)。

3. 验证策略

点「验证策略」检查逻辑闭环。筛选阶段只用入场;回测使用完整策略(含出场、仓位)。


五、路径 B:AI 翻译草稿,再人工收紧

AI 策略生成:自然语言描述三均线过滤金叉
AI 策略生成:自然语言描述三均线过滤金叉

可在 AI 输入框写(示例):

5 日均线上穿 20 日均线,且 5、20、60 日均线呈多头排列时买入;5 日均线下穿 20 日均线卖出;每次使用 30% 仓位。

生成后必做三件事(系列前文「AI 生成策略怎么验收」同一原则):

  1. 1. 核对周期与方向:是否误写成 EMA、是否把「上穿」写成「大于」。
  2. 2. 打开可视化编辑器:确认 AND 结构是否把「金叉」与「MA20>MA60」绑在同一入场。
  3. 3. 与无过滤版各跑一遍筛选:看命中数是否从「过多」降到「可研究区间」(如 5–30 只/日,视你的标的池而定)。

AI 是翻译官,不是保证过滤有效的裁判。


六、筛选:用命中数校准松紧

筛选股票:对比有过滤 vs 无过滤的命中数量
筛选股票:对比有过滤 vs 无过滤的命中数量

建议固定标的池(先自选股,再指数成分,最后全市场),用两种模式各扫一次:

模式用途
最新 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 的错过?」回测用批量中位数回答,复盘用抽样回答。


九、动画复盘:过滤掉的是假金叉还是真启动?

动画复盘:逐 K 线核对过滤前后买点位置
动画复盘:逐 K 线核对过滤前后买点位置

汇总指标无法告诉你:被删掉的信号里,有没有后来翻倍的那只。动画复盘要做三件事:

  1. 1. 抽 5 只「B 组未触发、A 组触发」的票:看是被过滤「救了一命」还是「错过启动」。
  2. 2. 抽 5 只两组都触发的票:看买点是否仍在震荡区假突破。
  3. 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. 1. 「三均线一定比双均线稳」

错。震荡末期三线仍可能短暂多头,金叉后一样回落。

  1. 2. 把 MA 周期换成「斐波那契」就高级

回测只认数字。13/34/55 与 5/20/60 没有先天优劣,只有样本表现差异。

  1. 3. 过滤后 0 信号 = 策略成功

0 信号是不可操作,不是「无风险」。

  1. 4. 界面组件边界

LemonPicking 无「唐奇安通道」「均线斜率」等命名组件时,近似趋势可用比较条件组合(如价格 > MA60 且 MA20 > MA60),勿假设存在未实现功能。打板、分钟线、未复权等特殊口径属专业版能力,与本文日线后复权趋势过滤不是同一赛道。

  1. 5. 把过滤当成「保证盈利」

过滤只改变信号集合,不改变市场分布。三线多头时的金叉照样可能遇到宏观利空跳空——回测能做的是频率与期望的统计,不是消除风险。


十二、与出场、仓位联动的完整策略模板

仅改入场过滤不够。建议完整模板如下,便于 A/B 对比时只改一处

模块无过滤版有过滤版(唯一差异)
入场MA5 上穿 MA20MA5 上穿 MA20 MA5>MA20>MA60
出场MA5 下穿 MA20相同
仓位30%,最大 5 持仓相同
回测区间相同相同

出场若改为「MA20 下穿 MA60 才卖」,会拉长持仓、改变回撤结构——那是另一个策略,不要与「仅加过滤」混在同一结论里。系列前文中关于止盈止损的深度讨论同样适用:过滤解决的是入场噪声,出场决定利润回吐与回撤长度


十三、可执行清单:从双均线升级到三均线过滤

  • 写清金叉定义(哪两条线、上穿)
  • 写清多头排列(MA5>MA20>MA60 是否含金叉当日)
  • 用 AND 合并,验证策略通过
  • 补齐出场(死叉或结构破坏)与仓位
  • 无过滤版 / 有过滤版各跑筛选,记录命中数
  • 批量回测看中位数收益、回撤、交易次数
  • 单账户模拟看资金曲线与买不进比例
  • 动画复盘抽样对比「被过滤信号」
  • 至少两个时间段或参数组交叉验证

周节奏建议(与系列 SOP 一致)

任务
周一搭建无过滤 / 有过滤两版,跑筛选记录命中
周二批量回测 + 记录中位数
周三单账户模拟 + 对比差异
周四动画复盘抽样 10 笔
周五写结论:继续 / 改参数 / 证伪放弃

不必每天改参数;同一版策略至少跑满一周观察,避免「每天一个新策略」的研究幻觉。

数据与存储提醒

按 LemonPicking 架构,策略 SDL 与回测摘要保存在本机,不上传个人策略内容。对比无过滤 / 有过滤两版时,建议各保存独立策略文件(如 _baseline / _filter 后缀),回测结果本地可查——便于日后用同一口径复跑,而不是凭记忆说「上次过滤好像更好」。


结语:过滤假金叉,靠证据不靠口号

三均线多头排列是 A 股散户最经典的趋势过滤器之一,但是否值得叠在你的金叉策略上,只能由筛选密度、批量普适性、单账户可执行性、复盘抽样共同回答。零代码组件已经够用:MA、交叉、比较、AND、入场、出场、仓位——语义清晰,比「感觉均线都好了」强一个数量级。

若希望在本机完成「搭建 → 筛选 → 双模式回测 → 动画复盘」闭环,可了解 LemonPicking(零代码 A 股量化):策略与结果本地保存,A 股日线开箱可研究;AI 草稿、更长历史、参数实验室与 WFO 在专业版按需开启。

最后强调一句:过滤假金叉的目标不是把曲线调好看,而是明确你愿为「少做噪声交易」付出多少「晚进场」代价——这笔账只能由你的回测笔记回答,不能由短视频里的「三均线稳赢」回答。

下载与说明见产品页:
https://www.zpyztech.com/product/lemonpicking/


免责声明: 本文仅作量化研究方法与软件使用说明,不构成任何投资建议。历史回测不代表未来表现,请独立判断并自行承担交易风险。