As known as New Order Single in FIX
The New Order Single message is used to submit a new order to the exchange for execution.
Order Types Supported
- Limit Order Day - OrdType = Limit (
40=2
), TimeInForce = Day (59=0
) - Limit Order (GTC) - OrdType = Limit (
40=2
), TimeInForce = Good Till Cancel (GTC) (59=1
) - Limit Order (GTD) - OrdType = Limit (
40=2
), TimeInForce = Good Till Date (GTD), (59=6
), ExpireDate = a specific date (e.g.432=20220927
) - Market Order - OrdType = Market (
40=1
) - Immediate or Cancel (IOC) - OrdType = Limit (
40=2
), TimeInForce = Immediate or Cancel (IOC) (59=3
) - Fill or Kill (FOK) - OrdType = Limit (
40=2
), TimeInForce = Fill or Kill(FOK) (59=4
)
Tag | Field Name | Data Type | Req’d | Comments |
---|---|---|---|---|
Standard header | Y | MsgType 35=D | ||
1 | Account | string | Y | The exchange user uuid which should match the one specified in the Logon <A> message Username <553> field. |
21 | HandlInst | int | N | Instructions for order handling on the exchange. Valid value:1 - Automated execution order, private, no intervention. |
11 | ClOrdID | string | Y | Unique identifier of the order as assigned by client. |
38 | OrderQty | float | Y | Quantity to trade. |
44 | Price | float | C | Price per unit of quantity (e.g. per 1 BTC coin). Not required for Market (40=1 ) orders. |
423 | PriceType | int | N | Code to represent the price type. Valid value:2 - Per unit |
40 | OrdType | int | Y | Order type. Valid values:1 - Market2 - Limit |
54 | Side | int | Y | Side of order. Valid values:1 - Buy2 - Sell |
55 | Symbol | string | Y | Currency-pair. |
59 | TimeInForce | int | N | Specifies how long the order remains in effect before its expiry . Valid values:0 - Day1 - Good Till Cancel (GTC)3 - Immediate or Cancel (IOC)4 - Fill or Kill (FOK)6 - Good Till Date (GTD)NOTES: - Exchange will convert to Day automatically if invalid value detected. For market orders, TimeInForce will be ignored. - A Day order will expire after 23:59:59 UTC of the same day it was posted on. |
60 | TransactTime | timestamp | Y | Time of execution/order creation in UTC i.e. yyyyMMdd-hh:mm:ss:xxx |
126 | ExpireTime | timestamp | N | The time of order expiration (UTC). Required if TimeInForce is GTD (59=6 ) and ExpireDate <432> is not present in the message. The order will expire on ExpireTime of the same day the order is entered. |
432 | ExpireDate | date | C | The date of order expiration (UTC) in YYYYMMDD format. Required if TimeInForce is GTD (59=6 ) and ExpireTime <126> is not present in the message. When specified, the order will expire after 23:59:59 UTC on ExpireDate . |
110 | MinQty | float | N | Minimum quantity of the order to be executed. |
111 | MaxFloor | float | N | Maximum quantity within the order to be shown on the exchange at any given time. |
453 | NoPartyIDs | int | N | A repeating group (↺) which should contain unique combinations of below tags: PartyID <448> PartyIDSource <447> PartyRole <452> |
↺ 448 | PartyID | string | C | Party identifier/code. It can be an Exchange firm name or user unique identifier that is the same as Tag <1> . e.g. XXXX_GROUP. |
↺ 447 | PartyIDSource | string | N | Identifies class or source of PartyID <448> Valid value:D - Proprietary/Custom code |
↺ 452 | PartyRole | int | N | Identifies the type of PartyID <448> .Valid values: 1 - Executing Firm12 - Executing Trader |
Standard trailer | Y |