Message: ExchangePosition

File: WebAPI/trade_routing_2.proto

Description

Contains the position for a single contract received from exchange.

Notes: 1. If exchange reports a single open position with total qty and weighted average price, there will be one message in open_positions field. 2. If exchange reports individual qty and price for each component of an overall open position, there will be many messages in open_positions field. 3. If exchange supports simultaneous long and short positions, there
could be ExchangeOpenPosition messages on both sides in open_positions field. 4. If the account has no open positions but a realized_pl to report, there will be an empty open_positions field.

Used in

ExchangePositionStatus

Fields

is_snapshot

Type: bool

Description: True means a snapshot of all positions for this contract for the account has been sent (possibly in multiple ExchangePositionStatus messages,
see ExchangePositionStatus.is_complete field), so client should replace any local cache with data in this message. False or empty means this status contains realized_profit_loss and extra_attributes, plus only changed open positions in open_positions field.

Note: Snapshots (is_snapshot=true) are possible even when ExchangePosition is sent as an update. This will occur when server cannot update individual account positions due to exchange limitations.

contract_id

Type: uint32

Description: Position contract.

Required: yes.

realized_profit_loss

Type: double

Description: Profit/ loss (in contract currency) for this position, if available from exchange.

open_positions

Type: ExchangeOpenPosition

Description: Details for open position.

extra_attributes

Type: AccountExtraAttribute

Description: Extra attributes. They are present (the full set) if exchange provides additional attributes that clients can display.