Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ===== Order Cancel-Replace Request ===== Amending Working Orders ----------------------- The **Order Cancel-Replace Request** message (MsgType=G) is used by the T4 FIX API to electronically amend (revise) the replaceable fields of working orders. This message is used for all CTS strategy types including outright futures, futures options, spreads, and multileg strategies. The instrument for which the replace applies is identified with the following tags: * **Tag 48** = SecurityID * **Tag 55** = Symbol * **Tag 207** = SecurityExchange * **Tag 167** = SecurityType Options orders must also include: * **Tag 202** = Strike Price * **Tag 201** = PutOrCall All cancel-replaces must be uniquely identified with a verbose **Client Order Id** (Tag 11) between 12 and 20 characters. The subscribed account must also be provided. Replaceable Fields ------------------ The fields that can be replaced: ^ Field Name ^ Tag Number ^ Comments ^ | Order Quantity | 38 | For all Orders | | Price | 44 | For Limits, Stop Limits, and Market-If-Touched | | Stop Price | 99 | For Stops and Stop Limits | | MaxShow | 210 | For Icebergs (if supported by Exchange) | | Trailing Delta | 10100 | For Trailing Stops | | Activation Value | 10103 | For Activation Orders | Identifying the Order to be Replaced ------------------------------------ Working orders can be identified by: * **OrigClOrdId (Tag 41)** – Client-side identifier of the target working order * **OrderId (Tag 37)** – T4 FIX API-generated unique identifier > Note: Orders with previous rejections can be replaced using either OrderId or the ClOrdId of the rejection. > 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. > It is recommended to specify both OrigClOrdId and OrderId for all cancel-replaces. Activating Queued Orders ------------------------ For **Queue Orders**, the cancel-replace message is also used to activate held or suspended orders. * **Activation Value (Tag 10102)** must be set to **-1** Important Considerations ------------------------ * Malformed replace orders will be rejected with a **FIX Session Reject**. * Application-level rejections are manifested with **Cancel Reject** messages. * All order routing must be preceded by a successful subscription to the account. See **Collateral Inquiry** for subscription instructions. * Contingent orders like OCO and AutoOCO can only be replaced one component at a time, identified by **OrigClOrdID (Tag 41)** and/or **OrderID (Tag 37)**. Message Dictionary ------------------ ^ Tag ^ Field Name ^ Req'd ^ Comments ^ | Standard Header | Y | MsgType = G | | 1 | Account | Y | Account (code) for which the order is submitted | | 11 | ClOrdID | Y | Client-Side identifier for this replace order. Max characters: 20 | | 41 | OrigClOrdID | Y | Client-Side ClOrdID of the target working order. Max characters: 20 | | 37 | OrderId | Y | T4 API-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 | Y | Instrument type (FUT, OPT, STK, SYN, BIN) | | 201 | PutOrCall | N | For Options: 0=Put, 1=Call | | 202 | StrikePrice | N | For Options: Strike Price | | 54 | Side | Y | 0=None, 1=Buy, 2=Sell | | 38 | OrderQty | Y | Number of contracts to replace. For partially filled orders, reflects original Quantity | | 210 | MaxShow | N | Max visible quantity for Icebergs | | 40 | OrdType | Y | Order Type. Some types cannot be replaced (Flatten, Hit, Market). Valid values: 1=Market, 2=Limit, 3=Stop, 4=Stop-Limit, J=Market If Touched, F=Flatten, N=Join, H=Hit | | 44 | Price | N | Required for Limit, Stop-Limit, and Market-if-Touched. Auto OCO: relative to Trigger Price (Tag 10101). Negative allowed | | 99 | StopPx | N | Required for Stops and Stop-Limit. Auto OCO: relative to Trigger Price (Tag 10101). Negative allowed | | 59 | TimeInForce | Y | 0=Day, 1=GTC, 3=IOC, 4=FOK | | 200 | MaturityMonthYear | N | Format YYYYMM | | 60 | TransactTime | Y | Time order was requested (UTC) | | 21 | HandlInst | N | 1=Automated private, 2=Automated public, 3=Manual | | 77 | OpenClose | N | O=Open, C=Close | | 58 | Text | N | Free form text | | 107 | SecurityDesc | N | Description of SecurityID (Tag 48) | | 1028 | ManualOrderIndicator | N | Y=Manual, N=Automated | | 10100 | TrailingDelta | N | Trailing Stop amount | | 10103 | ActivationValue | N | Conditions for ActivationType; multiple values delimited by ":" | | Standard Trailer | Y | | Sample Messages Replacing a Working Order entered through the T4 FIX API <code> [FIXCANCELREPLACE] 34=121|49=T4Example|56=T4|50=TraderName|52=20121212-16:43:37.426|1=Account1|11=fr-634909058174264921|41=fn-634909058088464770|37=C8D64D65-7FCD-472B-9A55-3E77F404F1BE|48=CME_20121200_ESZ2|55=ES|207=CME_Eq|54=1|38=1|40=2|44=143025|59=0|167=FUT|21=1|60=20121212-16:43:37.426|204=0| [MsgSeqNum] 34 = 121 [SenderCompID] 49 = T4Example [TargetCompID] 56 = T4 [SenderSubID] 50 = TraderName [SendingTime] 52 = 20121212-16:43:37.426 [Account] 1 = Account1 [ClOrdID] 11 = fr-634909058174264921 [OrigClOrdID] 41 = fn-634909058088464770 [OrderID] 37 = C8D64D65-7FCD-472B-9A55-3E77F404F1BE [SecurityID] 48 = CME_20121200_ESZ2 [Symbol] 55 = ES [SecurityExchange] 207 = CME_Eq [Side] 54 = 1 (BUY) [OrderQty] 38 = 1 [OrdType] 40 = 2 (LIMIT) [Price] 44 = 143025 [TimeInForce] 59 = 0 (DAY) [SecurityType] 167 = FUT (FUTURE) [HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION) [TransactTime] 60 = 20121212-16:43:37.426 [CustomerOrFirm] 204 = 0 (CUSTOMER) [fixexecutionreport] 34=5702|49=T4|56=T4Example|50=T4FIX|52=20121212-16:43:37.457|143=US,IL|1=Account1|11=fr-634909058174264921|41=fn-634909058088464770|17=48187.71332576498_ESZ2.63490905838440000012.1.C8D64D65|150=5|37=C8D64D65-7FCD-472B-9A55-3E77F404F1BE|39=5|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=143025|60=20121212-16:43:58.440| [MsgSeqNum] 34 = 5702 [SenderCompID] 49 = T4 [TargetCompID] 56 = T4Example [SenderSubID] 50 = T4FIX [SendingTime] 52 = 20121212-16:43:37.457 [TargetLocationID] 143 = US,IL [Account] 1 = Account1 [ClOrdID] 11 = fr-634909058174264921 [OrigClOrdID] 41 = fn-634909058088464770 [ExecID] 17 = 48187.71332576498_ESZ2.63490905838440000012.1.C8D64D65 [ExecType] 150 = 5 (REPLACE) [OrderID] 37 = C8D64D65-7FCD-472B-9A55-3E77F404F1BE [OrdStatus] 39 = 5 (REPLACED) [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 = 143025 [TransactTime] 60 = 20121212-16:43:58.440 </code> Replacing a Working Order entered through the CTS Front-end <code> [FIXCANCELREPLACE] 34=6|49=T4Example|56=T4|50=TraderName|52=20121212-18:05:57.929|1=Account1|11=fr-634909107579297721|41=FA657BC9-A1D2-4644-B558-A1155C731DA4|37=FA657BC9-A1D2-4644-B558-A1155C731DA4|48=CME_20121200_ESZ2|55=ES|207=CME_Eq|54=1|38=1|40=2|44=143075|59=0|167=FUT|21=1|60=20121212-18:05:57.929|204=0| [MsgSeqNum] 34 = 6 [SenderCompID] 49 = T4Example [TargetCompID] 56 = T4 [SenderSubID] 50 = TraderName [SendingTime] 52 = 20121212-18:05:57.929 [Account] 1 = Account1 [ClOrdID] 11 = fr-634909107579297721 [OrigClOrdID] 41 = FA657BC9-A1D2-4644-B558-A1155C731DA4 [OrderID] 37 = FA657BC9-A1D2-4644-B558-A1155C731DA4 [SecurityID] 48 = CME_20121200_ESZ2 [Symbol] 55 = ES [SecurityExchange] 207 = CME_Eq [Side] 54 = 1 (BUY) [OrderQty] 38 = 1 [OrdType] 40 = 2 (LIMIT) [Price] 44 = 143075 [TimeInForce] 59 = 0 (DAY) [SecurityType] 167 = FUT (FUTURE) [HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION) [TransactTime] 60 = 20121212-18:05:57.929 [CustomerOrFirm] 204 = 0 (CUSTOMER) [fixexecutionreport] 34=236|49=T4|56=T4Example|50=T4FIX|52=20121212-18:05:58.023|143=US,IL|1=Account1|11=fr-634909107579297721|17=48199.71332626389_ESZ2.63490910779020000012.1.FA657BC9|150=5|37=FA657BC9-A1D2-4644-B558-A1155C731DA4|39=5|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-18:06:19.020| [MsgSeqNum] 34 = 236 [SenderCompID] 49 = T4 [TargetCompID] 56 = T4Example [SenderSubID] 50 = T4FIX [SendingTime] 52 = 20121212-18:05:58.023 [TargetLocationID] 143 = US,IL [Account] 1 = Account1 [ClOrdID] 11 = fr-634909107579297721 [ExecID] 17 = 48199.71332626389_ESZ2.63490910779020000012.1.FA657BC9 [ExecType] 150 = 5 (REPLACE) [OrderID] 37 = FA657BC9-A1D2-4644-B558-A1155C731DA4 [OrdStatus] 39 = 5 (REPLACED) [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-18:06:19.020 </code> [[developers:legacy_fix_api|T4 FIX API Home]] developers/fixapi.cancelreplacerequest.txt Last modified: 2025/08/13 13:57by rob