Skip to main content

TradeReduce

Struct TradeReduce 

Source
pub struct TradeReduce {
Show 15 fields pub trade_id: Option<TradeID>, pub units: Option<Decimal>, pub price: Option<Decimal>, pub realized_pl: Option<Decimal>, pub financing: Option<Decimal>, pub base_financing: Option<Decimal>, pub quote_financing: Option<Decimal>, pub financing_rate: Option<Decimal>, pub guaranteed_execution_fee: Option<Decimal>, pub quote_guaranteed_execution_fee: Option<Decimal>, pub half_spread_cost: Option<Decimal>, pub pl_home_conversion_cost: Option<Decimal>, pub base_financing_home_conversion_cost: Option<Decimal>, pub guaranteed_execution_fee_home_conversion_cost: Option<Decimal>, pub home_conversion_cost: Option<Decimal>,
}
Expand description

A TradeReduce object represents a Trade for an instrument that was reduced (either partially or fully) in an Account. It is found embedded in Transactions that affect the position of an instrument in the account, specifically the OrderFill Transaction.

Fields§

§trade_id: Option<TradeID>

The ID of the Trade that was reduced or closed

§units: Option<Decimal>

The number of units that the Trade was reduced by

§price: Option<Decimal>

The average price that the units were closed at. This price may be clamped for guaranteed Stop Loss Orders.

§realized_pl: Option<Decimal>

The PL realized when reducing the Trade

§financing: Option<Decimal>

The financing paid/collected when reducing the Trade

§base_financing: Option<Decimal>

The base financing paid/collected when reducing the Trade

§quote_financing: Option<Decimal>

The quote financing paid/collected when reducing the Trade

§financing_rate: Option<Decimal>

The financing rate in effect for the instrument used to calculate the amount of financing paid/collected when reducing the Trade. This field will only be set if the AccountFinancingMode at the time of the order fill is SECOND_BY_SECOND_INSTRUMENT. The value is in decimal rather than percentage points, e.g. 5% is represented as 0.05.

§guaranteed_execution_fee: Option<Decimal>

This is the fee that is charged for closing the Trade if it has a guaranteed Stop Loss Order attached to it.

§quote_guaranteed_execution_fee: Option<Decimal>

This is the fee that is charged for closing the Trade if it has a guaranteed Stop Loss Order attached to it, expressed in the Instrument’s quote currency.

§half_spread_cost: Option<Decimal>

The half spread cost for the trade reduce/close. This can be a positive or negative value and is represented in the home currency of the Account.

§pl_home_conversion_cost: Option<Decimal>

The cost of converting this Trade’s realizedPL into the Account’s home currency, as OANDA names it.

Not documented by OANDA. Observed on the tradesClosed entry of a Practice close_position closeout fill on 2026-10-16. Its sign and its relation to realizedPL have not been recorded. None when OANDA does not send it.

§base_financing_home_conversion_cost: Option<Decimal>

The cost of converting this Trade’s baseFinancing into the Account’s home currency, as OANDA names it.

Not documented by OANDA; observed as for pl_home_conversion_cost.

§guaranteed_execution_fee_home_conversion_cost: Option<Decimal>

The cost of converting this Trade’s guaranteed execution fee into the Account’s home currency, as OANDA names it.

Not documented by OANDA; observed as for pl_home_conversion_cost.

§home_conversion_cost: Option<Decimal>

This Trade’s home-currency conversion cost as a whole, as OANDA names it.

Not documented by OANDA; observed as for pl_home_conversion_cost. Whether it is the sum of the three component costs has not been recorded.

Trait Implementations§

Source§

impl Clone for TradeReduce

Source§

fn clone(&self) -> Self

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 TradeReduce

Source§

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

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

impl<'de> Deserialize<'de> for TradeReduce

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 TradeReduce

Source§

fn eq(&self, other: &Self) -> 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 TradeReduce

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 TradeReduce

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 = !

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

fn try_from(value: U) -> Result<T, !>

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