New Order Single
Submitting New Orders
The New Order Single message (MsgType=D) is used by the T4 FIX API to electronically submit orders to an exchange for execution. This message is used for all strategy types including outright futures, futures options, spreads, and multileg strategies.
The instrument for which the order is submitted 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
Lists of tradeable securities can be requested with the Security Definition Request message (MsgType=c).
All new orders must be uniquely identified with a verbose Client Order Id (Tag 11) between 12 and 20 characters. The subscribed account (Tag 1) for which the order is submitted must also be provided.
Malformed order messages (including missing required tags, empty tags, invalid tag value range, etc.) will be rejected with a FIX Session Reject message. Order composition errors are identified with rejection Execution Reports (Tag 150=8).
Order Types
The CTS T4 FIX API supports the most common futures order types:
- Market
- Limit
- Stop
- Stop Limit
- Trailing Stop
Special Order Types
Non-standard Special Order types supported:
- Flatten
- Hit
- Join
- Activation on Market Mode
- Activation on Time
- Activation on Price
- Queue
- Market If Touched
Order Types with Multiple Components
Order types that involve multiple (batch) components are commonly controlled by a Trigger order. Supported batch order types:
- OCO
- Auto OCO
- Spark
- Auto OCOM (Multiple Exits)
Note: Flatten, Join, and Hit are requested with OrdType (Tag 40).
Activation/Queue Orders are triggered with Activation Type (Tag 10102) and require Activation Value (Tag 10103).
OCO, Auto OCO, Spark, and Auto OCOM orders are entered with the New Order List message.
Order Definition Fields
Common selectable fields for the New Order Single message:
Field Name | Tag Number |
---|---|
Order Quantity | 38 |
Side | 54 |
Order Type | 40 |
Price | 44 |
Stop Price | 99 |
Put Or Call | 201 |
Strike Price | 202 |
Time In Force | 59 |
Other Fields
Special Order Types also cover:
Field Name | Tag Number | 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 orders, cancel-replaces, cancels) must be preceded by a successful subscription to the account.
* By default, all user accounts are automatically subscribed. * Account subscription requires an account data load for order routing. * Collateral Reports for Account Details indicate that the referenced accounts have been loaded. * To disable automatic subscription, refer to the Logon message (Tag 372=BB). * If AutoSubscription is off, account subscriptions must be explicitly requested with the Collateral Inquiry message.
Message Dictionary
Tag | Field Name | Req'd | Comments |
---|---|---|---|
Standard Header | Y | MsgType = D | |
1 | Account | Y | Account (code) for which the order is submitted |
11 | ClOrdID | Y | Client-Side unique identifier. Max characters: 20 |
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 | Total contracts. Use “0” for Flatten orders |
210 | MaxShow | N | Max visible quantity for Icebergs |
40 | OrdType | Y | Order Type. 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, Market-if-Touched. Auto OCO: relative to Trigger Price (Tag 10101) |
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 | Y | 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 |
10102 | ActivationType | N | 1=Immediate, 2=At/Above Trade, 3=At/Below Trade, 4=On Market Mode, 5=At/After Time, 6=Queue |
10103 | ActivationValue | N | Conditions associated with ActivationType. Multiple values delimited by “:” |
Standard Trailer | Y |
Sample Messages
Simple Outright Order
>> 12/11/2012 2:16:17 PM [FIXNEWORDER] 34=52|49=T4Example|56=T4|50=TraderName|52=20121211-20:16:17.874|1=Account1|11=fn-634908321778744001|48=CME_20121200_ESZ2|55=ES|207=CME_Eq|54=1|38=1|40=2|44=141400|59=0|167=FUT|21=1|60=20121211-20:16:17.874|204=0| [MsgSeqNum] 34 = 52 [SenderCompID] 49 = T4Example [TargetCompID] 56 = T4 [SenderSubID] 50 = TraderName [SendingTime] 52 = 20121211-20:16:17.874 [Account] 1 = Account1 [ClOrdID] 11 = fn-634908321778744001 [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 = 141400 [TimeInForce] 59 = 0 (DAY) [SecurityType] 167 = FUT (FUTURE) [HandlInst] 21 = 1 (AUTOMATED_EXECUTION_ORDER_PRIVATE_NO_BROKER_INTERVENTION) [TransactTime] 60 = 20121211-20:16:17.874 [CustomerOrFirm] 204 = 0 (CUSTOMER)
Simple Outright Order - Successful Response
<< 12/11/2012 2:16:17 PM [fixexecutionreport] 34=218|49=T4|56=T4Example|50=T4FIX|52=20121211-20:16:17.952|143=US,IL|1=Account1|11=fn-634908321778744001|17=48146.71332401407_ESZ2.6349083219449100006.1.BD1E7093|150=0|37=BD1E7093-EF2C-439D-AEBA-0092A03F17ED|39=0|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=141400|60=20121211-20:16:34.491| [MsgSeqNum] 34 = 218 [SenderCompID] 49 = T4 [TargetCompID] 56 = T4Example [SenderSubID] 50 = T4FIX [SendingTime] 52 = 20121211-20:16:17.952 [TargetLocationID] 143 = US,IL [Account] 1 = Account1 [ClOrdID] 11 = fn-634908321778744001 [ExecID] 17 = 48146.71332401407_ESZ2.6349083219449100006.1.BD1E7093 [ExecType] 150 = 0 (NEW) [OrderID] 37 = BD1E7093-EF2C-439D-AEBA-0092A03F17ED [OrdStatus] 39 = 0 (NEW) [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 = 141400 [TransactTime] 60 = 20121211-20:16:34.491
For a description and samples of other order types, please refer to the T4 FIX API Order Routing sidebar.