[][src]Struct fxoanda_definitions::MarketIfTouchedOrderRequest

pub struct MarketIfTouchedOrderRequest {
    pub trigger_condition: Option<String>,
    pub price: Option<f32>,
    pub price_bound: Option<f32>,
    pub take_profit_on_fill: Option<TakeProfitDetails>,
    pub time_in_force: Option<String>,
    pub instrument: Option<String>,
    pub trade_client_extensions: Option<ClientExtensions>,
    pub client_extensions: Option<ClientExtensions>,
    pub trailing_stop_loss_on_fill: Option<TrailingStopLossDetails>,
    pub units: Option<f32>,
    pub stop_loss_on_fill: Option<StopLossDetails>,
    pub gtd_time: Option<DateTime<Utc>>,
    pub otype: Option<String>,
    pub position_fill: Option<String>,
}

Fields

trigger_condition: Option<String>

Specification of which price component should be used when determining if an Order should be triggered and filled. This allows Orders to be triggered based on the bid, ask, mid, default (ask for buy, bid for sell) or inverse (ask for sell, bid for buy) price depending on the desired behaviour. Orders are always filled using their default price component. This feature is only provided through the REST API. Clients who choose to specify a non-default trigger condition will not see it reflected in any of OANDA's proprietary or partner trading platforms, their transaction history or their account statements. OANDA platforms always assume that an Order's trigger condition is set to the default value when indicating the distance from an Order's trigger price, and will always provide the default trigger condition when creating or modifying an Order. A special restriction applies when creating a guaranteed Stop Loss Order. In this case the TriggerCondition value must either be "DEFAULT", or the "natural" trigger side "DEFAULT" results in. So for a Stop Loss Order for a long trade valid values are "DEFAULT" and "BID", and for short trades "DEFAULT" and "ASK" are valid.

price: Option<f32>

The price threshold specified for the MarketIfTouched Order. The MarketIfTouched Order will only be filled by a market price that crosses this price from the direction of the market price at the time when the Order was created (the initialMarketPrice). Depending on the value of the Order's price and initialMarketPrice, the MarketIfTouchedOrder will behave like a Limit or a Stop Order. format: A decimal number encodes as a string. The amount of precision provided depends on the Instrument.

price_bound: Option<f32>

The worst market price that may be used to fill this MarketIfTouched Order. format: A decimal number encodes as a string. The amount of precision provided depends on the Instrument.

take_profit_on_fill: Option<TakeProfitDetails>

TakeProfitDetails specifies the details of a Take Profit Order to be created on behalf of a client. This may happen when an Order is filled that opens a Trade requiring a Take Profit, or when a Trade's dependent Take Profit Order is modified directly through the Trade.

time_in_force: Option<String>

The time-in-force requested for the MarketIfTouched Order. Restricted to "GTC", "GFD" and "GTD" for MarketIfTouched Orders.

instrument: Option<String>

The MarketIfTouched Order's Instrument. format: A string containing the base currency and quote currency delimited by a "_".

trade_client_extensions: Option<ClientExtensions>

A ClientExtensions object allows a client to attach a clientID, tag and comment to Orders and Trades in their Account. Do not set, modify, or delete this field if your account is associated with MT4.

client_extensions: Option<ClientExtensions>

A ClientExtensions object allows a client to attach a clientID, tag and comment to Orders and Trades in their Account. Do not set, modify, or delete this field if your account is associated with MT4.

trailing_stop_loss_on_fill: Option<TrailingStopLossDetails>

TrailingStopLossDetails specifies the details of a Trailing Stop Loss Order to be created on behalf of a client. This may happen when an Order is filled that opens a Trade requiring a Trailing Stop Loss, or when a Trade's dependent Trailing Stop Loss Order is modified directly through the Trade.

units: Option<f32>

The quantity requested to be filled by the MarketIfTouched Order. A posititive number of units results in a long Order, and a negative number of units results in a short Order. format: A decimal number encoded as a string. The amount of precision provided depends on what the number represents.

stop_loss_on_fill: Option<StopLossDetails>

StopLossDetails specifies the details of a Stop Loss Order to be created on behalf of a client. This may happen when an Order is filled that opens a Trade requiring a Stop Loss, or when a Trade's dependent Stop Loss Order is modified directly through the Trade.

gtd_time: Option<DateTime<Utc>>

The date/time when the MarketIfTouched Order will be cancelled if its timeInForce is "GTD". format: The RFC 3339 representation is a string conforming to https://tools.ietf.org/rfc/rfc3339.txt. The Unix representation is a string representing the number of seconds since the Unix Epoch (January 1st, 1970 at UTC). The value is a fractional number, where the fractional part represents a fraction of a second (up to nine decimal places).

otype: Option<String>

The type of the Order to Create. Must be set to "MARKET_IF_TOUCHED" when creating a Market If Touched Order.

position_fill: Option<String>

Specification of how Positions in the Account are modified when the Order is filled.

Methods

impl MarketIfTouchedOrderRequest[src]

pub fn new() -> MarketIfTouchedOrderRequest[src]

pub fn with_trigger_condition(self, x: String) -> Self[src]

Specification of which price component should be used when determining if an Order should be triggered and filled. This allows Orders to be triggered based on the bid, ask, mid, default (ask for buy, bid for sell) or inverse (ask for sell, bid for buy) price depending on the desired behaviour. Orders are always filled using their default price component. This feature is only provided through the REST API. Clients who choose to specify a non-default trigger condition will not see it reflected in any of OANDA's proprietary or partner trading platforms, their transaction history or their account statements. OANDA platforms always assume that an Order's trigger condition is set to the default value when indicating the distance from an Order's trigger price, and will always provide the default trigger condition when creating or modifying an Order. A special restriction applies when creating a guaranteed Stop Loss Order. In this case the TriggerCondition value must either be "DEFAULT", or the "natural" trigger side "DEFAULT" results in. So for a Stop Loss Order for a long trade valid values are "DEFAULT" and "BID", and for short trades "DEFAULT" and "ASK" are valid.

  • param String
  • return MarketIfTouchedOrderRequest

pub fn with_price(self, x: f32) -> Self[src]

The price threshold specified for the MarketIfTouched Order. The MarketIfTouched Order will only be filled by a market price that crosses this price from the direction of the market price at the time when the Order was created (the initialMarketPrice). Depending on the value of the Order's price and initialMarketPrice, the MarketIfTouchedOrder will behave like a Limit or a Stop Order. format: A decimal number encodes as a string. The amount of precision provided depends on the Instrument.

  • param f32
  • return MarketIfTouchedOrderRequest

pub fn with_price_bound(self, x: f32) -> Self[src]

The worst market price that may be used to fill this MarketIfTouched Order. format: A decimal number encodes as a string. The amount of precision provided depends on the Instrument.

  • param f32
  • return MarketIfTouchedOrderRequest

pub fn with_take_profit_on_fill(self, x: TakeProfitDetails) -> Self[src]

TakeProfitDetails specifies the details of a Take Profit Order to be created on behalf of a client. This may happen when an Order is filled that opens a Trade requiring a Take Profit, or when a Trade's dependent Take Profit Order is modified directly through the Trade.

  • param TakeProfitDetails
  • return MarketIfTouchedOrderRequest

pub fn with_time_in_force(self, x: String) -> Self[src]

The time-in-force requested for the MarketIfTouched Order. Restricted to "GTC", "GFD" and "GTD" for MarketIfTouched Orders.

  • param String
  • return MarketIfTouchedOrderRequest

pub fn with_instrument(self, x: String) -> Self[src]

The MarketIfTouched Order's Instrument. format: A string containing the base currency and quote currency delimited by a "_".

  • param String
  • return MarketIfTouchedOrderRequest

pub fn with_trade_client_extensions(self, x: ClientExtensions) -> Self[src]

A ClientExtensions object allows a client to attach a clientID, tag and comment to Orders and Trades in their Account. Do not set, modify, or delete this field if your account is associated with MT4.

  • param ClientExtensions
  • return MarketIfTouchedOrderRequest

pub fn with_client_extensions(self, x: ClientExtensions) -> Self[src]

A ClientExtensions object allows a client to attach a clientID, tag and comment to Orders and Trades in their Account. Do not set, modify, or delete this field if your account is associated with MT4.

  • param ClientExtensions
  • return MarketIfTouchedOrderRequest

pub fn with_trailing_stop_loss_on_fill(self, x: TrailingStopLossDetails) -> Self[src]

TrailingStopLossDetails specifies the details of a Trailing Stop Loss Order to be created on behalf of a client. This may happen when an Order is filled that opens a Trade requiring a Trailing Stop Loss, or when a Trade's dependent Trailing Stop Loss Order is modified directly through the Trade.

  • param TrailingStopLossDetails
  • return MarketIfTouchedOrderRequest

pub fn with_units(self, x: f32) -> Self[src]

The quantity requested to be filled by the MarketIfTouched Order. A posititive number of units results in a long Order, and a negative number of units results in a short Order. format: A decimal number encoded as a string. The amount of precision provided depends on what the number represents.

  • param f32
  • return MarketIfTouchedOrderRequest

pub fn with_stop_loss_on_fill(self, x: StopLossDetails) -> Self[src]

StopLossDetails specifies the details of a Stop Loss Order to be created on behalf of a client. This may happen when an Order is filled that opens a Trade requiring a Stop Loss, or when a Trade's dependent Stop Loss Order is modified directly through the Trade.

  • param StopLossDetails
  • return MarketIfTouchedOrderRequest

pub fn with_gtd_time(self, x: DateTime<Utc>) -> Self[src]

The date/time when the MarketIfTouched Order will be cancelled if its timeInForce is "GTD". format: The RFC 3339 representation is a string conforming to https://tools.ietf.org/rfc/rfc3339.txt. The Unix representation is a string representing the number of seconds since the Unix Epoch (January 1st, 1970 at UTC). The value is a fractional number, where the fractional part represents a fraction of a second (up to nine decimal places).

  • param DateTime
  • return MarketIfTouchedOrderRequest

pub fn with_otype(self, x: String) -> Self[src]

The type of the Order to Create. Must be set to "MARKET_IF_TOUCHED" when creating a Market If Touched Order.

  • param String
  • return MarketIfTouchedOrderRequest

pub fn with_position_fill(self, x: String) -> Self[src]

Specification of how Positions in the Account are modified when the Order is filled.

  • param String
  • return MarketIfTouchedOrderRequest

Trait Implementations

impl Debug for MarketIfTouchedOrderRequest[src]

impl Serialize for MarketIfTouchedOrderRequest[src]

impl<'de> Deserialize<'de> for MarketIfTouchedOrderRequest[src]

Auto Trait Implementations

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

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

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

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