pub struct SMA { /* private fields */ }
Expand description
Simple Moving Average of specified length
for timeseries of type ValueType
§Parameters
Has a single parameter length
: PeriodType
length
should be > 0
§Input type
Input type is ValueType
§Output type
Output type is ValueType
§Examples
use yata::prelude::*;
use yata::methods::SMA;
// SMA of length=3
let mut sma = SMA::new(3, &1.0).unwrap();
sma.next(&1.0);
sma.next(&2.0);
assert_eq!(sma.next(&3.0), 2.0);
assert_eq!(sma.next(&4.0), 3.0);
§Performance
O(1)
Implementations§
source§impl SMA
impl SMA
sourcepub const fn get_window(&self) -> &Window<ValueType>
pub const fn get_window(&self) -> &Window<ValueType>
Returns inner Window
. Useful for implementing in other methods and indicators.
sourcepub const fn get_divider(&self) -> ValueType
pub const fn get_divider(&self) -> ValueType
Returns 1/length
. Useful for implementing in other methods and indicators.
sourcepub const fn get_last_value(&self) -> ValueType
👎Deprecated since 0.5.1: Use Peekable::peek
instead
pub const fn get_last_value(&self) -> ValueType
Peekable::peek
insteadReturns last result value. Useful for implementing in other methods and indicators.
Trait Implementations§
source§impl<'de> Deserialize<'de> for SMA
impl<'de> Deserialize<'de> for SMA
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
source§impl Method for SMA
impl Method for SMA
source§fn new(length: Self::Params, value: &Self::Input) -> Result<Self, Error>
fn new(length: Self::Params, value: &Self::Input) -> Result<Self, Error>
Static method for creating an instance of the method with given
parameters
and initial value
(simply first input value)source§fn next(&mut self, value: &Self::Input) -> Self::Output
fn next(&mut self, value: &Self::Input) -> Self::Output
Generates next output value based on the given input
value
source§fn with_history(
parameters: Self::Params,
initial_value: &Self::Input
) -> Result<WithHistory<Self, Self::Output>, Error>
fn with_history( parameters: Self::Params, initial_value: &Self::Input ) -> Result<WithHistory<Self, Self::Output>, Error>
Creates an instance of the method with given
parameters
and initial value
, wrapped by historical data holdersource§fn with_last_value(
parameters: Self::Params,
initial_value: &Self::Input
) -> Result<WithLastValue<Self, Self::Output>, Error>
fn with_last_value( parameters: Self::Params, initial_value: &Self::Input ) -> Result<WithLastValue<Self, Self::Output>, Error>
Creates an instance of the method with given
parameters
and initial value
, wrapped by last produced value holdersource§fn memsize(&self) -> (usize, usize)where
Self: Sized,
fn memsize(&self) -> (usize, usize)where
Self: Sized,
👎Deprecated
Returns memory size of the method
(size, align)
source§fn new_over<S>(
parameters: Self::Params,
inputs: S
) -> Result<Vec<Self::Output>, Error>
fn new_over<S>( parameters: Self::Params, inputs: S ) -> Result<Vec<Self::Output>, Error>
Creates new
Method
instance and iterates it over the given inputs
slice and returns Vec
of output values. Read moresource§fn new_apply<T, S>(
parameters: Self::Params,
sequence: &mut S
) -> Result<(), Error>
fn new_apply<T, S>( parameters: Self::Params, sequence: &mut S ) -> Result<(), Error>
Creates new
Method
instance and applies it to the sequence
.impl MovingAverage for SMA
Auto Trait Implementations§
impl RefUnwindSafe for SMA
impl Send for SMA
impl Sync for SMA
impl Unpin for SMA
impl UnwindSafe for SMA
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more