Crates.io | ema-rs |
lib.rs | ema-rs |
version | 0.1.0 |
source | src |
created_at | 2020-11-18 06:28:39.725415 |
updated_at | 2020-11-18 06:28:39.725415 |
description | Exponential Moving Average (EMA) Implementation In Rust |
homepage | https://github.com/immortalinfidel/ema-rs |
repository | https://github.com/immortalinfidel/ema-rs |
max_upload_size | |
id | 313587 |
size | 3,921 |
use ta_common::traits::Indicator;
use ema_rs::EMA;
let mut ema = EMA::new(5);
assert_eq!(ema.next(81.59), 81.59);
assert_eq!(ema.next(81.06), 81.41333333333334);
assert_eq!(ema.next(82.87), 81.8988888888889);
assert_eq!(ema.next(83.00), 82.26592592592594);
assert_eq!(ema.next(83.61), 82.71395061728396);
assert_eq!(ema.next(83.15), 82.85930041152264);
assert_eq!(ema.next(82.84), 82.8528669410151);
assert_eq!(ema.next(83.99), 83.23191129401008);
assert_eq!(ema.next(84.55), 83.67127419600672);
assert_eq!(ema.next(84.36), 83.9008494640045);
assert_eq!(ema.next(85.53), 84.44389964266966);
assert_eq!(ema.next(86.54), 85.14259976177978);
assert_eq!(ema.next(86.89), 85.7250665078532);
ema= (1-k) emaprev. + k * input;
k=2/(N+1);
N=period;