pub struct Candlestick {
pub time: i64,
pub open: f64,
pub high: f64,
pub low: f64,
pub close: f64,
pub volume: f64,
pub turnover: f64,
pub trade_session: TradeSession,
}Expand description
OHLCV candlestick data used as VM input.
Each candlestick represents one bar of market data. Feed these to
Instance::run() via a
DataProvider wrapped in a CandlestickItem.
§Examples
use openpine_vm::{Candlestick, TradeSession};
let bar = Candlestick::new(
1_700_000_000_000, // epoch milliseconds
150.0,
155.0,
149.0,
153.0,
1_000_000.0,
0.0,
TradeSession::Regular,
);
assert_eq!(bar.hl2(), (155.0 + 149.0) / 2.0);
assert_eq!(bar.ohlc4(), (150.0 + 155.0 + 149.0 + 153.0) / 4.0);Fields§
§time: i64Candle timestamp (epoch milliseconds).
open: f64Open price.
high: f64High price.
low: f64Low price.
close: f64Close price.
volume: f64Volume.
turnover: f64Turnover.
trade_session: TradeSessionTrading session for this candle.
Implementations§
Trait Implementations§
Source§impl Clone for Candlestick
impl Clone for Candlestick
Source§fn clone(&self) -> Candlestick
fn clone(&self) -> Candlestick
Returns a duplicate 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 Candlestick
impl Debug for Candlestick
Source§impl Default for Candlestick
impl Default for Candlestick
Source§impl<'de> Deserialize<'de> for Candlestick
impl<'de> Deserialize<'de> for Candlestick
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 Serialize for Candlestick
impl Serialize for Candlestick
impl Copy for Candlestick
Auto Trait Implementations§
impl Freeze for Candlestick
impl RefUnwindSafe for Candlestick
impl Send for Candlestick
impl Sync for Candlestick
impl Unpin for Candlestick
impl UnwindSafe for Candlestick
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more§impl<T> Pointable for T
impl<T> Pointable for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.