developers:fixapi:newordersingle

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:newordersingle [2025/09/12 01:34] – removed - external edit (Unknown date) 127.0.0.1developers:fixapi:newordersingle [2025/09/12 01:34] (current) – ↷ Page moved and renamed from developers:fixapi.newordersingle to developers:fixapi:newordersingle chad
Line 1: Line 1:
 +====== NEW ORDER SINGLE [35=D] ======
  
 +The New Order Single message submits orders to exchanges for execution. This message supports all instrument types including futures, options, spreads, and multileg strategies.
 +
 +===== Prerequisites =====
 +  * Account must be subscribed before order submission (automatic by default)
 +  * Unique ClOrdID required for each order (12-20 characters)
 +  * Security identification tags must match instrument type
 +
 +===== Supported Order Types =====
 +
 +^ Order Type ^ OrdType (Tag 40) ^ Required Price Fields ^
 +| Market | 1 | None |
 +| Limit | 2 | Price (44) |
 +| Stop | 3 | StopPx (99) |
 +| Stop Limit | 4 | Price (44), StopPx (99) |
 +| Market If Touched | J | Price (44) |
 +| Flatten | F | None |
 +| Join | N | None |
 +| Hit | H | None |
 +
 +===== Message Specification =====
 +
 +**Message Direction:** Client → T4
 +
 +^ Tag ^ Field Name ^ Type ^ Req'd ^ Description ^
 +| | **Message Header** | | Y | MsgType = D |
 +| 1 | Account | String | Y | Account code for order submission |
 +| 11 | ClOrdID | String | Y | Unique client order ID (12-20 chars) |
 +| 48 | SecurityID | String | Y | T4 Market ID |
 +| 55 | Symbol | String | Y | T4 Contract ID |
 +| 207 | SecurityExchange | String | Y | T4 Exchange ID |
 +| 167 | SecurityType | String | Y | FUT, OPT, STK, SYN, BIN |
 +| 201 | PutOrCall | Int | C | Options only. 0=Put, 1=Call |
 +| 202 | StrikePrice | Float | C | Options only. Strike price |
 +| 54 | Side | Char | Y | 0=None, 1=Buy, 2=Sell |
 +| 38 | OrderQty | Int | Y | Total contracts (0 for Flatten) |
 +| 40 | OrdType | Char | Y | See Order Types table |
 +| 44 | Price | Float | C | Required for Limit, Stop Limit, MIT |
 +| 99 | StopPx | Float | C | Required for Stop, Stop Limit |
 +| 59 | TimeInForce | Char | Y | 0=Day, 1=GTC, 3=IOC, 4=FOK |
 +| 60 | TransactTime | UTCTimestamp | Y | Order creation time |
 +| 21 | HandlInst | Char | Y | 1=Automated private, 2=Automated public, 3=Manual |
 +| 210 | MaxShow | Int | O | Iceberg visible quantity |
 +| 77 | OpenClose | Char | O | O=Open, C=Close |
 +| 200 | MaturityMonthYear | String | O | Format: YYYYMM |
 +| 204 | CustomerOrFirm | Int | O | 0=Customer, 1=Firm |
 +| 58 | Text | String | O | Free form text |
 +| 107 | SecurityDesc | String | O | Security description |
 +| 1028 | ManualOrderIndicator | Boolean | O | Y=Manual, N=Automated |
 +| 10100 | TrailingDelta | Float | O | Trailing stop amount |
 +| 10102 | ActivationType | Int | O | 1=Immediate, 2=At/Above, 3=At/Below, 4=Market Mode, 5=Time, 6=Queue |
 +| 10103 | ActivationValue | String | O | Activation conditions (colon-delimited) |
 +| | **Message Trailer** | | Y | |
 +
 +===== Sample Message =====
 +
 +**Note:** Pipe (|) used for readability. Actual FIX messages use SOH (ASCII 01) delimiter.
 +
 +**Limit Order Request:**
 +<code>
 +8=FIX.4.2|9=210|35=D|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|
 +167=FUT|54=1|38=1|40=2|44=141400|59=0|21=1|60=20121211-20:16:17.874|204=0|10=123|
 +</code>
 +
 +**Successful Response:**
 +<code>
 +8=FIX.4.2|9=380|35=8|49=T4|56=T4Example|50=T4FIX|52=20121211-20:16:17.952|
 +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|10=234|
 +</code>
 +
 +===== Notes =====
 +  * Malformed messages rejected with Session Reject (35=3)
 +  * Order errors returned via Execution Report (35=8, ExecType=8)
 +  * AutoSubscription can be disabled via Logon (Tag 372=BB)
 +  * For batch orders (OCO, Auto OCO, Spark), use New Order List message