Skip to main content

Instrument

Struct Instrument 

Source
pub struct Instrument {
Show 19 fields pub name: Option<InstrumentName>, pub type: Option<InstrumentType>, pub display_name: Option<String>, pub pip_location: Option<i64>, pub display_precision: Option<i64>, pub trade_units_precision: Option<i64>, pub minimum_trade_size: Option<Decimal>, pub maximum_trailing_stop_distance: Option<Decimal>, pub minimum_guaranteed_stop_loss_distance: Option<Decimal>, pub minimum_trailing_stop_distance: Option<Decimal>, pub maximum_position_size: Option<Decimal>, pub maximum_order_units: Option<Decimal>, pub margin_rate: Option<Decimal>, pub commission: Option<InstrumentCommission>, pub guaranteed_stop_loss_order_mode: Option<GuaranteedStopLossOrderModeForInstrument>, pub guaranteed_stop_loss_order_execution_premium: Option<Decimal>, pub guaranteed_stop_loss_order_level_restriction: Option<GuaranteedStopLossOrderLevelRestriction>, pub financing: Option<InstrumentFinancing>, pub tags: Option<Vec<Tag>>,
}
Expand description

Full specification of an Instrument.

Fields§

§name: Option<InstrumentName>

The name of the Instrument

§type: Option<InstrumentType>

The type of the Instrument

§display_name: Option<String>

The display name of the Instrument

§pip_location: Option<i64>

The location of the “pip” for this instrument. The decimal position of the pip in this Instrument’s price can be found at 10 ^ pipLocation (e.g. -4 pipLocation results in a decimal pip position of 10 ^ -4 = 0.0001).

§display_precision: Option<i64>

The number of decimal places that should be used to display prices for this instrument. (e.g. a displayPrecision of 5 would result in a price of “1” being displayed as “1.00000”)

§trade_units_precision: Option<i64>

The amount of decimal places that may be provided when specifying the number of units traded for this instrument.

§minimum_trade_size: Option<Decimal>

The smallest number of units allowed to be traded for this instrument.

§maximum_trailing_stop_distance: Option<Decimal>

The maximum trailing stop distance allowed for a trailing stop loss created for this instrument. Specified in price units.

§minimum_guaranteed_stop_loss_distance: Option<Decimal>

The minimum distance allowed between the Trade’s fill price and the configured price for guaranteed Stop Loss Orders created for this instrument. Specified in price units.

§minimum_trailing_stop_distance: Option<Decimal>

The minimum trailing stop distance allowed for a trailing stop loss created for this instrument. Specified in price units.

§maximum_position_size: Option<Decimal>

The maximum position size allowed for this instrument. Specified in units.

§maximum_order_units: Option<Decimal>

The maximum units allowed for an Order placed for this instrument. Specified in units.

§margin_rate: Option<Decimal>

The margin rate for this instrument.

§commission: Option<InstrumentCommission>

The commission structure for this instrument.

§guaranteed_stop_loss_order_mode: Option<GuaranteedStopLossOrderModeForInstrument>

The current Guaranteed Stop Loss Order mode of the Account for this Instrument.

§guaranteed_stop_loss_order_execution_premium: Option<Decimal>

The amount that is charged to the account if a guaranteed Stop Loss Order is triggered and filled. The value is in price units and is charged for each unit of the Trade. This field will only be present if the Account’s guaranteedStopLossOrderMode for this Instrument is not ‘DISABLED’.

§guaranteed_stop_loss_order_level_restriction: Option<GuaranteedStopLossOrderLevelRestriction>

The guaranteed Stop Loss Order level restriction for this instrument. This field will only be present if the Account’s guaranteedStopLossOrderMode for this Instrument is not ‘DISABLED’.

§financing: Option<InstrumentFinancing>

Financing data for this instrument.

§tags: Option<Vec<Tag>>

The tags associated with this instrument.

Trait Implementations§

Source§

impl Clone for Instrument

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 Instrument

Source§

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

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

impl<'de> Deserialize<'de> for Instrument

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 Instrument

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 Instrument

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 Instrument

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