pub struct CreateOrderRequest {Show 15 fields
pub epic: String,
pub direction: Direction,
pub size: f64,
pub order_type: OrderType,
pub time_in_force: TimeInForce,
pub level: Option<f64>,
pub guaranteed_stop: Option<bool>,
pub stop_level: Option<f64>,
pub stop_distance: Option<f64>,
pub limit_level: Option<f64>,
pub limit_distance: Option<f64>,
pub expiry: Option<String>,
pub deal_reference: Option<String>,
pub force_open: Option<bool>,
pub currency_code: Option<String>,
}Expand description
Model for creating a new order
Fields§
§epic: StringInstrument EPIC identifier
direction: DirectionOrder direction (buy or sell)
size: f64Order size/quantity
order_type: OrderTypeType of order (market, limit, etc.)
time_in_force: TimeInForceOrder duration (how long the order remains valid)
level: Option<f64>Price level for limit orders
guaranteed_stop: Option<bool>Whether to use a guaranteed stop
stop_level: Option<f64>Price level for stop loss
stop_distance: Option<f64>Distance for stop loss
limit_level: Option<f64>Price level for take profit
limit_distance: Option<f64>Distance for take profit
expiry: Option<String>Expiry date for the order
deal_reference: Option<String>Client-generated reference for the deal
force_open: Option<bool>Whether to force open a new position
currency_code: Option<String>Currency code for the order (e.g., “USD”, “EUR”)
Implementations§
Source§impl CreateOrderRequest
impl CreateOrderRequest
Sourcepub fn market(epic: String, direction: Direction, size: f64) -> Self
pub fn market(epic: String, direction: Direction, size: f64) -> Self
Creates a new market order
Sourcepub fn limit(epic: String, direction: Direction, size: f64, level: f64) -> Self
pub fn limit(epic: String, direction: Direction, size: f64, level: f64) -> Self
Creates a new limit order
Sourcepub fn sell_option_to_market(
epic: String,
size: f64,
expiry: Option<String>,
deal_reference: Option<String>,
currency_code: Option<String>,
) -> Self
pub fn sell_option_to_market( epic: String, size: f64, expiry: Option<String>, deal_reference: Option<String>, currency_code: Option<String>, ) -> Self
Creates a new instance of a market sell option with predefined parameters.
This function sets up a sell option to the market for a given asset (epic)
with the specified size. It configures the order with default values
for attributes such as direction, order type, and time-in-force.
§Parameters
epic: AStringthat represents the epic (unique identifier or code) of the instrument being traded.size: Af64value representing the size or quantity of the order.
§Returns
An instance of Self (the type implementing this function), containing the specified
epic and size, along with default values for other parameters:
direction: Set toDirection::Sell.order_type: Set toOrderType::Limit.time_in_force: Set toTimeInForce::FillOrKill.level: Set toSome(0.1).guaranteed_stop: Set toNone.stop_level: Set toNone.stop_distance: Set toNone.limit_level: Set toNone.limit_distance: Set toNone.expiry: Set toNone.deal_reference: Set toNone.force_open: Set toSome(true).currency_code: Set toNone.
Note that this function allows for minimal input (the instrument and size), while other fields are provided default values. If further customization is required, you can modify the returned instance as needed.
Sourcepub fn buy_option_to_market(
epic: String,
size: f64,
expiry: Option<String>,
deal_reference: Option<String>,
currency_code: Option<String>,
) -> Self
pub fn buy_option_to_market( epic: String, size: f64, expiry: Option<String>, deal_reference: Option<String>, currency_code: Option<String>, ) -> Self
Creates a new instance of an order to buy an option in the market with specified parameters.
This method initializes an order with the following default values:
directionis set toBuy.order_typeis set toLimit.time_in_forceis set toFillOrKill.levelis set toSome(10000.0).force_openis set toSome(true). Other optional parameters, such as stop levels, distances, expiry, and currency code, are left asNone.
§Parameters
epic(String): The identifier for the market or instrument to trade.size(f64): The size or quantity of the order to be executed.
§Returns
A new instance of Self that represents the configured buy option for the given market.
§Note
Ensure the epic and size values provided are valid and match required market conditions.
Sourcepub fn with_stop_loss(self, stop_level: f64) -> Self
pub fn with_stop_loss(self, stop_level: f64) -> Self
Adds a stop loss to the order
Sourcepub fn with_take_profit(self, limit_level: f64) -> Self
pub fn with_take_profit(self, limit_level: f64) -> Self
Adds a take profit to the order
Sourcepub fn with_reference(self, reference: String) -> Self
pub fn with_reference(self, reference: String) -> Self
Adds a reference to the order
Trait Implementations§
Source§impl Clone for CreateOrderRequest
impl Clone for CreateOrderRequest
Source§fn clone(&self) -> CreateOrderRequest
fn clone(&self) -> CreateOrderRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for CreateOrderRequest
impl Debug for CreateOrderRequest
Auto Trait Implementations§
impl Freeze for CreateOrderRequest
impl RefUnwindSafe for CreateOrderRequest
impl Send for CreateOrderRequest
impl Sync for CreateOrderRequest
impl Unpin for CreateOrderRequest
impl UnwindSafe for CreateOrderRequest
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more