[−][src]Struct dema_rs::DEMA
Double Exponential Moving Average
use dema_rs::DEMA; use ta_common::traits::Indicator; let mut ema = DEMA::new(5); assert_eq!(ema.next(81.59), None); assert_eq!(ema.next(81.06), None); assert_eq!(ema.next(82.87), None); assert_eq!(ema.next(83.00), None); assert_eq!(ema.next(83.61), None); assert_eq!(ema.next(83.15), None); assert_eq!(ema.next(82.84), None); assert_eq!(ema.next(83.99), None); assert_eq!(ema.next(84.55), Some(84.15945181120765)); assert_eq!(ema.next(84.36), Some(84.37935138613696)); assert_eq!(ema.next(85.53), Some(85.12493437653475)); assert_eq!(ema.next(86.54), Some(86.06242299709658)); assert_eq!(ema.next(86.89), Some(86.72659316211335)); assert_eq!(ema.next(87.77), Some(87.5288251063304)); assert_eq!(ema.next(87.29), Some(87.64550318083462));
Calculation
DEMA=2*EMAn(input) -EMA(EMAn(input));
n=period
Implementations
impl DEMA
[src]
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for DEMA
impl Send for DEMA
impl Sync for DEMA
impl Unpin for DEMA
impl UnwindSafe for DEMA
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,