MACD:金叉、死叉、红绿柱的真实胜率

青 青柠量化
2026-10-12
MACD六种信号扣成本后20日超额:只有零轴下方金叉为正。

一句话结论:MACD 金叉本身没有选股优势。全 A 股 10 年 36.8 万次金叉,持有 20 天胜率 48.8%,扣掉大盘和成本后跑输 0.22%;金叉买、死叉卖,逐笔胜率只有 34.3%。真正有用的是零轴:零轴下方的金叉略跑赢,零轴上方的金叉明显跑输。

MACD 可能是 A 股散户最熟悉的指标。这一课用全市场数据回答三个问题:金叉胜率多少?零轴上下有区别吗?红绿柱有没有用?

MACD六种信号扣成本后20日超额:只有零轴下方金叉为正。
MACD六种信号扣成本后20日超额:只有零轴下方金叉为正。

一、原理和公式

MACD 由三部分组成:

名称公式含义
DIF(快线)EMA12 − EMA26短期均线比长期均线高多少
DEA(慢线)DIF 的 9 日 EMADIF 的平滑线
柱状线(红绿柱)(DIF − DEA) × 2两条线的距离,正为红柱、负为绿柱

常见用法:

  • – 金叉:DIF 上穿 DEA,绿柱翻红,买入。
  • – 死叉:DIF 下穿 DEA,红柱翻绿,卖出。
  • – 零轴:DIF 在 0 上方说明 EMA12 高于 EMA26,处于多头区域。
  • – 绿柱缩短:下跌动能减弱,提前预判金叉。

默认参数 12、26、9。国内软件的柱状线一般乘 2,不影响交叉判断。


二、青柠数据实验 1:六种信号,哪个有用

全 A 股 2016 年 1 月至 2026 年 10 月。信号日收盘确认,第二天开盘买入,持有 20 天,和同一天全部股票平均收益比较。

信号次数20 天收益胜率20 天超额扣 0.15% 成本后
金叉(全部)367,832+1.03%48.8%−0.07%−0.22%
零轴上方金叉128,709−0.31%43.2%−0.55%−0.70%
零轴下方金叉239,123+1.74%51.9%+0.18%+0.03%
DIF 上穿零轴177,102+0.94%48.7%−0.24%−0.39%
绿柱连续缩短 3 天329,621+1.06%48.7%+0.12%−0.03%
死叉(对照)368,822+0.51%46.1%−0.05%−0.20%

逐条看:

  1. 1. 金叉的胜率不到一半。持有 20 天,48.8% 赚钱,扣掉大盘和成本是跑输的。
  2. 2. 零轴是关键。零轴上方的金叉(已经涨了一段,再次加速)20 天平均亏 0.31%,胜率 43%;零轴下方的金叉(跌了一段,开始企稳)胜率 51.9%,是六种信号里唯一扣成本后仍跑赢的。这和第 15 课 DMA 的发现完全一致。
  3. 3. DIF 上穿零轴就是 EMA12 上穿 EMA26,跑输 0.24%,和第 11 课的结论一致。
  4. 4. 绿柱缩短比等到金叉稍好一点,但扣成本后也只是打平。
  5. 5. 死叉之后绝对收益确实更低(+0.51% vs +1.03%),但扣掉大盘后和金叉差不多。死叉多出现在大盘弱的时候,「死叉之后跌」主要是大盘在跌。

三、青柠数据实验 2:金叉买、死叉卖

信号级统计只看固定持有 20 天。再按最经典的用法逐笔交易:金叉第二天开盘买,死叉第二天开盘卖,每笔扣 0.15%。

参数交易笔数胜率平均盈利平均亏损盈亏比平均每笔平均持有平均超额
6/13/5(快)700,62034.6%+7.51%−3.74%2.01+0.15%6.8 天−0.57%
12/26/9(默认)365,01034.3%+11.25%−5.08%2.21+0.53%13.2 天−0.76%
24/52/18(慢)196,81336.5%+14.92%−7.05%2.12+0.97%24.4 天−0.91%

和第 8 课的均线金叉一模一样的形态:胜率三成多,盈亏比 2 左右,每笔小赚,扣掉同期大盘后跑输。12/26/9 这组参数没有什么特别的魔力,三组参数超额全部为负。


四、分年份和牛熊

金叉(全部)每年的 20 天超额:

年份信号次数20 天收益胜率20 天超额
201619,795+1.65%51.8%−0.02%
201723,101−1.07%45.7%−0.06%
201825,958−2.24%38.0%−0.20%
201928,555+2.49%55.1%+0.07%
202031,082+1.21%47.4%+0.15%
202135,594+1.88%51.2%−0.03%
202237,766−0.21%45.9%−0.03%
202342,685−0.23%45.7%−0.21%
202443,554+2.47%48.4%−0.20%
202546,554+3.89%60.1%−0.16%
202633,188−0.80%42.9%+0.05%

胜率随大盘起落:2025 年 60.1%,2018 年只有 38.0%。你在网上看到的「MACD 金叉胜率 60%」,很可能只是某一年大盘好。 扣掉大盘后,每一年都在 0 附近,扣成本后没有一年明显为正。

市况信号次数20 天收益胜率20 天超额
牛市201,044+0.55%47.8%−0.03%
熊市166,788+1.61%50.1%−0.12%

五、青柠数据实验 3:用 MACD 判断大盘

沪深 300 指数上两种用法,每次换仓扣 0.075%:

做法总收益年化最大回撤换仓次数胜率
买入持有+14.84%+1.29%−45.60%1—
DIF > DEA 持有(金叉持有、死叉空仓)+5.26%+0.48%−38.67%20828.8%
DIF > 0 持有(零轴上方持有)+20.91%+1.78%−25.02%8236.6%
沪深300上DIF在零轴上方才持有,收益更高、回撤更小;金叉死叉择时没跑赢买入持有。
沪深300上DIF在零轴上方才持有,收益更高、回撤更小;金叉死叉择时没跑赢买入持有。

金叉死叉太频繁,10 年换仓 208 次,没跑赢买入持有。只看零轴,换仓少一半多,收益和回撤都比买入持有好,作用和第 10 课的长均线类似。这段时间沪深 300 有一次三年半的下跌,零轴过滤帮它躲过了大部分,这个优势不能简单外推。


六、常见误区

「MACD 金叉胜率很高」
全市场 10 年平均 48.8%,逐笔交易只有 34.3%。高胜率只出现在大盘好的年份。

「零轴上方的金叉更强,更可靠」
恰好相反,零轴上方金叉 20 天平均亏 0.31%,是六种信号里最差的。

「死叉之后一定跌」
死叉之后的绝对收益更低,但扣掉大盘后和金叉差不多,主要是大盘在跌。

「换个参数就好了」
6/13/5、12/26/9、24/52/18 三组逐笔超额全部为负。


在青柠中实操

  1. 1. 量化策略 → + 新建策略,在 指标 → 趋势 里拖入 MACD,默认快线 12、慢线 26、信号线 9。
  2. 2. 用 金叉/上穿,快线选 MACD线(DIF)、慢线选 信号线(DEA)。
  3. 3. 再加一条 数值比较:MACD线(DIF) < 0,表示只做零轴下方的金叉。
  4. 4. 用 全部满足 (AND) 连起来接 入场信号;用 死叉/下穿 接 离场信号。
  5. 5. 用 批量回测 对比加不加「DIF < 0」,看胜率和收益的变化。
  6. 6. 想用 MACD 看大盘:入场写「DIF 上穿 0」,离场写「DIF 下穿 0」,对沪深 300 相关标的回测。
策略库回测 · 沪深A股 · 近 1 年日 K · 默认参数 更新于 2026-09-11 19:02 · 每日重算
# 策略 类型 年化收益 夏普 最大回撤 胜率 评级
01 左侧趋势抄底·急跌收阳 趋势 +1.3% 0.85 16.4% 83% A 导入复现
02 MACD金叉死叉 趋势 +0.9% 0.08 20.8% 35% PRO 导入复现
03 RSI超买超卖 震荡 +0.8% 0.23 30.8% 45% PRO 导入复现

更多策略可以在青柠策略市场查看。下一课(第 18 课)讲 TRIX:用三重平滑过滤噪音。


常见问题

MACD 和第 8 课的均线金叉有什么区别?
MACD 的 DIF 本身就是两条 EMA 的差,DIF 上穿 DEA 相当于「均线差开始变大」,比均线金叉更早。但两者在 A 股个股上的逐笔结果非常相似。

背离信号有用吗?
顶背离、底背离会在第 34 课专门检验。

红绿柱的长短能用吗?
本课检验了「绿柱连续缩短 3 天」,比金叉略好,扣成本后打平。柱子长短本身不是买卖信号。

周线 MACD 会不会更好?
本课只测了日线。周线信号更少、更慢,可以在青柠里切换周期自己验证。


口径说明

股票池为全 A 股,排除 ST(按当前名称)和北交所,剔除未复权收盘价低于 3 元、日线不足 100 根的股票,价格后复权;区间 2016-01-04 至 2026-10-12,共 4,992 只股票、2,614 个交易日。EMA 在数据库中用截断到最近 50 根 K 线的加权窗口近似;沪深 300 使用递归 EMA。金叉定义为前一日 DIF 不高于 DEA、当日 DIF 高于 DEA;绿柱连续缩短 3 天只记满 3 天的第一天。信号日收盘确认,次日开盘买入,持有至第 20 个交易日收盘;次日一字涨停剔除。逐笔交易为金叉次日开盘买入、死叉次日开盘卖出,同一股票持仓期间不重复买入,每笔扣 0.15%;逐笔超额 = 该笔开盘到开盘收益 − 同信号日全市场等权、相近持有期的平均收益(持有期分组近似)。信号超额 = 信号股票收益 − 同日股票池全部股票同口径平均。牛熊按沪深 300 收盘相对其 250 日均线划分。沪深 300 使用指数日线(000300.SH,价格指数,不含分红),每次换仓扣 0.075%。2026 年为不完整年度。数据由青柠量化回测数据库计算。历史统计不代表未来表现,不构成投资建议。

读到这里,不如自己验证一次

文章里的逻辑,你可以在青柠量化里用真实数据重新跑一遍。免费,零代码。

免费下载客户端

写下你的看法

邮箱仅用于回复通知,不会公开。