Struct trade_aggregation::GenericAggregator

source ·
pub struct GenericAggregator<C, R, T> { /* private fields */ }
Expand description

An Aggregator that is generic over the type of Candle being produced, as well as by which rule the candle is created

Implementations§

source§

impl<C, R, T> GenericAggregator<C, R, T>
where C: ModularCandle<T>, R: AggregationRule<C, T>, T: TakerTrade,

source

pub fn new(aggregation_rule: R, include_trade_that_triggered_rule: bool) -> Self

Create a new instance with a concrete aggregation rule and an empty candle.

§Arguments:

aggregation_rule: The rule that dictates when to trigger the creation of a new candle. include_trade_that_triggered_rule: If true, the trade that triggered a rule is included in the current candle as well as the next one. During some aggregations, the desired behaviour is that the trade that crosses the trigger boundary is included in both the current and next candle. Examples uses include ensuring the close and open price of the current and next candle are equal. If that’s desired, set the field to true during construction of Self. E.g on Tradingview the time aggregation would have this set to false, which may create gaps between close and open of subsequent candles.

Trait Implementations§

source§

impl<C, R, T> Aggregator<C, T> for GenericAggregator<C, R, T>
where C: ModularCandle<T>, R: AggregationRule<C, T>, T: TakerTrade,

source§

fn update(&mut self, trade: &T) -> Option<C>

Updates the aggregation state with a new trade Read more
source§

fn unfinished_candle(&self) -> &C

Get a reference to an unfinished Candle. Accessing a Candle using this method does not guarantee that the AggregationRule is respected. It is generally advised to call update instead and use the resulting Candle if its Some.
source§

impl<C: Clone, R: Clone, T: Clone> Clone for GenericAggregator<C, R, T>

source§

fn clone(&self) -> GenericAggregator<C, R, T>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<C: Debug, R: Debug, T: Debug> Debug for GenericAggregator<C, R, T>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<C, R, T> Freeze for GenericAggregator<C, R, T>
where C: Freeze, R: Freeze,

§

impl<C, R, T> RefUnwindSafe for GenericAggregator<C, R, T>

§

impl<C, R, T> Send for GenericAggregator<C, R, T>
where C: Send, R: Send, T: Send,

§

impl<C, R, T> Sync for GenericAggregator<C, R, T>
where C: Sync, R: Sync, T: Sync,

§

impl<C, R, T> Unpin for GenericAggregator<C, R, T>
where C: Unpin, R: Unpin, T: Unpin,

§

impl<C, R, T> UnwindSafe for GenericAggregator<C, R, T>
where C: UnwindSafe, R: UnwindSafe, T: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.