Skip to main content

BarExecutionPrices

Struct BarExecutionPrices 

Source
pub struct BarExecutionPrices {
    pub symbol: String,
    pub ts: NaiveDateTime,
    pub open: f64,
    pub high: f64,
    pub low: f64,
    pub close: f64,
    pub half_spread: f64,
    pub timeframe_seconds: Option<u64>,
}
Expand description

Prices a FutureQuote replay executes a bar against, read as midpoints with a symmetric half spread.

A bar is replayed in three steps stamped at its bucket open: a quote at open, a walk through the bar’s range, and a quote at close used only for marking. The walk visits the adverse extreme first for each side, so long exposure sees low before high and short exposure sees high before low, which is the pessimistic order when the bar alone cannot say which came first.

Fields§

§symbol: String§ts: NaiveDateTime§open: f64§high: f64§low: f64§close: f64§half_spread: f64§timeframe_seconds: Option<u64>

Implementations§

Source§

impl BarExecutionPrices

Source

pub fn executable(self) -> Option<Self>

The bar ready for execution, or None when a price is not finite or a quote at its lowest price would not be positive.

A range that does not contain the open and close is widened to contain them, because the bar did trade at both.

Source

pub fn quote_at_mid(&self, mid: f64) -> PriceQuote

Quote whose midpoint is mid, with the bar’s spread.

Source

pub fn open_quote(&self) -> PriceQuote

Quote at the bar’s open, where fills waiting for the bar execute.

Source

pub fn close_quote(&self) -> PriceQuote

Quote at the bar’s close, which marks positions after the bar settled.

Trait Implementations§

Source§

impl Clone for BarExecutionPrices

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for BarExecutionPrices

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for BarExecutionPrices

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for BarExecutionPrices

Auto Trait Implementations§

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V