RSI 指标完整教学
不只是 30/70
RSI(Relative Strength Index,相对强弱指数)是技术分析最常用的指标之一, 1978 年由 J. Welles Wilder 发明。教科书都告诉你「> 70 超买、< 30 超卖」, 这只是入门。本文讲原理 + 4 种进阶用法 + Pine 代码, 看完你能写出自己的 RSI 策略。
1. RSI 是什么?背后的数学
RSI 衡量「过去 N 根 K 棒,涨的力道 vs 跌的力道」的比例, 输出 0-100 的值。默认 N=14。
计算公式(不用记,用 Pine 自动算)
avg_gain = 过去 14 根 K「涨幅」的平均
avg_loss = 过去 14 根 K「跌幅」的平均
RS = avg_gain / avg_loss
RSI = 100 - (100 / (1 + RS))几个直觉:
- RSI = 50:涨跌力道相同(中性)
- RSI > 70:涨的力道远大于跌(可能超买)
- RSI < 30:跌的力道远大于涨(可能超卖)
- RSI = 100:过去 14 根全涨,极端
2. 入门用法:超买超卖(最常见但最危险)
基本逻辑:RSI < 30 → 跌过头可能反弹 → 买; RSI > 70 → 涨过头可能回落 → 卖。
Pine 实作(纯超买超卖,不建议实盘):
//@version=5
strategy("RSI 超买超卖(教学版)", overlay=true)
length = input.int(14, "RSI 周期")
oversold = input.int(30, "超卖值")
overbought = input.int(70, "超买值")
rsi = ta.rsi(close, length)
if (ta.crossover(rsi, oversold))
strategy.entry("Long", strategy.long)
if (ta.crossunder(rsi, overbought))
strategy.entry("Short", strategy.short)3. 中阶用法:背离(最有 alpha 的用法)
背离(Divergence)是 RSI 真正强的地方。意思是 价格创新高/新低,但 RSI 没跟上,暗示动能衰竭。
多头背离(看涨信号)
价格创新低,但 RSI 比前一个低点高。 代表跌的力道在减弱 → 随后可能反弹。
空头背离(看跌信号)
价格创新高,但 RSI 比前一个高点低。 代表涨的力道在减弱 → 随后可能回跌。
4. 进阶用法:RSI 50 中轴当趋势过滤器
很多人忽略 50 这条中轴线。实际上它是趋势方向的快速判断:
- RSI 长期在 50 以上 → 多头趋势
- RSI 长期在 50 以下 → 空头趋势
- RSI 反复穿越 50 → 震荡盘
可以拿来当过滤器:只在多头趋势(RSI > 50)做多信号、 只在空头趋势做空信号。Pine:
//@version=5
strategy("RSI 50 趋势过滤", overlay=true)
rsi = ta.rsi(close, 14)
emaFast = ta.ema(close, 9)
emaSlow = ta.ema(close, 21)
trendUp = rsi > 50 // RSI 趋势过滤
trendDown = rsi < 50
// EMA 黄金交叉 + RSI > 50 才做多
if (ta.crossover(emaFast, emaSlow) and trendUp)
strategy.entry("Long", strategy.long)
// EMA 死亡交叉 + RSI < 50 才做空
if (ta.crossunder(emaFast, emaSlow) and trendDown)
strategy.entry("Short", strategy.short)5. 高阶用法:双时间框架(HTF)RSI
原理:用大时间框架(例如日线)RSI 判断大方向, 用小时间框架(例如 1 小时)执行进场。 避免逆势做交易。
//@version=5
strategy("HTF RSI 趋势过滤", overlay=true)
// 当前图表的 RSI(执行进场用)
rsi = ta.rsi(close, 14)
// 日线 RSI(趋势判断用)
dailyRsi = request.security(syminfo.tickerid, "D", ta.rsi(close, 14))
longSignal = ta.crossover(rsi, 30) and dailyRsi > 50
shortSignal = ta.crossunder(rsi, 70) and dailyRsi < 50
if (longSignal)
strategy.entry("Long", strategy.long)
if (shortSignal)
strategy.entry("Short", strategy.short)6. RSI 在什么币种 / 时间框架最好用
| 资产类型 | 时间框架 | RSI 效果 |
|---|---|---|
| BTC / ETH 大型币 | 4h / D | ★★★★ 好 |
| BTC / ETH 大型币 | 1m / 5m | ★★ 噪声多 |
| 稳定币对 | D | ★★★★ 震荡区间,超卖超买很稳 |
| 小山寨币(迷因币) | 任意 | ★ 不要用,被 pump 打爆 |
| 新上币(< 30 天) | 任意 | ★ 样本不足,数据没意义 |
7. 常见错误
❌ 在强趋势盘逆势做超买超卖
牛市 RSI 卡 80 不下,你按 70 卖 → 连续 stop out。 解法:搭配趋势过滤(EMA 200 / RSI 50 中轴)。
❌ 只看 RSI 不看价格结构
RSI 是动能指标,本身不是信号。要跟支撑阻力、 K 线形态、成交量一起看。单独用 RSI 进场胜率约 50%。
❌ 周期设太短
有人把 RSI 周期改成 5 想「更敏感」。结果就是信号爆量、胜率掉到剩 30%。 除非你知道在做什么,用默认 14 就好。
❌ 只在 1 个时间框架看
5 分钟 RSI 说超卖,但日线在连续下跌大趋势 — 反弹 1 根又被吞。 双时间框架是进阶入门最该学的。
Get started
把你的策略接上 TradingView webhook,自动下单到 Binance / OKX / Bybit 等 7 家交易所。
免费注册 TVSBot8. 把今天学的接上自动交易
策略写好可以在 TradingView 设 Alert,搭配 TVSBot 自动下单到交易所, 完整流程见 TradingView Webhook 完整教学。