pub struct OrderRequest {Show 14 fields
pub account_id: String,
pub advanced_options: Option<AdvancedOrderOptions>,
pub buying_power_warning: Option<BPWarningStatus>,
pub legs: Option<Vec<OrderRequestLeg>>,
pub limit_price: Option<String>,
pub osos: Option<Vec<Oso>>,
pub order_confirm_id: Option<String>,
pub order_type: OrderType,
pub quantity: String,
pub route: Option<String>,
pub stop_price: Option<String>,
pub symbol: String,
pub time_in_force: OrderTimeInForce,
pub trade_action: TradeAction,
}Expand description
The initial stage of an Order, this is what
is sent to the route for creating a Order.
Fields§
§account_id: StringThe TradeStation Account ID the order is for.
advanced_options: Option<AdvancedOrderOptions>Advanced Options for configuring an order.
buying_power_warning: Option<BPWarningStatus>The different statuses for buing power warnings.
legs: Option<Vec<OrderRequestLeg>>The additional legs to this order.
limit_price: Option<String>The limit price for this order.
osos: Option<Vec<Oso>>Order Sends Orders
order_confirm_id: Option<String>A unique identifier regarding an order used to prevent duplicates. Must be unique per API key, per order, per user.
order_type: OrderTypeThe order type of the order.
quantity: StringThe quantity of shares, or contracts for the order.
route: Option<String>The route of the order.
NOTE: For Stocks and Options, Route value will default to Intelligent if no value is set.
NOTE: Routes can be obtained from Order::get_routes().
stop_price: Option<String>The stop price for this order.
NOTE: If a TrailingStop amount or percent is passed
in with the request (in the AdvancedOrderOptions),
and a Stop Price value is also passed in, the Stop
Price value is ignored.
symbol: StringThe symbol used for this order.
time_in_force: OrderTimeInForceDefines the duration and expiration timestamp of an Order.
trade_action: TradeActionThe different trade actions that can be sent or received, and conveys the intent of the order.
Implementations§
Source§impl OrderRequest
impl OrderRequest
Sourcepub async fn confirm(
self,
client: &mut Client,
) -> Result<Vec<OrderConfirmation>, Error>
pub async fn confirm( self, client: &mut Client, ) -> Result<Vec<OrderConfirmation>, Error>
Confirm an order getting back an estimated cost and commission information for the order without actually placing the order.
NOTE: Only valid for Market Limit, Stop Market,
Options, and Order Sends Order (OSO) order types.
§Example
Confirm a limit buy order for 3 Month SOFR Futures at the March 2025 contract @ 96.0725 with a quantity of 50 contracts and a duration of Good Till Close (GTC).
use tradestation::{ClientBuilder, Error, Token, execution::Duration};
#[tokio::main]
async fn main() -> Result<(), Error> {
// Create client
let mut client = ClientBuilder::new()?
.credentials("YOUR_CLIENT_ID", "YOUR_CLIENT_SECRET")?
.token(Token { /* YOUR BEARER AUTH TOKEN */ })?
.build()
.await?;
let order_req = OrderRequestBuilder::new()
.account_id("YOUR_FUTURES_ACCOUNT_ID")
.symbol("SR3H25")
.trade_action(TradeAction::Buy)
.quantity("50")
.order_type(OrderType::Limit)
.limit_price("96.0725")
.time_in_force(OrderTimeInForce {
duration: Duration::GTC,
expiration: None,
})
.build()?;
match order_req.confirm(&mut client).await {
Ok(confirmation) => println!("Confirmed Order: {confirmation:?}"),
Err(e) => println!("Issue Confirming Order: {e:?}"),
};
Ok(())
}Trait Implementations§
Source§impl Clone for OrderRequest
impl Clone for OrderRequest
Source§fn clone(&self) -> OrderRequest
fn clone(&self) -> OrderRequest
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more