Skip to main content

OrderFillTransaction

Struct OrderFillTransaction 

Source
#[non_exhaustive]
pub struct OrderFillTransaction {
Show 34 fields pub id: Option<TransactionId>, pub time: Option<DateTime>, pub user_id: Option<i64>, pub account_id: Option<AccountId>, pub batch_id: Option<TransactionId>, pub request_id: Option<RequestId>, pub order_id: Option<OrderId>, pub client_order_id: Option<String>, pub instrument: Option<InstrumentName>, pub units: Option<DecimalNumber>, pub gain_quote_home_conversion_factor: Option<DecimalNumber>, pub loss_quote_home_conversion_factor: Option<DecimalNumber>, pub price: Option<PriceValue>, pub full_vwap: Option<PriceValue>, pub full_price: Option<ClientPrice>, pub reason: Option<OrderFillReason>, pub pl: Option<AccountUnits>, pub financing: Option<AccountUnits>, pub commission: Option<AccountUnits>, pub guaranteed_execution_fee: Option<AccountUnits>, pub account_balance: Option<AccountUnits>, pub trade_opened: Option<TradeOpen>, pub trades_closed: Vec<TradeReduce>, pub trade_reduced: Option<TradeReduce>, pub half_spread_cost: Option<AccountUnits>, pub requested_units: Option<DecimalNumber>, pub quote_pl: Option<DecimalNumber>, pub base_financing: Option<DecimalNumber>, pub quote_guaranteed_execution_fee: Option<DecimalNumber>, pub home_conversion_factors: Option<HomeConversionFactors>, pub home_conversion_cost: Option<DecimalNumber>, pub pl_home_conversion_cost: Option<DecimalNumber>, pub base_financing_home_conversion_cost: Option<DecimalNumber>, pub guaranteed_execution_fee_home_conversion_cost: Option<DecimalNumber>,
}
Expand description

An OrderFillTransaction represents the filling of an Order in the client’s Account.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§id: Option<TransactionId>

The Transaction’s Identifier.

§time: Option<DateTime>

The date/time when the Transaction was created.

§user_id: Option<i64>

The ID of the user that initiated the creation of the Transaction.

§account_id: Option<AccountId>

The ID of the Account the Transaction was created for.

§batch_id: Option<TransactionId>

The ID of the “batch” that the Transaction belongs to. Transactions in the same batch are applied to the Account simultaneously.

§request_id: Option<RequestId>

The Request ID of the request which generated the transaction.

§order_id: Option<OrderId>

The ID of the Order filled.

§client_order_id: Option<String>

The client Order ID of the Order filled (only provided if the client has assigned one).

§instrument: Option<InstrumentName>

The name of the filled Order’s instrument.

§units: Option<DecimalNumber>

The number of units filled by the OrderFill.

§gain_quote_home_conversion_factor: Option<DecimalNumber>

This is the conversion factor in effect for the Account at the time of the OrderFill for converting any gains realized in Instrument quote units into units of the Account’s home currency.

§loss_quote_home_conversion_factor: Option<DecimalNumber>

This is the conversion factor in effect for the Account at the time of the OrderFill for converting any losses realized in Instrument quote units into units of the Account’s home currency.

§price: Option<PriceValue>

This field is now deprecated and should no longer be used. The individual tradesClosed, tradeReduced and tradeOpened fields contain the exact/official price each unit was filled at.

§full_vwap: Option<PriceValue>

The price that all of the units of the OrderFill should have been filled at, in the absence of guaranteed price execution. This factors in the Account’s current ClientPrice, used liquidity and the units of the OrderFill only. If no Trades were closed with their price clamped for guaranteed stop loss enforcement, then this value will match the price fields of each Trade opened, closed, and reduced, and they will all be the exact same.

§full_price: Option<ClientPrice>

The fullPrice field.

§reason: Option<OrderFillReason>

The reason field.

§pl: Option<AccountUnits>

The profit or loss incurred when the Order was filled.

§financing: Option<AccountUnits>

The financing paid or collected when the Order was filled.

§commission: Option<AccountUnits>

The commission charged in the Account’s home currency as a result of filling the Order. The commission is always represented as a positive quantity of the Account’s home currency, however it reduces the balance in the Account.

§guaranteed_execution_fee: Option<AccountUnits>

The total guaranteed execution fees charged for all Trades opened, closed or reduced with guaranteed Stop Loss Orders.

§account_balance: Option<AccountUnits>

The Account’s balance after the Order was filled.

§trade_opened: Option<TradeOpen>

The tradeOpened field.

§trades_closed: Vec<TradeReduce>

The Trades that were closed when the Order was filled (only provided if filling the Order resulted in a closing open Trades).

§trade_reduced: Option<TradeReduce>

The tradeReduced field.

§half_spread_cost: Option<AccountUnits>

The half spread cost for the OrderFill, which is the sum of the halfSpreadCost values in the tradeOpened, tradesClosed and tradeReduced fields. This can be a positive or negative value and is represented in the home currency of the Account.

§requested_units: Option<DecimalNumber>

The number of units the Order requested to be filled. This field is returned by the live v20 API but is not present in OANDA’s official documentation.

§quote_pl: Option<DecimalNumber>

The profit or loss of the fill expressed in the Instrument’s quote currency. This field is returned by the live v20 API but is not present in OANDA’s official documentation.

§base_financing: Option<DecimalNumber>

The financing paid or collected in the Instrument’s base currency. This field is returned by the live v20 API but is not present in OANDA’s official documentation.

§quote_guaranteed_execution_fee: Option<DecimalNumber>

The guaranteed execution fee expressed in the Instrument’s quote currency. This field is returned by the live v20 API but is not present in OANDA’s official documentation.

§home_conversion_factors: Option<HomeConversionFactors>

The homeConversionFactors field.

§home_conversion_cost: Option<DecimalNumber>

The total cost of currency conversions for the fill, in the Account’s home currency. This field is returned by the live v20 API but is not present in OANDA’s official documentation.

§pl_home_conversion_cost: Option<DecimalNumber>

The cost of converting the fill’s profit/loss to the Account’s home currency. This field is returned by the live v20 API but is not present in OANDA’s official documentation.

§base_financing_home_conversion_cost: Option<DecimalNumber>

The cost of converting the fill’s base financing to the Account’s home currency. This field is returned by the live v20 API but is not present in OANDA’s official documentation.

§guaranteed_execution_fee_home_conversion_cost: Option<DecimalNumber>

The cost of converting the guaranteed execution fee to the Account’s home currency. This field is returned by the live v20 API but is not present in OANDA’s official documentation.

Trait Implementations§

Source§

impl Clone for OrderFillTransaction

Source§

fn clone(&self) -> OrderFillTransaction

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for OrderFillTransaction

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for OrderFillTransaction

Source§

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 PartialEq for OrderFillTransaction

Source§

fn eq(&self, other: &OrderFillTransaction) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for OrderFillTransaction

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for OrderFillTransaction

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more