pub struct HMA { /* private fields */ }Expand description
Hull Moving Average for last length values for timeseries of type ValueType
HMA = WMA from (2*WMA over length/2 − WMA over length) over sqrt(length))
§Parameters
Has a single parameter length: PeriodType
length should be > 1
§Input type
Input type is ValueType
§Output type
Output type is ValueType
§Examples
use yata::prelude::*;
use yata::methods::HMA;
use yata::helpers::RandomCandles;
let mut candles = RandomCandles::default();
let mut hma = HMA::new(5, &candles.first().close).unwrap();
candles.take(5).enumerate().for_each(|(index, candle)| {
println!("HMA at #{} is {}", index, hma.next(&candle.close));
});
§Performance
O(1)
§See also
Trait Implementations§
Source§impl<'de> Deserialize<'de> for HMA
impl<'de> Deserialize<'de> for HMA
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 HMA
impl Method for HMA
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
valueSource§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 HMA
Auto Trait Implementations§
impl Freeze for HMA
impl RefUnwindSafe for HMA
impl Send for HMA
impl Sync for HMA
impl Unpin for HMA
impl UnsafeUnpin for HMA
impl UnwindSafe for HMA
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