#[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: 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.
closing_order_id: Option<ClientOrderId>
The client order ID for the order which closed 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 closing 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).
duration: DurationNanos
The total open duration (nanoseconds).
event_id: UUID4
The unique identifier for the event.
ts_opened: UnixNanos
UNIX timestamp (nanoseconds) when the position was opened.
ts_closed: Option<UnixNanos>
UNIX timestamp (nanoseconds) when the position was closed.
ts_event: UnixNanos
UNIX timestamp (nanoseconds) when the event occurred.
ts_init: UnixNanos
UNIX 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, ) -> PositionClosed
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,
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