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
) - Post-Only Order - OrdType = Limit (
40=2
), TimeInForce = "Day" or "Good Till Cancel (GTC)" (59=0
or59=1
) , ExecInst = PostOnly (18=6
)
Tag | Field Name | Data Type | Req’d | Comments |
---|---|---|---|---|
Standard header | Y | MsgType 35=D | ||
1 | Account | string | Y | The exchange user uuid. For standard account, this should match the one specified in the Logon <A> message Username <553> field.For advanced account, OSL would assign a different value. Please check with your technical onboarding team for details. |
21 | HandlInst | int | N | Instructions for order handling on the exchange. Valid value:1 - Automated execution order, private, no intervention. |
18 | ExecInst | string | N | The execution instruction flags for the order. Multiple values should be space delimited. Valid value:6 - PostOnly (PostOnly only supports limit DAY or GTC order, otherwise orders will be rejected) |
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) in YYYYMMDD-HH:MM:SS.xxx format. Required if TimeInForce is GTD (59=6 ) and ExpireDate <432> is not present in the message. The order will expire on ExpireTime . |
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> By default, when no PartyID group is specified in the order entry message, OSL will include two groups of PartyID data in the execution report. These groups consist of PartyRole <452> with the following values:1 - Executing Firm12 - Executing TraderIn addition to these default groups, users have the option to include additional PartyID group(s) in the order entry. The value provided in the additional group(s) will be echoed in the Execution Report without any alteration. |
↺ 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> .Default values: 1 - Executing Firm12 - Executing Trader |
Standard trailer | Y |