#[repr(C)]pub struct PositionClosed {Show 26 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 closing_order_id: Option<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 duration: DurationNanos,
pub event_id: UUID4,
pub ts_opened: UnixNanos,
pub ts_closed: Option<UnixNanos>,
pub ts_event: UnixNanos,
pub ts_init: UnixNanos,
}Expand description
Represents an event where a position has been closed.
Fields§
§trader_id: TraderIdThe trader ID associated with the event.
strategy_id: StrategyIdThe strategy ID associated with the event.
instrument_id: InstrumentIdThe instrument ID associated with the event.
position_id: PositionIdThe position ID associated with the event.
account_id: AccountIdThe account ID associated with the position.
opening_order_id: ClientOrderIdThe client order ID for the order which opened the position.
closing_order_id: Option<ClientOrderId>The client order ID for the order which closed the position.
entry: OrderSideThe position entry order side.
side: PositionSideThe position side.
signed_qty: f64The current signed quantity (positive for position side LONG, negative for SHORT).
quantity: QuantityThe current open quantity.
peak_quantity: QuantityThe peak directional quantity reached by the position.
last_qty: QuantityThe last fill quantity for the position.
last_px: PriceThe last fill price for the position.
currency: CurrencyThe position quote currency.
avg_px_open: f64The average open price.
avg_px_close: Option<f64>The average closing price.
realized_return: f64The realized return for the position.
realized_pnl: Option<Money>The realized PnL for the position (including commissions).
unrealized_pnl: MoneyThe unrealized PnL for the position (including commissions).
duration: DurationNanosThe total open duration (nanoseconds).
event_id: UUID4The unique identifier for the event.
ts_opened: UnixNanosUNIX timestamp (nanoseconds) when the position was opened.
ts_closed: Option<UnixNanos>UNIX timestamp (nanoseconds) when the position was closed.
ts_event: UnixNanosUNIX timestamp (nanoseconds) when the event occurred.
ts_init: UnixNanosUNIX timestamp (nanoseconds) when the event was initialized.
Implementations§
Source§impl PositionClosed
impl PositionClosed
pub fn create( position: &Position, fill: &OrderFilled, event_id: UUID4, ts_init: UnixNanos, ) -> Self
Trait Implementations§
Source§impl Clone for PositionClosed
impl Clone for PositionClosed
Source§fn clone(&self) -> PositionClosed
fn clone(&self) -> PositionClosed
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for PositionClosed
impl Debug for PositionClosed
Source§impl PartialEq for PositionClosed
impl PartialEq for PositionClosed
impl StructuralPartialEq for PositionClosed
Auto Trait Implementations§
impl Freeze for PositionClosed
impl RefUnwindSafe for PositionClosed
impl Send for PositionClosed
impl Sync for PositionClosed
impl Unpin for PositionClosed
impl UnwindSafe for PositionClosed
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,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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