developers:fixapi:neworderlist

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
developers:fixapi:neworderlist [2025/09/12 01:35] – ↷ Page moved and renamed from developers:fixapi.neworderlist to developers:fixapi:neworderlist chaddevelopers:fixapi:neworderlist [2025/09/12 02:11] (current) chad
Line 1: Line 1:
-===== New Order List ===== +====== NEW ORDER LIST [35=E] ======
-**Submitting Orders with Multiple Components: Batch Orders**+
  
-The **New Order List** message (`MsgType=E`) is used by the T4 FIX API to submit multiple-component (batchorders to an exchange  +The New Order List message submits batch orders with multiple components to exchangesSupports up to 6 components per order.
-Batch orders: +
-  * Identified by **Contingency Type** (`Tag 1385`) +
-  * Contain only constituent orders +
-  * Maximum of 6 components+
  
-Applicable to: +===== Batch Order Types =====
-  * Outright futures +
-  * Futures options +
-  * Spreads +
-  * Multi-leg strategies+
  
-Instruments are identified using: +^ Type ^ ContingencyType (1385^ Description ^ 
-  * `SecurityID` (`Tag 48`+| OCO | 1 | One-Cancels-Other | 
-  * `Symbol` (`Tag 55`) +| Auto OCO | 2, 7 | Auto-triggered OCO | 
-  * `SecurityExchange` (`Tag 207`) +| Spark | 3 | Spark order | 
-  * `SecurityType` (`Tag 167`)+| Auto OCOM | 8, 9 | Multiple exit orders |
  
-Lists of tradeable securities can be obtained via **Security Definition Request** (`MsgType=c`).+===== Message Specification =====
  
-----+**Message Direction:** Client → T4
  
-=== Identifiers === +^ Tag ^ Field Name ^ Type ^ Req'd ^ Description ^ 
-* **ListID** (`Tag 66`– Unique ID for the entire order list +| | **Message Header** | | Y | MsgType E | 
-* **ClOrdID** (`Tag 11`) – Unique ID (1220 chars) for each constituent order +| 66 | ListID | String | Y | Unique batch order ID | 
-* **Account** (`Tag 1`) – Subscribed account for order submission+| 1385 | ContingencyType | Int | Y | See batch types table | 
 +| 394 | BidType | Int | O | 0=Non-disclosed, 1=Disclosed, 2=None | 
 +| 433 | ListExecInstType | Int | O | 1=Immediate (default), 2=Wait | 
 +| 69 | ListExecInst | String | O | Execution instructions | 
 +| 68 | TotNoOrders | Int | Y | Number of components (max 6| 
 +| 58 | Text | String | O | Free text | 
 +| 1028 | ManualOrderIndicator | Boolean | O | Y=Manual, N=Automated | 
 +| | **=== Repeating Group ===** | | | **Per component order** | 
 +11 | ClOrdID | String | Y | Component order ID (12-20 chars) 
 +| 1 | Account | String | Y | Account code | 
 +| 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 | 
 +| 201 | PutOrCall | Int | C | Options: 0=Put, 1=Call | 
 +| 202 | StrikePrice | Float | C | Options: Strike price | 
 +| 54 | Side | Char | Y | 0=None, 1=Buy, 2=Sell | 
 +| 38 | OrderQty | Int | Y | Contracts (0 for AutoOCO component) | 
 +| 40 | OrdType | Char | Y | 1=Market, 2=Limit, 3=Stop, 4=Stop Limit | 
 +| 44 | Price | Float | C | Required for Limit, Stop Limit | 
 +| 99 | StopPx | Float | C | Required for Stop, Stop Limit | 
 +| 59 | TimeInForce | Char | Y | 0=Day, 1=GTC, 3=IOC, 4=FOK | 
 +| 210 | MaxShow | Int | O | Iceberg visible quantity | 
 +| 21 | HandlInst | Char | O | 1=Auto private, 2=Auto public, 3=Manual | 
 +| 77 | OpenClose | Char | O | O=Open, C=Close | 
 +| 204 | CustomerOrFirm | Int | O | 0=Customer, 1=Firm | 
 +| 10100 | TrailingDelta | Float | O | Trailing stop amount | 
 +| 10101 | TriggerPrice | Float | O | Batch order trigger price | 
 +| 10104 | TriggerStop | Float | O | Trigger stop price | 
 +| 10105 | TriggerStopTrail | Float | O | Trigger stop trail | 
 +| 10102 | ActivationType | Int | O | 1=Immediate, 2=Above, 3=Below, 4=Mode, 5=Time, 6=Queue | 
 +| 10103 | ActivationValue | String | O | Activation conditions (semicolon-delimited) | 
 +| | **Message Trailer** | | Y | |
  
-Malformed messages (missing/empty/invalid tags) are rejected with: +===== Sample Message =====
-  * **FIX Session Reject** +
-  * Or **Execution Report** (`Tag 150=8`)+
  
----- +**OCO Order:**
- +
-=== Special Multi-Component Order Types === +
-* OCO Order +
-* AutoOCO Order +
-* Spark Order +
-* AutoOCOM Order (Multiple Exits) +
- +
----- +
- +
-=== Order Definition Fields === +
-^ Field Name       ^ Tag #  ^ +
-| ContingencyType  | 1385   | +
-| TriggerPrice     | 10101  | +
-| TriggerStop      | 10104  | +
-| TriggerStopTrail | 10105  | +
-| Order Quantity   | 38     | +
-| Side             | 54     | +
-| Order Type       | 40     | +
-| Price            | 44     | +
-| Stop Price       | 99     | +
-| Time In Force    | 59     | +
- +
----- +
- +
-=== Other Fields === +
-^ Field Name       ^ Tag #  ^ Comments                                           ^ +
-| MaxShow          | 210    | For Icebergs                                       | +
-| TrailingDelta    | 10100  | For Trailing Stops                                 | +
-| Activation Type  | 10102  | For Queue and Activation orders                    | +
-| Activation Value | 10103  | For Activation orders                              | +
- +
----- +
- +
-=== Account Subscription === +
-All order routing (new, cancel-replace, cancel) requires: +
-  Successful subscription to the account +
-  By default: all user accounts auto-subscribed   +
-  * To disable auto-subscription: use **Logon** (`Tag 372=BB`)   +
-  * If disabled: manually subscribe via **Collateral Inquiry** +
- +
----- +
- +
-=== Message Dictionary === +
-^ Tag  ^ Field Name                ^ Req'd ^ Comments                                                                                         ^ +
-| **Standard Header** | Y          | MsgType = E                                                                                             | +
-| 66   | ListID                   | Y     | Unique identifier for the order list                                                               | +
-| 1385 | ContingencyType           | Y     | 1=OCO, 2=Auto OCO (diff values), 3=Spark, 4=Synthetic, 7=Auto OCO (absolute values), 8=Auto OCO Multiple Exits (diff), 9=Auto OCO Multiple Exits (absolute) | +
-| 394  | BidType                  | N     | 0=Non-Disclosed, 1=Disclosed, 2=None                                                                | +
-| 433  | ListExecInstType          | N     | 1=Immediate (default), 2=Wait for Execution Instructions                                            | +
-| 69   | ListExecInst              | N     | Free text execution instructions                                                                    | +
-| 1028 | ManualOrderIndicator      | N     | Y=Manual, N=Automated                                                                                | +
-| 58   | Text                      | N     | Free text                                                                                           | +
-| 68   | NoTotOrders               | Y     | Number of constituent orders                                                                        | +
-| **Start Repeating Group**        |                                                                                                            | +
-| 11   | ClOrdID                   | Y     | Unique ID for each order component (max 20 chars)                                                   | +
-| 1    | Account                   | Y     | Account code for the order                                                                          | +
-| 54   | Side                      | Y     | 0=None (Flatten), 1=Buy, 2=Sell                                                                     | +
-| 38   | OrderQty                  | Y     | Number of contracts (0 for AutoOCO component or Flatten)                                            | +
-| 48   | SecurityID                | Y     | T4 Market ID                                                                                         | +
-| 55   | Symbol                    | Y     | T4 Contract ID                                                                                       | +
-| 207  | SecurityExchange          | Y     | T4 Exchange ID                                                                                       | +
-| 167  | SecurityType              | N     | FUT=Futures, OPT=Options, STK=Stock, SYN=Synthetic, BIN=Binary Option                               | +
-| 107  | SecurityDesc              | N     | Description of security                                                                             | +
-| 201  | PutOrCall                  | N     | 0=Put, 1=Call                                                                                        | +
-| 202  | StrikePrice                | N     | Option strike price                                                                                 | +
-| 200  | MaturityMonthYear          | N     | Format YYYYMM                                                                                        | +
-| 110  | MinQty                     | N     | Minimum quantity (exchange dependent)                                                               | +
-| 210  | MaxShow                    | N     | Max visible quantity                                                                                 | +
-| 40   | OrdType                    | Y     | 1=Market, 2=Limit, 3=Stop, 4=Stop Limit, J=Market If Touched, F=Flatten, N=Join, H=Hit               | +
-| 44   | Price                      | N     | Price (required for Limit, Stop-Limit, Market-if-Touched)                                            | +
-| 99   | StopPx                     | N     | Stop price (required for Stop/Stop-Limit)                                                            | +
-| 59   | TimeInForce                | Y     | 0=Day, 1=GTC, 3=IOC, 4=FOK                                                                           | +
-| 21   | HandlInst                  | N     | 1=Auto-private (default), 2=Auto-public, 3=Manual                                                    | +
-| 77   | OpenClose                  | N     | O=Open, C=Close                                                                                      | +
-| 204  | CustomerOrFirm             | N     | 0=Customer, 1=Firm                                                                                   | +
-| 10100| TrailingDelta               | N     | Stop trailing amount                                                                                 | +
-| 10101| TriggerPrice                | N     | Trigger price for batch order                                                                        | +
-| 10104| TriggerStop                 | N     | Trigger stop price                                                                                   | +
-| 10105| TriggerStopTrail            | N     | Trigger stop trail                                                                                   | +
-| 10102| ActivationType              | N     | 1=Immediate, 2=At/Above Price, 3=At/Below Price, 4=On Market Mode, 5=At/After Time, 6=Queue          | +
-| 10103| ActivationValue             | N     | Condition value(s), separated by ";"                                                                 | +
-| **End Repeating Group**                                                                                                                      | +
-| **Standard Trailer** | Y          |                                                                                                       | +
- +
- +
-Sample Messages +
- +
-Batch Order for an OCO+
 <code> <code>
->> 2/27/2013 6:17:29 PM   [FIXNEWORDERLIST] 34=5|49=T4Example|56=T4|50=TraderName|52=20130228-00:17:29.985|66=fnl-634975858499851777|1385=1|1=Account1|48=CME_20130300_ESH3|55=ES|207=CME_Eq|167=FUT|433=1|68=2|11=oco-1-634975858499851777|54=1|38=1|40=2|44=149800|59=0|21=2|11=oco-2-634975858499851777|54=1|38=1|40=3|99=149850|59=0|21=2| +8=FIX.4.2|9=300|35=E|49=T4Example|56=T4|50=TraderName|52=20130228-00:17:29.985| 
-[FIXNEWORDERLIST] +66=fnl-634975858499851777|1385=1|433=1|68=2| 
-[MsgSeqNum] 34 = 5 +1=Account1|11=oco-1-634975858499851777|48=CME_20130300_ESH3|55=ES|207=CME_Eq| 
-[SenderCompID] 49 = T4Example +167=FUT|54=1|38=1|40=2|44=149800|59=0|21=2
-[TargetCompID] 56 = T4 +1=Account1|11=oco-2-634975858499851777|48=CME_20130300_ESH3|55=ES|207=CME_Eq| 
-[SenderSubID] 50 = TraderName +167=FUT|54=1|38=1|40=3|99=149850|59=0|21=2|10=123|
-[SendingTime] 52 = 20130228-00:17:29.985 +
-[ListID] 66 = fnl-634975858499851777 +
-[ContingencyType] 1385 = 1 (OCO) +
-[Account] 1 = Account1 +
-[SecurityID] 48 = CME_20130300_ESH3 +
-[Symbol] 55 = ES +
-[SecurityExchange] 207 = CME_Eq +
-[SecurityType] 167 = FUT (FUTURE) +
-[ListExecInstType] 433 = 1 (IMMEDIATE) +
-[TotNoOrders] 68 = 2 +
-[ClOrdID] 11 = oco-1-634975858499851777 +
-[Side] 54 = 1 (BUY) +
-[OrderQty] 38 = 1 +
-[OrdType] 40 = 2 (LIMIT) +
-[Price] 44 = 149800 +
-[TimeInForce] 59 = 0 (DAY) +
-[HandlInst] 21 = 2 (AUTOMATED_EXECUTION_ORDER_PUBLIC_BROKER_INTERVENTION_OK) +
-[ClOrdID] 11 = oco-2-634975858499851777 +
-[Side] 54 = 1 (BUY) +
-[OrderQty] 38 = 1 +
-[OrdType] 40 = 3 (STOP) +
-[StopPx] 99 = 149850 +
-[TimeInForce] 59 = 0 (DAY) +
-[HandlInst] 21 = 2 (AUTOMATED_EXECUTION_ORDER_PUBLIC_BROKER_INTERVENTION_OK) +
- +
- +
-Batch Order for an OCO. Response: Limit Component working +
- +
-<< 2/27/2013 6:17:30 PM  [fixexecutionreport] 34=256|49=T4|56=T4Example|50=T4FIX|52=20130228-00:17:30.016|143=US,IL|1=Account1|11=oco-1-634975858499851777|66=fnl-634975858499851777|17=48103.6421035170_ESH3.6349758585347000006.1.3512E303|150=0|37=3512E303-2379-41A8-A3AC-40CB40D91CFB|39=0|48=CME_20130300_ESH3|55=ES|207=CME_Eq|200=201303|59=0|107=E-mini S&P 500 Mar13|54=1|167=FUT|38=1|40=2|44=149800|60=20130228-00:17:33.470|21=1|204=0|1385=1| +
-[FIXEXECUTIONREPORT] +
-[MsgSeqNum] 34 = 256 +
-[SenderCompID] 49 = T4 +
-[TargetCompID] 56 = T4Example +
-[SenderSubID] 50 = T4FIX +
-[SendingTime] 52 = 20130228-00:17:30.016 +
-[TargetLocationID] 143 = US,IL +
-[Account] 1 = Account1 +
-[ClOrdID] 11 = oco-1-634975858499851777 +
-[ListID] 66 = fnl-634975858499851777 +
-[ExecID] 17 = 48103.6421035170_ESH3.6349758585347000006.1.3512E303 +
-[ExecType] 150 = 0 (NEW) +
-[OrderID] 37 = 3512E303-2379-41A8-A3AC-40CB40D91CFB +
-[OrdStatus] 39 = 0 (NEW) +
-[SecurityID] 48 = CME_20130300_ESH3 +
-[Symbol] 55 = ES +
-[SecurityExchange] 207 = CME_Eq +
-[MaturityMonthYear] 200 = 201303 +
-[TimeInForce] 59 = 0 (DAY) +
-[SecurityDesc] 107 = E-mini S&P 500 Mar13 +
-[Side] 54 = 1 (BUY) +
-[SecurityType] 167 = FUT (FUTURE) +
-[OrderQty] 38 = 1 +
-[OrdType] 40 = 2 (LIMIT) +
-[Price] 44 = 149800 +
-[TransactTime] 60 = 20130228-00:17:33.470 +
-[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION) +
-[CustomerOrFirm] 204 = 0 (CUSTOMER) +
-[ContingencyType] 1385 = 1 (OCO) +
- +
-Batch Order for an OCO. Response: Stop Component working +
- +
-<< 2/27/2013 6:17:30 PM  [fixexecutionreport] 34=258|49=T4|56=T4Example|50=T4FIX|52=20130228-00:17:30.234|143=US,IL|1=T4Example|11=oco-2-634975858499851777|66=fnl-634975858499851777|17=48104.6421035171_ESH3.6349758585347500006.1.43C8EAEF|150=0|37=43C8EAEF-F849-4785-84D9-9EED6EFF6F5F|39=0|48=CME_20130300_ESH3|55=ES|207=CME_Eq|200=201303|59=0|107=E-mini S&P 500 Mar13|54=1|167=FUT|38=1|40=3|99=149850|60=20130228-00:17:33.475|21=1|204=0|1385=1| +
-[FIXEXECUTIONREPORT] +
-[MsgSeqNum] 34 = 258 +
-[SenderCompID] 49 = T4 +
-[TargetCompID] 56 = T4Example +
-[SenderSubID] 50 = T4FIX +
-[SendingTime] 52 = 20130228-00:17:30.234 +
-[TargetLocationID] 143 = US,IL +
-[Account] 1 = Account1 +
-[ClOrdID] 11 = oco-2-634975858499851777 +
-[ListID] 66 = fnl-634975858499851777 +
-[ExecID] 17 = 48104.6421035171_ESH3.6349758585347500006.1.43C8EAEF +
-[ExecType] 150 = 0 (NEW) +
-[OrderID] 37 = 43C8EAEF-F849-4785-84D9-9EED6EFF6F5F +
-[OrdStatus] 39 = 0 (NEW) +
-[SecurityID] 48 = CME_20130300_ESH3 +
-[Symbol] 55 = ES +
-[SecurityExchange] 207 = CME_Eq +
-[MaturityMonthYear] 200 = 201303 +
-[TimeInForce] 59 = 0 (DAY) +
-[SecurityDesc] 107 = E-mini S&P 500 Mar13 +
-[Side] 54 = 1 (BUY) +
-[SecurityType] 167 = FUT (FUTURE) +
-[OrderQty] 38 = 1 +
-[OrdType] 40 = 3 (STOP) +
-[StopPx] 99 = 149850 +
-[TransactTime] 60 = 20130228-00:17:33.475 +
-[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION) +
-[CustomerOrFirm] 204 = 0 (CUSTOMER) +
-[ContingencyType] 1385 = 1 (OCO)+
 </code> </code>
-For a description and samples of other multiple-component order types, please refer to the T4 FIX API Order Routing sidebar. 
- 
-[[developers:legacy_fix_api|T4 FIX API Home]] 
- 
  
 +===== Notes =====
 +  * Each component receives individual Execution Report
 +  * Components linked via ListID (66)
 +  * Account subscription required before submission
 +  * Malformed messages rejected with Session Reject (35=3)
  • developers/fixapi/neworderlist.txt
  • Last modified: 2025/09/12 02:11
  • by chad