#[repr(C)]pub struct PositionChanged {Show 23 fields
pub trader_id: TraderId,
pub strategy_id: StrategyId,
pub instrument_id: InstrumentId,
pub position_id: PositionId,
pub account_id: AccountId,
pub opening_order_id: ClientOrderId,
pub entry: OrderSide,
pub side: PositionSide,
pub signed_qty: f64,
pub quantity: Quantity,
pub peak_quantity: Quantity,
pub last_qty: Quantity,
pub last_px: Price,
pub currency: Currency,
pub avg_px_open: f64,
pub avg_px_close: Option<f64>,
pub realized_return: f64,
pub realized_pnl: Option<Money>,
pub unrealized_pnl: Money,
pub event_id: UUID4,
pub ts_opened: UnixNanos,
pub ts_event: UnixNanos,
pub ts_init: UnixNanos,
}
Expand description
Represents an event where a position has changed.
Fields§
§trader_id: TraderId
The trader ID associated with the event.
strategy_id: StrategyId
The strategy ID associated with the event.
instrument_id: InstrumentId
The instrument ID associated with the event.
position_id: PositionId
The position ID associated with the event.
account_id: AccountId
The account ID associated with the position.
opening_order_id: ClientOrderId
The client order ID for the order which opened the position.
entry: OrderSide
The position entry order side.
side: PositionSide
The position side.
signed_qty: f64
The current signed quantity (positive for position side LONG
, negative for SHORT
).
quantity: Quantity
The current open quantity.
peak_quantity: Quantity
The peak directional quantity reached by the position.
last_qty: Quantity
The last fill quantity for the position.
last_px: Price
The last fill price for the position.
currency: Currency
The position quote currency.
avg_px_open: f64
The average open price.
avg_px_close: Option<f64>
The average close price.
realized_return: f64
The realized return for the position.
realized_pnl: Option<Money>
The realized PnL for the position (including commissions).
unrealized_pnl: Money
The unrealized PnL for the position (including commissions).
event_id: UUID4
The unique identifier for the event.
ts_opened: UnixNanos
UNIX timestamp (nanoseconds) when the position was opened.
ts_event: UnixNanos
UNIX timestamp (nanoseconds) when the event occurred.
ts_init: UnixNanos
UNIX timestamp (nanoseconds) when the event was initialized.
Implementations§
Source§impl PositionChanged
impl PositionChanged
pub fn create( position: &Position, fill: &OrderFilled, event_id: UUID4, ts_init: UnixNanos, ) -> PositionChanged
Trait Implementations§
Source§impl Clone for PositionChanged
impl Clone for PositionChanged
Source§fn clone(&self) -> PositionChanged
fn clone(&self) -> PositionChanged
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for PositionChanged
impl Debug for PositionChanged
Source§impl PartialEq for PositionChanged
impl PartialEq for PositionChanged
impl StructuralPartialEq for PositionChanged
Auto Trait Implementations§
impl Freeze for PositionChanged
impl RefUnwindSafe for PositionChanged
impl Send for PositionChanged
impl Sync for PositionChanged
impl Unpin for PositionChanged
impl UnwindSafe for PositionChanged
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
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>
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>
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