developers:fixapi:ordercancelrequest

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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.1developers: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:** Client → T4
 +
 +^ 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:**
 +<code>
 +8=FIX.4.2|9=200|35=F|49=T4Example|56=T4|50=TraderName|52=20121212-20:27:03.637|
 +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:27:03.637|10=123|
 +</code>
 +
 +**Cancel Frontend-Submitted Order:**
 +<code>
 +8=FIX.4.2|9=200|35=F|49=T4Example|56=T4|50=TraderName|52=20121212-20:33:42.046|
 +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:33:42.046|10=123|
 +</code>
 +
 +**Successful Cancel Response:**
 +<code>
 +8=FIX.4.2|9=350|35=8|49=T4|56=T4Example|50=T4FIX|52=20121212-20:27:03.715|
 +143=US,IL|1=Account1|11=fc-634909192236370301|41=fr-634909107579297721|
 +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:27:24.745|10=234|
 +</code>
 +
 +===== 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/AutoOCO behavior:**
 +    * Canceling working component → cancels all components
 +    * Canceling suspended component → cancels only that component