pub fn ema(closes: &[f64], period: usize) -> FinanceResult<Vec<Option<f64>>>Expand description
EMA with span period (α = 2 / (period + 1)). Seed = SMA of the first period closes.
Implemented via EmaState::push_bars.
§Errors
Same domain as sma.
§Examples
use finance_solution::stocks::ta::ema;
let c: Vec<f64> = (1..=20).map(|x| x as f64).collect();
let e = ema(&c, 5).unwrap();
assert!(e[3].is_none());
assert!(e[4].is_some());
assert!(e[19].unwrap().is_finite());