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
ema
Exponential Moving Average
ema(source, periods)
Parameters
| Name | Type | Description |
|---|---|---|
source |
field | Data series |
periods |
int | Number of periods |
Formula
EMA = (value * multiplier) + (prev_EMA * (1 - multiplier)), multiplier = 2 / (periods + 1)
Examples
// price above 8-day EMA (short-term uptrend)
close > ema(close, 8);
// price below 21-day EMA (intermediate downtrend)
close < ema(close, 21);
// fast EMA crossed above slow EMA (golden cross)
crossover(ema(close, 12), ema(close, 26));
// price above 200-day EMA (long-term uptrend)
close > ema(close, 200);
Returns
float — may be NULL
Range
periods must be 2-210
Notes
Seeded with the SMA over the periods bars ending at the seed bar; the recursion starts there. No value before the seed bar (periods-1 rows past the source's own warm-up are NULL)