nautilus_data::aggregation

Trait BarAggregator

Source
pub trait BarAggregator {
    // Required methods
    fn bar_type(&self) -> BarType;
    fn is_running(&self) -> bool;
    fn set_await_partial(&mut self, value: bool);
    fn set_is_running(&mut self, value: bool);
    fn update(&mut self, price: Price, size: Quantity, ts_event: UnixNanos);
    fn update_bar(&mut self, bar: Bar, volume: Quantity, ts_init: UnixNanos);
    fn start_batch_update(&mut self, handler: Box<dyn FnMut(Bar)>);
    fn stop_batch_update(&mut self);

    // Provided methods
    fn handle_quote(&mut self, quote: QuoteTick) { ... }
    fn handle_trade(&mut self, trade: TradeTick) { ... }
    fn handle_bar(&mut self, bar: Bar) { ... }
}

Required Methods§

Source

fn bar_type(&self) -> BarType

The [BarType] to be aggregated.

Source

fn is_running(&self) -> bool

If the aggregator is running and will receive data from the message bus.

Source

fn set_await_partial(&mut self, value: bool)

Source

fn set_is_running(&mut self, value: bool)

Source

fn update(&mut self, price: Price, size: Quantity, ts_event: UnixNanos)

Updates theaggregator with the given price and size.

Source

fn update_bar(&mut self, bar: Bar, volume: Quantity, ts_init: UnixNanos)

Source

fn start_batch_update(&mut self, handler: Box<dyn FnMut(Bar)>)

Source

fn stop_batch_update(&mut self)

Provided Methods§

Source

fn handle_quote(&mut self, quote: QuoteTick)

Updates the aggregator with the given quote.

Source

fn handle_trade(&mut self, trade: TradeTick)

Updates the aggregator with the given trade.

Source

fn handle_bar(&mut self, bar: Bar)

Implementors§

Source§

impl<H> BarAggregator for TickBarAggregator<H>
where H: FnMut(Bar),

Source§

impl<H> BarAggregator for TimeBarAggregator<H>
where H: FnMut(Bar) + 'static,

Source§

impl<H> BarAggregator for ValueBarAggregator<H>
where H: FnMut(Bar),

Source§

impl<H> BarAggregator for VolumeBarAggregator<H>
where H: FnMut(Bar),