Struct yata::methods::CollapseTimeframe
source · pub struct CollapseTimeframe<T = Candle>{ /* private fields */ }
Expand description
Converting between different timeframes.
§Parameters
Has a single parameter period
: usize
period
must be > 0
§Input type
Input type is reference to OHLCV
§Output type
§Examples
use yata::prelude::*;
use yata::methods::CollapseTimeframe;
let timeframe: [Candle; 2] = [
// open high low close volume
(10.0, 15.0, 5.0, 12.0, 1000.0).into(),
(12.1, 17.0, 6.0, 13.0, 2000.0).into(),
];
let mut collapser = CollapseTimeframe::new(2, &timeframe[0]).unwrap();
assert_eq!(collapser.next(&timeframe[0]), None);
let collapsed = collapser.next(&timeframe[1]).unwrap();
assert_eq!(collapsed.open(), 10.0);
assert_eq!(collapsed.high(), 17.0);
assert_eq!(collapsed.low(), 5.0);
assert_eq!(collapsed.close(), 13.0);
assert_eq!(collapsed.volume(), 3000.0);
Output type is Candle
§Performance
O(1)
See also Sequence’s collapse_timeframe
function.
Trait Implementations§
source§impl<T> Clone for CollapseTimeframe<T>
impl<T> Clone for CollapseTimeframe<T>
source§fn clone(&self) -> CollapseTimeframe<T>
fn clone(&self) -> CollapseTimeframe<T>
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<T> Debug for CollapseTimeframe<T>
impl<T> Debug for CollapseTimeframe<T>
source§impl<'de, T> Deserialize<'de> for CollapseTimeframe<T>
impl<'de, T> Deserialize<'de> for CollapseTimeframe<T>
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<T> Method for CollapseTimeframe<T>
impl<T> Method for CollapseTimeframe<T>
source§fn new(period: Self::Params, _candle: &Self::Input) -> Result<Self, Error>
fn new(period: Self::Params, _candle: &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, candle: &Self::Input) -> Self::Output
fn next(&mut self, candle: &Self::Input) -> Self::Output
Generates next output value based on the given input
value
source§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_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
.Auto Trait Implementations§
impl<T> RefUnwindSafe for CollapseTimeframe<T>where
T: RefUnwindSafe,
impl<T> Send for CollapseTimeframe<T>where
T: Send,
impl<T> Sync for CollapseTimeframe<T>where
T: Sync,
impl<T> Unpin for CollapseTimeframe<T>where
T: Unpin,
impl<T> UnwindSafe for CollapseTimeframe<T>where
T: UnwindSafe,
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