多指标叠加过滤器会提高胜率吗?独立性与样本错觉解析
你把 RSI、MACD、200 EMA 叠在同一张图上,设定成「三个信号同时满足才进场」——这是**多指标叠加当过滤器**的典型做法。回测看起来很漂亮:胜率从 45% 跳到 63%。上实盘几周后,信号少到你怀疑是不是策略本身坏了。
没有人先跟你讲的是:**「多加一个指标会更稳」这个直觉,只有在指标之间彼此独立的时候才成立。**大多数常见的指标并不独立——它们看的是同一件事、或看的是相反的事。两种情况都不会让你的胜率真的变高。
这篇不告诉你哪三个指标最强——那要看你交易的资产、时间框架、与资金曲线容忍度,换个人就变。这篇只讲机制:**为什么「加更多指标」在数学上就不会像你想的那样运作**,以及一个可以自己在 Pine Script(也就是 TradingView 内置的那门写策略的语言)里验证的做法。
多指标叠加当过滤器:你以为的样子
过滤器的基本假设是:**加一个独立条件,可以把伪信号淘汰掉。**这件事的前提是「独立」。用掷硬币的概率来想——一次正面的概率是 50%,同时掷两次都是正面的概率是 25%。**只有当两次掷的结果彼此无关,这个乘法才成立。**
指标之间的关系却很少是无关的。**两个指标若都在算价格动能,它们几乎会同时亮。**加上去不是把伪信号减半,是同一件事讲两次。
情况一:两个指标看同一件事
最常见的重叠是「动能家族」。RSI、Stochastic、MACD 都是从价格动能衍生出来的。它们的公式不同,但你把 [RSI 指标](/blog/rsi-indicator-guide) 与 [MACD 指标](/blog/macd-indicator-guide) 并排看,会发现转折时机几乎重叠——因为它们都在回答同一个问题:**这段行情的动能有没有在减弱?**
| 指标 A | 指标 B | 实际上在算什么 | ||
|---|---|---|---|---|
| 动能家族 | RSI | Stochastic | 都是压在 0~100 区间的动能振荡类指标 | |
| 动能家族 | RSI | MACD | 都在描述近期价格动能,信号转折时机常常同时发生 | |
| 趋势家族 | EMA 交叉 | MACD 信号线 | MACD 本身就是两条 EMA 的差,再交叉一次 | |
| 波动家族 | Bollinger 上下轨 | Keltner Channel | 都是「均线 ± N × 波动度」的形状 |
常见的重叠组合(作者依各指标的公式结构归类,查证日期 2026 年 8 月)
用「RSI 超卖 + MACD 死叉」当进场条件,在多数市况下两件事会同时发生——**你以为多了一层确认,其实是同一件事讲了两次。**回测会显示胜率高一点,但那不是因为条件变严格,是因为触发次数少了很多。
情况二:两个指标看相反的事
另一种常见错误是把「追趋势」与「反转」的指标叠在一起。这种组合不是同义重复,是**互相打架**。
[均线交叉策略](/blog/ema-moving-average-guide) 的直觉是「快线穿过慢线代表趋势启动,跟着追」;RSI 超买区的直觉用法是「太过热了,该回调」。两个一起套上——**当均线金叉、代表趋势起来时,RSI 几乎必然冲进超买区。**这时 RSI 说不要进、均线说要进,两者永远不会同时亮。
| 市况 | 追趋势派这时说 | 反转派这时说 | 结果 | |
|---|---|---|---|---|
| 强势多头 | 快线穿慢线,跟 | RSI 到 80 了,反手 | 两派同时亮=几乎不可能 | |
| 横盘震荡 | 没有明确方向,观望 | RSI 在 50 附近,观望 | 两派都不动=一起沉默 | |
| 破底反弹 | 均线还没翻,不追 | RSI 从 20 反弹,进 | 两派方向相反=各说各话 |
追趋势与反转指标在三种市况下的信号重叠(示意,查证日期 2026 年 8 月)
那到底什么算「独立」?
独立的意思是:**两个指标在算两个不同维度的东西**,不是两个都在算价格动能、只是用不同公式。实务上把指标按维度分成三家:
| 维度 | 问的问题 | 代表指标 | |
|---|---|---|---|
| 方向 | 现在整体是往上还是往下? | EMA / SMA / Ichimoku 云图 | |
| 时机 | 短线的进场点在哪? | RSI / MACD / Stochastic / 蜡烛型态 | |
| 风控 | 波动有多大?止损放多远合理? | ATR / Bollinger 带宽 |
三个维度各挑一个代表,才有真正的过滤效果(查证日期 2026 年 8 月)
「用 EMA 200 判方向 + [RSI](/blog/rsi-indicator-guide) 判时机 + [ATR](/blog/atr-volatility-position-sizing) 决定止损」是一个典型的三维度搭配——**它们各自回答不同问题,加在一起才会互相补充。**「RSI + MACD + Stochastic」则是同一维度叠三次,加不加没差。
加更多条件,样本会急速缩小
假设你有三个真正独立的指标,各自在一段时间内会亮 30% 的 K 棒。三个「同时亮」的概率是多少?
一年约 250 个交易日,每天一根日 K——三个独立指标同时亮,一年平均只会给你 6~7 次信号。**这不是胜率高低的问题,是统计显著性的问题:6 笔样本里赢 4 笔,胜率 66.7% 这个数字本身没有意义。**
而且上面那个算式已经假设「彼此独立」了。**现实里指标互相关联的话,同时亮的概率会比乘法算出来的高——但那不是因为过滤有效,是因为它们本来就会一起亮。**
你以为的胜率变高,其实是样本错觉
回测面板上,30 笔胜 66% 跟 1000 笔胜 55% 看起来前者好——但**用 1000 笔的策略上实盘,你会知道长期期望值大概是什么;用 30 笔的策略上实盘,你不知道下一笔会接近 66% 还是接近 30%。**
判断方式:**加上一个新条件之后,如果总交易次数少了 70% 以上而胜率只增加 5~10%,那多半不是条件变好,是样本变薄。**这件事的直观感受是「策略在回测期间看起来很稳,上实盘两个月就开始漂移」——因为原本 30 笔胜率的置信区间本来就宽得可以吞掉你以为的优势。
给 Pine Script 用户的自我验证动作
如果你在写 [Pine Script](/blog/pine-script-beginner) 策略,最快的自我验证方式是**跑对照组**。一个版本只有原本的核心信号,一个版本加了你想加的过滤器,然后看两件事:
- 过滤器加上去之后,总交易次数掉了多少百分比
- 过滤器加上去之后,被过滤掉的那些交易如果实际发生,胜率是多少
- 把两组的期望值(胜率 × 平均获利 − 败率 × 平均亏损)拿出来比,不要只看胜率
第二条是关键:**如果被过滤掉的那些交易本身胜率跟原策略差不多,那过滤器什么都没做,只是随机把样本切一半。**这件事在 Pine 里不能靠 `strategy.entry` 直接看,需要开两个 `strategy` 分别跑、再手动比对——或用 `label.new` 把两组进场点都画出来,眼睛扫过去差多少一目了然。
诚实的一段:这篇不告诉你「哪三个指标最强」
因为那要看你交易的资产、时间框架、与资金曲线容忍度——同一组指标在 BTC 4H 上跟在 ETH 1H 上表现不一样,换个时间框架可能整个翻转。**任何写着「这三个指标组合胜率 78%」的文章,如果没有附标的、时间框架、样本区间、与交易次数,那个数字就没有意义。**
真正能自己回答这个问题的方式,是照上一节那个做法把对照组跑一次。三个独立维度各挑一个代表,跑 500 笔以上样本再看期望值——比你在网上找「最强组合」快,也更接近你实际会遇到的情况。
常见问题
所以我应该只用一个指标?
回测胜率变高一定是错觉吗?
Bollinger Bands 算方向、时机、还是波动?
有没有一个简单的判准看指标独不独立?
那 volume 指标可以拿来当独立过滤器吗?
Get started
把上面那组对照组回测跑完再上实盘——TVSBot 是非托管的 TradingView → 交易所自动下单桥接,用你自己的 API key,先 dry-run,并提供账户级别风控(单笔金额上限、日亏损熔断)。
免费开始使用