pub struct CreateOrderRequest {Show 17 fields
pub symbol: String,
pub qty: Option<String>,
pub notional: Option<String>,
pub side: OrderSide,
pub order_type: OrderType,
pub time_in_force: TimeInForce,
pub limit_price: Option<String>,
pub stop_price: Option<String>,
pub trail_price: Option<String>,
pub trail_percent: Option<String>,
pub extended_hours: Option<bool>,
pub client_order_id: Option<String>,
pub order_class: Option<OrderClass>,
pub take_profit: Option<TakeProfit>,
pub stop_loss: Option<StopLoss>,
pub position_intent: Option<PositionIntent>,
pub gtd_date: Option<NaiveDate>,
}Expand description
Request to create a new order.
Supports all order types including simple, bracket, OCO, and OTO orders.
Fields§
§symbol: StringThe symbol to trade.
qty: Option<String>The quantity to trade (mutually exclusive with notional).
notional: Option<String>The notional dollar amount to trade (mutually exclusive with qty).
side: OrderSideThe side of the order (buy or sell).
order_type: OrderTypeThe type of order.
time_in_force: TimeInForceHow long the order remains active.
limit_price: Option<String>Limit price for limit orders.
stop_price: Option<String>Stop price for stop orders.
trail_price: Option<String>Trail price for trailing stop orders (dollar amount).
trail_percent: Option<String>Trail percent for trailing stop orders (percentage).
extended_hours: Option<bool>Whether to allow trading during extended hours.
client_order_id: Option<String>Client-specified order ID for idempotency.
order_class: Option<OrderClass>Order class (simple, bracket, oco, oto).
take_profit: Option<TakeProfit>Take profit configuration for bracket orders.
stop_loss: Option<StopLoss>Stop loss configuration for bracket orders.
position_intent: Option<PositionIntent>Position intent for options orders.
gtd_date: Option<NaiveDate>Good-till-date expiration (for GTD orders).
Implementations§
Source§impl CreateOrderRequest
impl CreateOrderRequest
Sourcepub fn market(
symbol: impl Into<String>,
side: OrderSide,
qty: impl Into<String>,
) -> Self
pub fn market( symbol: impl Into<String>, side: OrderSide, qty: impl Into<String>, ) -> Self
Creates a new market order request.
Sourcepub fn limit(
symbol: impl Into<String>,
side: OrderSide,
qty: impl Into<String>,
limit_price: impl Into<String>,
) -> Self
pub fn limit( symbol: impl Into<String>, side: OrderSide, qty: impl Into<String>, limit_price: impl Into<String>, ) -> Self
Creates a new limit order request.
Sourcepub fn stop(
symbol: impl Into<String>,
side: OrderSide,
qty: impl Into<String>,
stop_price: impl Into<String>,
) -> Self
pub fn stop( symbol: impl Into<String>, side: OrderSide, qty: impl Into<String>, stop_price: impl Into<String>, ) -> Self
Creates a new stop order request.
Sourcepub fn stop_limit(
symbol: impl Into<String>,
side: OrderSide,
qty: impl Into<String>,
stop_price: impl Into<String>,
limit_price: impl Into<String>,
) -> Self
pub fn stop_limit( symbol: impl Into<String>, side: OrderSide, qty: impl Into<String>, stop_price: impl Into<String>, limit_price: impl Into<String>, ) -> Self
Creates a new stop-limit order request.
Sourcepub fn trailing_stop_price(
symbol: impl Into<String>,
side: OrderSide,
qty: impl Into<String>,
trail_price: impl Into<String>,
) -> Self
pub fn trailing_stop_price( symbol: impl Into<String>, side: OrderSide, qty: impl Into<String>, trail_price: impl Into<String>, ) -> Self
Creates a new trailing stop order request with a trail price.
Sourcepub fn trailing_stop_percent(
symbol: impl Into<String>,
side: OrderSide,
qty: impl Into<String>,
trail_percent: impl Into<String>,
) -> Self
pub fn trailing_stop_percent( symbol: impl Into<String>, side: OrderSide, qty: impl Into<String>, trail_percent: impl Into<String>, ) -> Self
Creates a new trailing stop order request with a trail percent.
Sourcepub fn bracket(
symbol: impl Into<String>,
side: OrderSide,
qty: impl Into<String>,
order_type: OrderType,
take_profit: TakeProfit,
stop_loss: StopLoss,
) -> Self
pub fn bracket( symbol: impl Into<String>, side: OrderSide, qty: impl Into<String>, order_type: OrderType, take_profit: TakeProfit, stop_loss: StopLoss, ) -> Self
Creates a new bracket order request.
A bracket order is a set of three orders: a primary order and two conditional orders (take profit and stop loss) that are triggered when the primary order fills.
Sourcepub fn oco(
symbol: impl Into<String>,
side: OrderSide,
qty: impl Into<String>,
take_profit: TakeProfit,
stop_loss: StopLoss,
) -> Self
pub fn oco( symbol: impl Into<String>, side: OrderSide, qty: impl Into<String>, take_profit: TakeProfit, stop_loss: StopLoss, ) -> Self
Creates a new OCO (One-Cancels-Other) order request.
An OCO order is a set of two orders where if one is executed, the other is automatically canceled.
Sourcepub fn oto(
symbol: impl Into<String>,
side: OrderSide,
qty: impl Into<String>,
order_type: OrderType,
stop_loss: StopLoss,
) -> Self
pub fn oto( symbol: impl Into<String>, side: OrderSide, qty: impl Into<String>, order_type: OrderType, stop_loss: StopLoss, ) -> Self
Creates a new OTO (One-Triggers-Other) order request.
An OTO order is a primary order that, when filled, triggers a secondary order.
Sourcepub fn time_in_force(self, tif: TimeInForce) -> Self
pub fn time_in_force(self, tif: TimeInForce) -> Self
Sets the time in force for the order.
Sourcepub fn with_limit_price(self, price: impl Into<String>) -> Self
pub fn with_limit_price(self, price: impl Into<String>) -> Self
Sets the limit price for the order.
Sourcepub fn extended_hours(self, enabled: bool) -> Self
pub fn extended_hours(self, enabled: bool) -> Self
Enables extended hours trading.
Sourcepub fn client_order_id(self, id: impl Into<String>) -> Self
pub fn client_order_id(self, id: impl Into<String>) -> Self
Sets a client order ID for idempotency.
Sourcepub fn position_intent(self, intent: PositionIntent) -> Self
pub fn position_intent(self, intent: PositionIntent) -> Self
Sets the position intent for options orders.