Struct yata::methods::CrossUnder
source · pub struct CrossUnder { /* private fields */ }
Expand description
Searches for value
timeseries line crosses base
line downwards
If value
crossed base
downwards, then returns Action::BUY_ALL
Else returns Action::None
§Parameters
Has no parameters
§Input type
Input type is (value
: ValueType
, base
: ValueType
)
§Output type
Output type is Action
§Examples
use yata::core::Method;
use yata::methods::CrossUnder;
let mut cross_under = CrossUnder::new((), &(0.0, 5.0)).unwrap();
let t1 = vec![0.0, 1.0, 2.0, 3.0, 4.0, 5.0];
let t2 = vec![5.0, 3.0, 1.8, 2.9, 4.1, 5.6];
let r = vec![ 0, 0, 0, 0, 1, 0 ];
(0..t1.len()).for_each(|i| {
let value = t1[i];
let base = t2[i];
let cross_value = cross_under.next(&(value, base)).analog();
assert_eq!(cross_value, r[i]);
});
§Performance
O(1)
§See also
Implementations§
Trait Implementations§
source§impl Clone for CrossUnder
impl Clone for CrossUnder
source§fn clone(&self) -> CrossUnder
fn clone(&self) -> CrossUnder
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for CrossUnder
impl Debug for CrossUnder
source§impl Default for CrossUnder
impl Default for CrossUnder
source§fn default() -> CrossUnder
fn default() -> CrossUnder
Returns the “default value” for a type. Read more
source§impl<'de> Deserialize<'de> for CrossUnder
impl<'de> Deserialize<'de> for CrossUnder
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 CrossUnder
impl Method for CrossUnder
source§fn new((): Self::Params, value: &Self::Input) -> Result<Self, Error>where
Self: Sized,
fn new((): Self::Params, value: &Self::Input) -> Result<Self, Error>where
Self: Sized,
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
.source§impl Serialize for CrossUnder
impl Serialize for CrossUnder
impl Copy for CrossUnder
Auto Trait Implementations§
impl RefUnwindSafe for CrossUnder
impl Send for CrossUnder
impl Sync for CrossUnder
impl Unpin for CrossUnder
impl UnwindSafe for CrossUnder
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