Contents
- abs
- add
- all_time_high
- all_time_low
- and
- approx
- aroon_down
- aroon_osc
- aroon_up
- atr
- bb_lower
- bb_upper
- bb_width
- cci
- change
- cond
- count
- cross
- crossover
- crossunder
- cumsum
- days_since
- dev
- deviation
- div
- ema
- eq
- falling
- floordiv
- gain
- gt
- gte
- highest
- highest_bars_ago
- hma
- kc_lower
- kc_middle
- kc_upper
- kcw
- loss
- lowest
- lowest_bars_ago
- lt
- lte
- macd_histogram
- macd_line
- macd_signal
- max
- mean
- median
- mfi
- min
- mod
- mom
- months_since
- mul
- ne
- obv
- offset
- or
- pct_change
- percentrank
- pivothigh
- pivotlow
- pow
- range
- rising
- roc
- rsi
- sma
- sqrt
- stdev
- stoch_d
- stoch_k
- streak
- sub
- sum
- swma
- true_range
- universe_percentile
- variance
- vwma
- weeks_since
- wilderma
- williams_r
- wma
- years_since
No matches
rsi
Relative Strength Index
rsi(source, periods, matype="wilder")
Parameters
| Name | Type | Description |
|---|---|---|
source |
field | Data series (commonly close) |
periods |
int | Number of periods for gain/loss smoothing |
Formula
RSI = 100 - (100 / (1 + RS)); RS = MA(gain(source), periods) / MA(loss(source), periods)
Examples
// overbought condition (RSI above 70)
rsi(close, 14) > 70;
// oversold condition (RSI below 30)
rsi(close, 14) < 30;
// RSI exiting overbought zone
crossunder(rsi(close, 14), 70);
// RSI with EMA smoothing instead of Wilder
rsi(close, 14, matype="ema") > 50;
Returns
float
Range
periods is bound by matype's MA family: 2-210 ema, 2-105 wilder (default), or 2-400 windowed sma/wma
Notes
Returns 100 rather than dividing by zero when avg_loss is exactly zero