New Order - Single (MsgType = D, FIXML = Order)

The new order (D) message type is used by institutions wishing to electronically submit securities and forex orders to a broker for execution.

The New Order (D) message type may also be used by institutions or retail intermediaries wishing to electronically submit Collective Investment Vehicle (CIV) orders to a broker or fund manager for execution.


Orders can be submitted with special handling instructions and execution instructions. Handling instructions refer to how the broker should handle the order on its trading floor (see HandlInst (21) field). Execution instructions contain explicit directions as to how the order should be executed (see ExecInst (18) field).

New Order (D) messages received with the PossResend (97) flag set in the header should be validated by ClOrdID (11) . Implementations should also consider checking order parameters (side, symbol, quantity, etc.) to determine if the order had been previously submitted. PossResends previously received should be acknowledged back to the client via an Execution - Status (8) message. PossResends not previously received should be processed as a new order and acknowledged via an Execution - New (8) message.

The value specified in the TransactTime (60) field should allow the receiver of the order to apply business rules to determine if the order is potentially "stale" (e.g. in the event that there have been communication problems).To support forex accommodation trades, two fields, ForexReq (121) and SettlCurrency (120) , are included in the message. To request a broker to execute a forex trade in conjunction with the securities trade, the institution would set the ForexReq (121) = Y and SettlCurrency (120) = "intended settlement currency". The broker would then execute a forex trade from the execution currency to the settlement currency and report the results via the execution message in the SettlCurrAmt (119) and SettlCurrency (120) fields.

The order message can also be used to request a straight forex trade. Conventions for identifying a forex transaction are as follows:

Orders involving or requiring Pre-Trade Allocation consist of the following steps:

To "take" an Indication of Interest (6) (or Quote (S) ) from an ECN or exchange and not display the order on the book, the New Order (D) message should contain the TimeInForce (59) field with ImmediateOrCancel and an OrdType (40) field with Previously Indicated ( or Previously Quoted).

The presence of DiscretionInst (388) on an order indicates that the trader wishes to display one price but will accept trades at another price. For example a sell order with OrdType (40) = Limit, Price (44) =50.00, DiscretionInst (388) = Related to displayed price and DiscretionOffset (389) = -0.25 means that the order should be displayed as an offer for 50.00, but will match any bid >= 49.75. Discretionary pricing can also be used when pegging an order - for example to indicate that a buy order is to be displayed as pegged to the bid minus 0.25, but can be matched by anything <= the offer, set OrdType (40) =Pegged, ExecInst (18) = Primary Peg, PegDifference (211) = -0.25, DiscretionInst (388) = Related to market price and DiscretionOffset (389) = 0.

See "Order State Change Matrices"

Tag Field Name FIXML Req'd Comments
<Standard Message Header> Y MsgType = D
11 ClOrdID ClOrdID Y Unique identifier of the order as assigned by institution or by the intermediary (CIV term, not a hub/service bureau) with closest association with the investor.
526 SecondaryClOrdID SecondaryClOrdID N
583 ClOrdLinkID ClOrdLinkID N
<Parties> N
229 TradeOriginationDate TradeOriginationDate N
1 Account Account N
581 AccountType AccountType N Type of account associated with the order (Origin)
589 DayBookingInst DayBookingInst N
590 BookingUnit BookingUnit N
591 PreallocMethod PreallocMethod N
78 NoAllocs NoAllocs N Number of repeating groups for pre-trade allocation
=> 79 AllocAccount AllocAccount C Required if NoAllocs (78) > 0. Must be first field in repeating group.
=> 467 IndividualAllocID IndividualAllocID N
=> <Nested Parties> N Used for NestedPartyRole (538) =Clearing Firm
=> 80 AllocQty AllocQty N
63 SettlmntTyp Settlement N
64 FutSettDate FutSettDate C Takes precedence over SettlmntTyp (63) value and conditionally required/omitted for specific SettlmntTyp (63) values.
544 CashMargin CashMargin N
635 ClearingFeeIndicator ClearingFeeIndicator N
21 HandlInst HandInst Y
18 ExecInst ExecInst N Can contain multiple instructions, space delimited. If OrdType (40) =P, exactly one of the following values (ExecInst = L, R, M, P, O, T, or W) must be specified.
110 MinQty MinQty N
111 MaxFloor MaxFloor N
100 ExDestination ExDestination N
386 NoTradingSessions NoTradingSessions N Specifies the number of repeating TradingSessionIDs
=> 336 TradingSessionID TradingSessionID C Required if NoTradingSessions (386) is > 0.
=> 625 TradingSessionSubID TradingSessionSubID N
81 ProcessCode ProcessCode N Used to identify soft trades at order entry.
<Instrument> Y
140 PrevClosePx PrevClosePx N Useful for verifying security identification
54 Side Side Y
114 LocateReqd LocateReqd C Required for short sell orders
60 TransactTime TransactTime Y Time this order request was initiated/released by the trader, trading system, or intermediary.
<Stipulations> N
465 QuantityType QuantityType N
<Order Qty Data> Y
40 OrdType OrdType Y
423 PriceType PriceType N
44 Price Price C Required for limit OrdTypes. For F/X orders, should be the "all-in" rate (spot rate adjusted for forward points). Can be used to specify a limit price for a pegged order, previously indicated, etc.
99 StopPx StopPx C Required for OrdType (40) = "Stop" or OrdType = "Stop limit".
<Spread Or Benchmark Curve Data> N
<Yield Data> N
15 Currency Currency N
376 ComplianceID ComplianceID N
377 SolicitedFlag SolicitedFlag N
23 IOIid IOI_ID C Required for Previously Indicated Orders ( OrdType (40) =E)
117 QuoteID QuoteID C Required for Previously Quoted Orders ( OrdType (40) =D)
59 TimeInForce OrderDuration N Absence of this field indicates Day order
168 EffectiveTime EffectiveTime N Can specify the time at which the order should be considered valid
432 ExpireDate ExpireDate C Conditionally required if TimeInForce (59) = GTD and ExpireTime (126) is not specified.
126 ExpireTime ExpireTime C Conditionally required if TimeInForce (59) = GTD and ExpireDate (432) is not specified.
427 GTBookingInst GTBookingInst N States whether executions are booked out or accumulated on a partially filled GT order.
<Commission Data> N
528 OrderCapacity OrderCapacity N
529 OrderRestrictions OrderRestrictions N
582 CustOrderCapacity CustOrderCapacity N
47 Rule80A Rule80A N (deprecated)
121 ForexReq ForexReq N Indicates that broker is requested to execute a Forex accommodation trade in conjunction with the security trade.
120 SettlCurrency SettlCurrency C Required if ForexReq (121) = Y.
58 Text Text N
354 EncodedTextLen EncodedTextLen C Must be set if EncodedText (355) field is specified and must immediately precede it.
355 EncodedText EncodedText C Encoded (non-ASCII characters) representation of the Text (58) field in the encoded format specified via the MessageEncoding (347) field.
193 FutSettDate2 FutSettDate2 N Can be used with OrdType (40) = "Forex - Swap" to specify the "value date" for the future portion of a F/X swap.
192 OrderQty2 OrderQty2 N Can be used with OrdType (40) = "Forex - Swap" to specify the order quantity for the future portion of a F/X swap.
640 Price2 Price2 N Can be used with OrdType (40) = "Forex - Swap" to specify the price for the future portion of a F/X swap which is also a limit order. For F/X orders, should be the "all-in" rate (spot rate adjusted for forward points).
77 PositionEffect PositionEffect N For use in derivatives omnibus accounting
203 CoveredOrUncovered CoveredOrUncovered N For use with derivatives, such as options
210 MaxShow MaxShow N
211 PegDifference PegDifference N Amount (signed) added to the price of the peg
388 DiscretionInst DiscretionInst C Code to identify the price a DiscretionOffset (389) is related to and should be mathematically added to. Required if DiscretionOffset (389) is specified.
389 DiscretionOffset DiscretionOffset N Amount (signed) added to the "related to" price specified via DiscretionInst (388) .
480 CancellationRights CancellationRights N For CIV - Optional
481 MoneyLaunderingStatus MoneyLaunderingStatus N For CIV - Optional
513 RegistID RegistID N Reference to Registration Instructions (o) message for this Order.
494 Designation Designation N Supplementary registration information for this Order
158 AccruedInterestRate AccruedInterestRate N Can be specified on the order for Fixed Income Municipals
159 AccruedInterestAmt AccruedInterestAmt N Can be specified on the order for Fixed Income Municipals
118 NetMoney NetMoney N Can be specified on the order for Fixed Income Municipals
<Standard Message Trailer> Y