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] – ↷ Page moved and renamed from developers:fixapi.ordercancelrequest to developers:fixapi:ordercancelrequest chad | developers:fixapi:ordercancelrequest [2025/09/20 18:36] (current) – [Message Specification] chad | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ===== Order Cancel Request | + | ====== ORDER CANCEL REQUEST [35=F] ====== |
| - | Canceling Working Orders | + | The Order Cancel Request message cancels working orders. This message supports all strategy types including futures, options, spreads, and multileg strategies. |
| - | ------------------------ | + | |
| - | The **Order Cancel Request** message (MsgType=F) is used by the T4 FIX API to electronically cancel | + | ===== Prerequisites ===== |
| + | | ||
| + | | ||
| + | * New unique ClOrdID required (12-20 characters) | ||
| - | The instrument for which the cancel request is submitted is identified with the following tags: | + | ===== Order Identification ===== |
| - | * **Tag 48** = SecurityID | + | **API-submitted orders:** |
| - | * **Tag 55** = Symbol | + | * Use OrigClOrdID (41) of target order |
| - | * **Tag 207** = SecurityExchange | + | |
| - | All cancel requests must also be uniquely identified with a verbose | + | **Frontend-submitted orders:** |
| + | * Use OrderID | ||
| - | Identifying the Order to be Canceled | + | **Best practice:** |
| - | ------------------------------------ | + | * Always specify both OrigClOrdID and OrderID |
| - | Working orders can be identified by: | + | ===== Message Specification ===== |
| - | * **OrigClOrdId (Tag 41)** – Client-side identifier of the target working order | + | **Message Direction:** Client |
| - | * **OrderId (Tag 37)** – T4 FIX API-generated unique identifier | + | |
| - | > Note: Orders with previous rejections can be canceled using either OrderId or the ClOrdId | + | ^ Tag ^ Field Name ^ Type ^ Req'd ^ Description ^ |
| - | > Orders submitted outside the T4 FIX API (e.g., CTS T4 Front-End) must use **OrderId (Tag 37)**, and OrigClOrdId should be set to the same value. | + | | | **Message Header** | | Y | MsgType = F | |
| - | > It is recommended to specify both OrigClOrdId and OrderId for all cancel requests. | + | | 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 | ||
| + | | 37 | OrderID | String | Y | T4-generated ID of target order | | ||
| + | | 48 | SecurityID | String | Y | T4 Market ID | | ||
| + | | 55 | Symbol | String | C | T4 Contract ID | | ||
| + | | 207 | SecurityExchange | String | C | T4 Exchange ID | | ||
| + | | 167 | SecurityType | String | O | FUT, OPT, STK, SYN, BIN | | ||
| + | | 54 | Side | Char | Y | 0=None | ||
| + | | 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 | | | ||
| - | Important Considerations | + | ===== Sample Messages ===== |
| - | ------------------------ | + | |
| - | * Malformed cancel requests (missing required tags, empty tags, invalid values) will be rejected with a **FIX Session Reject**. | + | **Note:** Pipe (|) used for readability. Actual FIX messages use SOH (ASCII 01) delimiter. |
| - | * All order routing must be preceded by a successful subscription to the account. See **Collateral Inquiry** for instructions. | + | |
| - | * Contingent orders like OCO and AutoOCO: | + | |
| - | * Canceling a working component cancels all components | + | |
| - | * Canceling a suspended component cancels only that targeted suspended component | + | |
| - | Message Dictionary | + | **Cancel API-Submitted Order:** |
| - | ------------------ | + | < |
| - | + | 8=FIX.4.2|9=200|35=F|49=T4Example|56=T4|50=TraderName|52=20121212-20: | |
| - | ^ Tag ^ Field Name ^ Req'd ^ Comments ^ | + | 1=Account1|11=fc-634909192236370301|41=fr-634909107579297721| |
| - | | Standard Header | + | 37=FA657BC9-A1D2-4644-B558-A1155C731DA4|48=CME_20121200_ESZ2|55=ES|207=CME_Eq| |
| - | | 1 | + | 54=1|167=FUT|60=20121212-20: |
| - | | 11 | ClOrdID | Y | Client-Side identifier for this cancel request. Max characters: 20 | | + | </ |
| - | | 41 | OrigClOrdID | Y | Client-Side ClOrdID of the target working order. Max characters: 20 | | + | |
| - | | 37 | OrderId | Y | T4-generated unique identifier for the target working order | | + | |
| - | | 48 | SecurityID | Y | T4 Market ID | | + | |
| - | | 55 | Symbol | Y | T4 Contract ID | | + | |
| - | | 207 | SecurityExchange | Y | T4 Exchange ID | | + | |
| - | | 167 | SecurityType | N | Instrument type: FUT, OPT, STK, SYN, BIN | | + | |
| - | | 54 | Side | Y | 0=None (Flatten), | + | |
| - | | 38 | OrderQty | N | Number of contracts to cancel. Reflects original quantity for partially filled orders | | + | |
| - | | 60 | TransactTime | Y | Time cancel request was requested (UTC) | | + | |
| - | | 109 | ClientID | N | Firm identification for third-party transactions | + | |
| - | | 107 | SecurityDesc | N | Description of the specified SecurityID (Tag 48) | | + | |
| - | | 1028 | ManualOrderIndicator | N | Y=Manual, N=Automated | + | |
| - | | Standard Trailer | Y | | | + | |
| - | + | ||
| - | Sample Messages | + | |
| - | + | ||
| - | Canceling a Working Order entered through the T4 FIX API | + | |
| + | **Cancel Frontend-Submitted Order:** | ||
| < | < | ||
| - | [FIXCANCEL] 34=290|49=T4Example|56=T4|50=TraderName|52=20121212-20: | + | 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| | |
| - | [MsgSeqNum] 34 = 290 | + | 37=4C3DFFB6-04CC-4B1F-8152-0EC58C9E5653|48=CME_20121200_ESZ2|55=ES|207=CME_Eq| |
| - | [SenderCompID] 49 = T4Example | + | 54=2|167=FUT|60=20121212-20: |
| - | [TargetCompID] 56 = T4 | + | |
| - | [SenderSubID] 50 = TraderName | + | |
| - | [SendingTime] 52 = 20121212-20: | + | |
| - | [Account] 1 = Account1 | + | |
| - | [ClOrdID] 11 = fc-634909192236370301 | + | |
| - | [OrderID] | + | |
| - | [OrigClOrdID] 41 = fr-634909107579297721 | + | |
| - | [SecurityID] 48 = CME_20121200_ESZ2 | + | |
| - | [Side] 54 = 1 (BUY) | + | |
| - | [Symbol] 55 = ES | + | |
| - | [SecurityExchange] 207 = CME_Eq | + | |
| - | [TransactTime] 60 = 20121212-20: | + | |
| - | [SecurityType] 167 = FUT (FUTURE) | + | |
| - | + | ||
| - | + | ||
| - | [fixexecutionreport] 34=648|49=T4|56=T4Example|50=T4FIX|52=20121212-20: | + | |
| - | + | ||
| - | [MsgSeqNum] 34 = 648 | + | |
| - | [SenderCompID] 49 = T4 | + | |
| - | [TargetCompID] 56 = T4Example | + | |
| - | [SenderSubID] 50 = T4FIX | + | |
| - | [SendingTime] 52 = 20121212-20: | + | |
| - | [TargetLocationID] 143 = US,IL | + | |
| - | [Account] 1 = Account1 | + | |
| - | [ClOrdID] 11 = fc-634909192236370301 | + | |
| - | [OrigClOrdID] 41 = fr-634909107579297721 | + | |
| - | [ExecID] 17 = 48202.71332626389_ESZ2.63490919244745000018.2.FA657BC9 | + | |
| - | [ExecType] 150 = 4 (CANCELED) | + | |
| - | [OrderID] 37 = FA657BC9-A1D2-4644-B558-A1155C731DA4 | + | |
| - | [OrdStatus] 39 = 4 (CANCELED) | + | |
| - | [SecurityID] 48 = CME_20121200_ESZ2 | + | |
| - | [Symbol] 55 = ES | + | |
| - | [SecurityExchange] 207 = CME_Eq | + | |
| - | [MaturityMonthYear] 200 = 201212 | + | |
| - | [TimeInForce] 59 = 0 (DAY) | + | |
| - | [SecurityDesc] 107 = E-mini S&P 500 Dec12 | + | |
| - | [Side] 54 = 1 (BUY) | + | |
| - | [SecurityType] 167 = FUT (FUTURE) | + | |
| - | [OrderQty] 38 = 1 | + | |
| - | [OrdType] 40 = 2 (LIMIT) | + | |
| - | [Price] 44 = 143075 | + | |
| - | [TransactTime] 60 = 20121212-20: | + | |
| </ | </ | ||
| - | + | **Successful Cancel Response:** | |
| - | Canceling a Working Order entered through the CTS Front-end | + | |
| < | < | ||
| - | [FIXCANCEL] 34=309|49=T4Example|56=T4|50=TraderName|52=20121212-20: | + | 8=FIX.4.2|9=350|35=8|49=T4|56=T4Example|50=T4FIX|52=20121212-20: |
| - | + | 143=US, | |
| - | [MsgSeqNum] 34 = 309 | + | 17=48202.71332626389_ESZ2.63490919244745000018.2.FA657BC9|150=4| |
| - | [SenderCompID] 49 = T4Example | + | 37=FA657BC9-A1D2-4644-B558-A1155C731DA4|39=4|48=CME_20121200_ESZ2|55=ES| |
| - | [TargetCompID] 56 = T4 | + | 207=CME_Eq|200=201212|59=0|107=E-mini S&P 500 Dec12|54=1|167=FUT|38=1|40=2| |
| - | [SenderSubID] 50 = TraderName | + | 44=143075|60=20121212-20: |
| - | [SendingTime] 52 = 20121212-20: | + | |
| - | [Account] 1 = Account1 | + | |
| - | [ClOrdID] 11 = fc-634909196220461298 | + | |
| - | [OrderID] 37 = 4C3DFFB6-04CC-4B1F-8152-0EC58C9E5653 | + | |
| - | [OrigClOrdID] 41 = 4C3DFFB6-04CC-4B1F-8152-0EC58C9E5653 | + | |
| - | [SecurityID] 48 = CME_20121200_ESZ2 | + | |
| - | [Side] 54 = 2 (SELL) | + | |
| - | [Symbol] 55 = ES | + | |
| - | [SecurityExchange] 207 = CME_Eq | + | |
| - | [TransactTime] 60 = 20121212-20: | + | |
| - | [SecurityType] 167 = FUT (FUTURE) | + | |
| - | + | ||
| - | + | ||
| - | [fixexecutionreport] 34=787|49=T4|56=T4Example|50=T4FIX|52=20121212-20: | + | |
| - | + | ||
| - | [MsgSeqNum] 34 = 787 | + | |
| - | [SenderCompID] 49 = T4 | + | |
| - | [TargetCompID] 56 = T4Example | + | |
| - | [SenderSubID] 50 = T4FIX | + | |
| - | [SendingTime] 52 = 20121212-20: | + | |
| - | [TargetLocationID] 143 = US,IL | + | |
| - | [Account] 1 = Account1 | + | |
| - | [ClOrdID] 11 = fc-634909196220461298 | + | |
| - | [ExecID] 17 = 48212.71332696293_ESZ2.63490919643143000018.2.4C3DFFB6 | + | |
| - | [ExecType] 150 = 4 (CANCELED) | + | |
| - | [OrderID] 37 = 4C3DFFB6-04CC-4B1F-8152-0EC58C9E5653 | + | |
| - | [OrdStatus] 39 = 4 (CANCELED) | + | |
| - | [SecurityID] 48 = CME_20121200_ESZ2 | + | |
| - | [Symbol] 55 = ES | + | |
| - | [SecurityExchange] 207 = CME_Eq | + | |
| - | [MaturityMonthYear] 200 = 201212 | + | |
| - | [TimeInForce] 59 = 0 (DAY) | + | |
| - | [SecurityDesc] 107 = E-mini S&P 500 Dec12 | + | |
| - | [Side] 54 = 2 (SELL) | + | |
| - | [SecurityType] 167 = FUT (FUTURE) | + | |
| - | [OrderQty] 38 = 1 | + | |
| - | [OrdType] 40 = 2 (LIMIT) | + | |
| - | [Price] 44 = 143525 | + | |
| - | [TransactTime] 60 = 20121212-20: | + | |
| </ | </ | ||
| - | + | ===== Notes ===== | |
| - | [[developers:legacy_fix_api|T4 FIX API Home]] | + | * 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 | ||