Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
developers:fixapi:ordercancelrequest [2025/09/12 01:35] – removed - external edit (Unknown date) 127.0.0.1 | developers:fixapi:ordercancelrequest [2025/09/12 02:05] (current) – chad | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== ORDER CANCEL REQUEST [35=F] ====== | ||
+ | The Order Cancel Request message cancels working orders. This message supports all strategy types including futures, options, spreads, and multileg strategies. | ||
+ | |||
+ | ===== Prerequisites ===== | ||
+ | * Account must be subscribed before order submission | ||
+ | * Working order must be identified by OrigClOrdID (41) and/or OrderID (37) | ||
+ | * New unique ClOrdID required (12-20 characters) | ||
+ | |||
+ | ===== Order Identification ===== | ||
+ | |||
+ | **API-submitted orders:** | ||
+ | * Use OrigClOrdID (41) of target order | ||
+ | |||
+ | **Frontend-submitted orders:** | ||
+ | * Use OrderID (37) and set OrigClOrdID = OrderID | ||
+ | |||
+ | **Best practice:** | ||
+ | * Always specify both OrigClOrdID and OrderID | ||
+ | |||
+ | ===== Message Specification ===== | ||
+ | |||
+ | **Message Direction: | ||
+ | |||
+ | ^ Tag ^ Field Name ^ Type ^ Req'd ^ Description ^ | ||
+ | | | **Message Header** | | Y | MsgType = F | | ||
+ | | 1 | Account | String | Y | Account code | | ||
+ | | 11 | ClOrdID | String | Y | New unique ID for this cancel (12-20 chars) | | ||
+ | | 41 | OrigClOrdID | String | Y | Original ClOrdID of target order | | ||
+ | | 37 | OrderID | String | Y | T4-generated ID of target order | | ||
+ | | 48 | SecurityID | String | Y | T4 Market ID | | ||
+ | | 55 | Symbol | String | Y | T4 Contract ID | | ||
+ | | 207 | SecurityExchange | String | Y | T4 Exchange ID | | ||
+ | | 167 | SecurityType | String | O | FUT, OPT, STK, SYN, BIN | | ||
+ | | 54 | Side | Char | Y | 0=None (Flatten), 1=Buy, 2=Sell | | ||
+ | | 38 | OrderQty | Int | O | Original quantity for partial fills | | ||
+ | | 60 | TransactTime | UTCTimestamp | Y | Cancel request time | | ||
+ | | 109 | ClientID | String | O | Firm ID for third-party transactions | | ||
+ | | 107 | SecurityDesc | String | O | Security description | | ||
+ | | 1028 | ManualOrderIndicator | Boolean | O | Y=Manual, N=Automated | | ||
+ | | | **Message Trailer** | | Y | | | ||
+ | |||
+ | ===== Sample Messages ===== | ||
+ | |||
+ | **Note:** Pipe (|) used for readability. Actual FIX messages use SOH (ASCII 01) delimiter. | ||
+ | |||
+ | **Cancel API-Submitted Order:** | ||
+ | < | ||
+ | 8=FIX.4.2|9=200|35=F|49=T4Example|56=T4|50=TraderName|52=20121212-20: | ||
+ | 1=Account1|11=fc-634909192236370301|41=fr-634909107579297721| | ||
+ | 37=FA657BC9-A1D2-4644-B558-A1155C731DA4|48=CME_20121200_ESZ2|55=ES|207=CME_Eq| | ||
+ | 54=1|167=FUT|60=20121212-20: | ||
+ | </ | ||
+ | |||
+ | **Cancel Frontend-Submitted Order:** | ||
+ | < | ||
+ | 8=FIX.4.2|9=200|35=F|49=T4Example|56=T4|50=TraderName|52=20121212-20: | ||
+ | 1=Account1|11=fc-634909196220461298|41=4C3DFFB6-04CC-4B1F-8152-0EC58C9E5653| | ||
+ | 37=4C3DFFB6-04CC-4B1F-8152-0EC58C9E5653|48=CME_20121200_ESZ2|55=ES|207=CME_Eq| | ||
+ | 54=2|167=FUT|60=20121212-20: | ||
+ | </ | ||
+ | |||
+ | **Successful Cancel Response:** | ||
+ | < | ||
+ | 8=FIX.4.2|9=350|35=8|49=T4|56=T4Example|50=T4FIX|52=20121212-20: | ||
+ | 143=US, | ||
+ | 17=48202.71332626389_ESZ2.63490919244745000018.2.FA657BC9|150=4| | ||
+ | 37=FA657BC9-A1D2-4644-B558-A1155C731DA4|39=4|48=CME_20121200_ESZ2|55=ES| | ||
+ | 207=CME_Eq|200=201212|59=0|107=E-mini S&P 500 Dec12|54=1|167=FUT|38=1|40=2| | ||
+ | 44=143075|60=20121212-20: | ||
+ | </ | ||
+ | |||
+ | ===== Notes ===== | ||
+ | * Malformed messages rejected with Session Reject (35=3) | ||
+ | * Application errors returned via Order Cancel Reject (35=9) | ||
+ | * Previously rejected orders can be canceled using ClOrdID from rejection | ||
+ | * **OCO/ | ||
+ | * Canceling working component → cancels all components | ||
+ | * Canceling suspended component → cancels only that component |