The Relative Strength Index compares average gains to average losses over N periods, producing a 0–100 bounded oscillator. RSI measures momentum exhaustion — not direction. It shows how fast price moved, not where it is going.
Section 1: Core Mechanics
RSI answers one question: is momentum exhausted in either direction? It divides average upward moves by average downward moves, then scales the result to 0–100.
Formula
Where N is the period (default 14).
Wilder Smoothing — applied after the first calculation:
The first average gain is a simple mean of the first N gains. Every subsequent value uses Wilder smoothing, which gives more weight to recent data without a sharp cutoff.
Inputs
- Price source: Close price (standard — do not change without reason)
- Period (N): Number of bars. Default 14. Shorter = more sensitive, more noise. Longer = smoother, fewer signals.
Parameters
| Parameter | Default | Range | Impact |
|---|---|---|---|
| Period (N) | 14 | 2–50 | Lower gives more signals with higher false rate |
| Overbought level | 70 | 60–80 | Raise to 80 in strong trends to reduce premature signals |
| Oversold level | 30 | 20–40 | Lower to 20 in strong downtrends |
| Price source | Close | Close / HL2 / HLC3 | Close is standard |
Output
RSI outputs a single value between 0 and 100. Above 70 = overbought momentum. Below 30 = oversold momentum. The 50 line is the neutral centerline — above = net bullish momentum, below = net bearish.
Visual Behavior
RSI plots as a line in a separate panel below price. It oscillates between its extremes. In strong uptrends, RSI stays elevated (50–80) and rarely dips below 40. In downtrends, RSI stays suppressed (20–50). A shift in this pattern is an early warning sign.
Section 2: Interpretation & Signals
Signal Zones
| RSI Level | Interpretation | Action |
|---|---|---|
| Above 70 | Overbought — momentum extreme | Watch for reversal signal, not instant sell |
| 50–70 | Bullish momentum — uptrend bias | Ride trend, buy dips toward 50 |
| 50 | Centerline — momentum neutral | Direction shift possible |
| 30–50 | Bearish momentum — downtrend bias | Ride trend, sell rallies toward 50 |
| Below 30 | Oversold — momentum extreme | Watch for reversal signal, not instant buy |
Entry and Exit Rules
Overbought/Oversold Reversal:
- Entry: RSI crosses back below 70 (bearish) or above 30 (bullish)
- Exit: RSI reaches opposite extreme or crosses 50 against position
Centerline Cross:
- RSI crosses above 50 = momentum turning bullish — use as trend filter, not entry trigger
- RSI crosses below 50 = momentum turning bearish
Divergence — The Most Powerful RSI Signal
Divergence occurs when price and RSI disagree about momentum direction.
Bullish Divergence: Price makes a lower low. RSI makes a higher low. Momentum is recovering before price. This signals exhaustion of the downtrend.
Bearish Divergence: Price makes a higher high. RSI makes a lower high. Momentum is fading even as price climbs. This signals exhaustion of the uptrend.
RSI Bullish Divergence — Price Makes New Low, RSI Does Not
RSI Failure Swings
A failure swing is a signal within the RSI itself — independent of price action.
Bullish failure swing: RSI dips below 30, bounces above 30, pulls back but holds above 30, then breaks above the prior bounce high. That break = the entry signal.
Bearish failure swing: RSI rises above 70, drops below 70, rallies but fails to reclaim 70, then breaks below the prior pullback low. That break = the entry signal.
Failure swings are J. Welles Wilder's original preferred signal — more selective than simple overbought/oversold crosses.
Best Market Conditions
RSI works best in ranging and mean-reverting markets. In trending markets, use RSI for divergence and failure swings only — not for overbought/oversold fade entries.
Section 3: Pass vs. Live — Real-Time Reliability
RSI on a live unclosed bar updates on every tick. The Wilder smoothing means sudden price moves shift RSI significantly. Wait for the bar to close before acting on any RSI signal. Once the bar closes, the value is permanent — there is no historical repaint.
Section 4: Practical Use Cases
Setup: RSI(14) with 70/30 levels on 15-minute chart, higher-timeframe trend confirmed bullish Signal: RSI drops below 30 then crosses back above 30 (oversold exit) Entry: First 15m candle close after RSI crosses above 30 Exit: RSI reaches 60 or price hits 1.5x ATR target from entry Key Rule: Only trade oversold signals in direction of 1H trend — no counter-trend fades
Setup: RSI(14) on daily chart, look for bullish divergence at major support Signal: Price makes lower low, RSI makes higher low (bullish divergence confirmed at bar close) Entry: Next daily candle close after divergence confirmation Stop: Below the divergence price low Target: Prior swing high, minimum 2:1 risk-reward
Setup: RSI(14) weekly, centerline filter for long-term bias Signal: RSI crosses above 50 on weekly close = long-term momentum turning bullish Entry: Weekly close above 50 RSI after at least 2 bars below Stop: Weekly close with RSI below 40 Target: None fixed — trail position while RSI stays above 50
Real example — AAPL 2022 bear market low: AAPL daily chart, October 2022. Price made a new 52-week low near $125. RSI(14) registered 28 on the first low, then 31 on the second lower price low — classic bullish divergence. RSI held above its prior RSI low even as AAPL printed a lower price. The recovery from that low drove AAPL from $125 to $177 over the next four months.
Section 5: Pseudo Code
INPUT: close_prices[], period=14, ob_level=70, os_level=30
PROCESS:
Step 1: Calculate price changes: delta[i] = close[i] - close[i-1]
Step 2: Separate gains and losses:
gain[i] = delta[i] if delta[i] > 0 else 0
loss[i] = abs(delta[i]) if delta[i] < 0 else 0
Step 3: First avg gain = mean(gain[1:period+1])
First avg loss = mean(loss[1:period+1])
Step 4: For i > period, apply Wilder smoothing:
avg_gain[i] = (avg_gain[i-1] * (period-1) + gain[i]) / period
avg_loss[i] = (avg_loss[i-1] * (period-1) + loss[i]) / period
Step 5: RS[i] = avg_gain[i] / avg_loss[i] (if avg_loss == 0, RS = infinity)
Step 6: RSI[i] = 100 - (100 / (1 + RS[i]))
If avg_loss == 0: RSI[i] = 100
OUTPUT: rsi[] — array of RSI values (0 to 100)
EDGE CASES:
- Period of all gains: avg_loss = 0, RSI = 100
- Period of all losses: avg_gain = 0, RSI = 0
- Fewer bars than period: return NaN until period bars available
- NaN in close_prices: propagate NaN
Section 6: Parameters & Optimization
Standard Period Conventions
| Period | Use Case | Characteristic |
|---|---|---|
| 7 | Scalping, very short-term | High noise, fast signals, many false positives |
| 9 | Short-term swing | Faster than default, still workable |
| 14 | Standard (default) | Wilder's original — best balance |
| 21 | Slower swing | Fewer signals, better in volatile markets |
| 25+ | Position trading | Only major extremes trigger signal |
Parameter Impact
| Change | Effect | When to Apply |
|---|---|---|
| Lower period (< 14) | More overbought/oversold touches, more whipsaws | Only in calm trending markets with tight ranges |
| Higher period (> 14) | Fewer signals, slower divergence detection | High-volatility assets like crypto, biotech |
| Raise OB/OS levels to 80/20 | Only catches extreme momentum exhaustion | Strong trending environments |
| Lower OB/OS to 60/40 | More signals in mean-reverting markets | Range-bound stocks, stable indices |
What period works best for crypto RSI?
Crypto markets trend harder and have more extreme swings than equities. RSI(14) regularly touches 80+ and 20- without reversing. Use RSI(21) for swing setups to reduce noise, and raise the overbought threshold to 75 or 80 when the market is in a strong trend phase. The standard 70/30 levels produce premature fade signals in bull markets.
Should RSI period match my chart timeframe?
The period does not need to match the timeframe — RSI(14) is standard across all timeframes. What changes is which signals you trade. On a 15-minute chart, use oversold exits for scalps. On a daily chart, prioritize divergence. On weekly, use centerline crosses for position bias. Same math, different application.
Why does TradingView RSI sometimes differ slightly from other platforms?
Wilder smoothing (RMA) requires a long warmup period to converge. If two platforms start calculating from different historical bars, early values diverge and the smoothing takes different paths. After 100+ bars of data, values converge. Always use at least 100 bars of history before trusting RSI readings.
Section 7: Synergies & Conflicts
| Works Well With | Avoid Combining With | |
|---|---|---|
| SMA(200) | Use SMA(200) as trend filter — only take RSI oversold signals when price is above SMA(200) | — |
| MACD | MACD histogram direction confirms RSI momentum direction — align both before entry | — |
| Volume | High-volume RSI divergence has higher success rate than low-volume divergence | — |
| Bollinger Bands | RSI below 30 at lower Bollinger band = double confirmation oversold setup | — |
| Support / Resistance | RSI oversold at key horizontal support = high-probability reversal zone | — |
| Stochastic RSI | — | StochRSI is RSI applied to RSI — double-smoothed from the same data. Redundant, not independent confirmation. |
| CCI | — | CCI and RSI both measure momentum from price — partial redundancy. They confirm each other but add little independent edge. |
| Multiple RSI periods | — | RSI(7) + RSI(14) on same chart creates visual noise. Pick one period and stick with it. |
Section 8: Common Mistakes
| Mistake | Root Cause | Solution |
|---|---|---|
| Shorting on RSI above 70 in uptrend | Treating overbought as automatic sell signal | Wait for RSI to cross back below 70 — overbought can persist for weeks |
| Ignoring higher timeframe trend | Taking counter-trend RSI signals | Check daily trend before acting on hourly RSI — only trade oversold in uptrend direction |
| Not waiting for divergence confirmation | Acting on developing divergence mid-bar | Only enter after the divergence bar closes — live bar RSI shifts every tick |
| Using RSI alone for entry | RSI shows extremity, not timing | Pair with price action (pin bar, engulfing) or a crossover for entry trigger |
| Equal weighting all divergence signals | Not all divergence is equal — weak divergences at minor levels fail | Score divergence: strong = at major S/R, high volume, clean RSI pattern. Weak = any single factor missing. Trade strong only. |
Section 9: Cheat Sheet
USE WHEN: Price is at key support/resistance, divergence visible on closed bars, centerline cross for trend bias
AVOID WHEN: Strong trending market with no pullback, news catalyst imminent, ADX > 40 (avoid fade entries)
ENTRY SIGNAL: RSI crosses back above 30 (bullish) / RSI crosses back below 70 (bearish) / Divergence confirmed at bar close
EXIT SIGNAL: RSI reaches opposite extreme / RSI crosses 50 against position / Failure swing break
PARAMETERS: Standard = 14 period, 70/30 levels | Trending markets = 21 period, 80/20 levels
CONFLUENCE: SMA(200) trend filter + Volume on divergence bars + Support/Resistance level alignment
RISK: Overbought/oversold fade in trending markets: 55-65% loss rate without trend filter
BEST TIMEFRAME: Daily and 4H for divergence / 15m-1H for oversold entry scalps in trend direction