This is an old revision of the document!
New Order List
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 (batch) orders to an exchange. Batch orders:
- Identified by Contingency Type (`Tag 1385`)
- Contain only constituent orders
- Maximum of 6 components
Applicable to:
- Outright futures
- Futures options
- Spreads
- Multi-leg strategies
Instruments are identified using:
- `SecurityID` (`Tag 48`)
- `Symbol` (`Tag 55`)
- `SecurityExchange` (`Tag 207`)
- `SecurityType` (`Tag 167`)
Lists of tradeable securities can be obtained via Security Definition Request (`MsgType=c`).
Identifiers
* ListID (`Tag 66`) – Unique ID for the entire order list * ClOrdID (`Tag 11`) – Unique ID (12–20 chars) for each constituent order * Account (`Tag 1`) – Subscribed account for order submission
Malformed messages (missing/empty/invalid tags) are rejected with:
- FIX Session Reject
- Or Execution Report (`Tag 150=8`)
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
>> 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| [FIXNEWORDERLIST] [MsgSeqNum] 34 = 5 [SenderCompID] 49 = T4Example [TargetCompID] 56 = T4 [SenderSubID] 50 = TraderName [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)
For a description and samples of other multiple-component order types, please refer to the T4 FIX API Order Routing sidebar.