Modify and Cancel Orders

Modify Order

Signature

pub async fn modify_order(&self, id: i64, order: OrderRequest) -> Result<Option<OrderIdResult>, TigerError>

Description

Modify a submitted order. Only pending/partially-filled orders can be modified.

Parameters

ParameterRust typeRequirementSDK default
idi64RequiredNone
order.accountOption<String>Do not set; the SDK always overwrites it with the TradeClient accountTradeClient account
order.idOption<i64>Do not set; the SDK always overwrites it with the id argumentid argument
order.order_idOption<i64>OptionalNone (omitted)
order.actionOption<String>Do not set; the server retains the original order actionNone (omitted)
order.order_typeOption<String>Optional; the original order type is retained when omittedNone (omitted)
order.total_quantityOption<i64>Optional; the original order quantity is retained when omittedNone (omitted)
order.limit_priceOption<f64>Required for LMT/STP_LMTNone (omitted)
order.aux_priceOption<f64>Required for STP/STP_LMTNone (omitted)
order.trailing_percentOption<f64>OptionalNone (omitted)
order.time_in_forceOption<String>OptionalNone (omitted)
order.outside_rthOption<bool>OptionalNone (omitted)
order.order_legsOption<Vec<OrderLegRequest>>OptionalNone (omitted)
order.algo_paramsOption<AlgoParamsRequest>OptionalNone (omitted)
order.symbolOption<String>Do not set; the server retains the original order symbolNone (omitted)
order.sec_typeOption<String>Do not set; the server retains the original security typeNone (omitted)
order.marketOption<String>OptionalNone (omitted)
order.currencyOption<String>OptionalNone (omitted)
order.expiryOption<String>OptionalNone (omitted)
order.strikeOption<String>OptionalNone (omitted)
order.rightOption<String>OptionalNone (omitted)
order.identifierOption<String>OptionalNone (omitted)
order.remarkOption<String>OptionalNone (omitted)
order.user_markOption<String>OptionalNone (omitted)
order.display_sizeOption<i64>OptionalNone (omitted)
order.min_display_sizeOption<i64>OptionalNone (omitted)
order.check_intervalsOption<i64>OptionalNone (omitted)
order.price_typeOption<String>OptionalNone (omitted)
order.start_timeOption<i64>OptionalNone (omitted)
order.end_timeOption<i64>OptionalNone (omitted)
order.secret_keyOption<String>OptionalNone (omitted)
order.adjust_limitOption<f64>OptionalNone (omitted)
order.expire_timeOption<i64>Required for GTDNone (omitted)
order.trading_session_typeOption<String>OptionalNone (omitted)
order.exchangeOption<String>OptionalNone (omitted)
order.multiplierOption<String>OptionalNone (omitted)
order.local_symbolOption<String>OptionalNone (omitted)
order.alloc_accountsOption<Vec<String>>OptionalNone (omitted)
order.alloc_sharesOption<Vec<f64>>OptionalNone (omitted)
order.total_quantity_scaleOption<i32>OptionalNone (omitted)
order.attach_typeOption<String>OptionalNone (omitted)
order.profit_taker_order_idOption<i64>OptionalNone (omitted)
order.profit_taker_priceOption<f64>OptionalNone (omitted)
order.profit_taker_tifOption<String>OptionalNone (omitted)
order.profit_taker_rthOption<bool>OptionalNone (omitted)
order.stop_loss_order_typeOption<String>OptionalNone (omitted)
order.stop_loss_order_idOption<i64>OptionalNone (omitted)
order.stop_loss_priceOption<f64>OptionalNone (omitted)
order.stop_loss_limit_priceOption<f64>OptionalNone (omitted)
order.stop_loss_tifOption<String>OptionalNone (omitted)
order.stop_loss_trailing_percentOption<f64>OptionalNone (omitted)
order.stop_loss_trailing_amountOption<f64>OptionalNone (omitted)
order.combo_typeOption<String>OptionalNone (omitted)
order.contract_legsOption<Vec<ContractLegRequest>>OptionalNone (omitted)
order.oca_ordersOption<Vec<Box<OrderRequest>>>OptionalNone (omitted)
order.cash_amountOption<f64>OptionalNone (omitted)

Response

FieldTypeDescription
idi64Order ID

The returned ID confirms only that the modify request was submitted. Continue querying the order: replace_status=REPLACED confirms success, FAILED confirms failure, and other values remain intermediate and must be interpreted with the order status.

Example

let mut modify = OrderRequest::default();
modify.limit_price = Some(196.0);
let result = trade.modify_order(31234567, modify).await?;
if let Some(r) = result {
    println!("Modification submitted, id={}; continue querying replace_status", r.id);
}

Response Example

{
  "id": 31234567
}

Rate limit

The base rate limit is 120 requests/min.


Cancel Order

Signature

pub async fn cancel_order(&self, id: i64) -> Result<Option<OrderIdResult>, TigerError>

Description

Cancel a pending order.

Parameters

ParameterRust typeRequirementSDK default
idi64RequiredNone

Response

FieldTypeDescription
idi64Cancelled order ID

The returned ID confirms only that the cancellation request was submitted. Continue querying until status=Cancelled or the order reaches another final state, such as a fill that completed first; an intermediate cancellation-accepted state is not completion.

Example

let result = trade.cancel_order(31234567).await?;
if let Some(r) = result {
    println!("Cancellation submitted, id={}; continue querying final order status", r.id);
}

Response Example

{
  "id": 31234567
}

Rate limit

The base rate limit is 120 requests/min.


Did this page help you?