Message to indicate some change of order status.
Additional Fields
Name | Type | Description | Available |
---|---|---|---|
AdviceNote | String | Field for adviser to include relevant information. | When the order is an Advisory order. But only when used by advisor. |
AlgoOrderTradingStrategy | String | Name of the algo order strategy. | When OrderType is Algorithmic and some limit orders. |
AllocationKeyId | String | AllocationKey if order was placed as block trade on an IB account. | When it is a block order. |
Amount | Decimal | Order amount in number of instruments (alternative is the CashAmount). | When the AmountType is the number of instruments. |
ApprovalState | ApprovalState | State of 'Advised' orders. Only relevant for a very small subset of partners.
| When order placed as an "advisory order" - only available for very few partners and only through a Saxo platform. |
AssetType | AssetType | AssetType of instrument traded. | Always. |
AveragePrice | Decimal | The average price of the FilledAmount. | As soon as a (partial) fill has taken place. AveragePrice might be different than ExecutionPrice for single fills, due to accrued interest for Bonds. |
BuySell | BuySell | Identifies the side of the transaction. Buy: Buy the security. Sell: Sell the security. | Always. |
CashAmount | Decimal | Order amount in cash (alternative is the Amount). | When the AmountType is cash. |
ClientNote | String | The specific text instructions for the Trading Desk to better understand IAM users intentions for staging the order. |
|
CorrelationKey | String | This unique id relates order and position events. | Always. |
DecisionMakerId | String | The UserId fo the user, who is the decision maker on an "Advised order". The field is set when the order is placed. | When the order is an Advisory order, and when set during order placement.. |
Direction | Direction | Direction of the structured product (turbo, warrant). Depending on the type:
| AssetType in <MiniFuture, WarrantOpenEndKnockOut, WarrantKnockOut, Warrant>. |
DisplayAndFormat.BarrierDecimals | Int | Number of display decimals for barrier price. |
|
DisplayAndFormat.Currency | String | Currency of the instrument. | When field group "DisplayAndFormat" is requested. |
DisplayAndFormat.Decimals | Int | The resolution in which e.g. a price must be displayed. Positive numbers are represents digits, and negative numbers represent fractions using this formula: 1/(2^x). | When field group "DisplayAndFormat" is requested. |
DisplayAndFormat.Description | String | Description of instrument (DAX Index - Nov 2023), in English. | When field group "DisplayAndFormat" is requested. |
DisplayAndFormat.DisplayHint | DisplayHintType | Hint to the client application about how it should display the instrument. |
|
DisplayAndFormat.Format | PriceDisplayFormatType | Price formatting information. | When field group "DisplayAndFormat" is requested. |
DisplayAndFormat.OrderDecimals | Int | The number of decimals limit price for orders should be formatted with. | When field group "DisplayAndFormat" is requested. |
DisplayAndFormat.StrikeDecimals | Int | The decimals value to use when formatting strike price. |
|
DisplayAndFormat.Symbol | String | A combination of letters used to uniquely identify a traded instrument. e.g. ALFEN:xams. | When field group "DisplayAndFormat" is requested. |
Duration.DurationType | String | Order duration type (DayOrder, GoodTillCancel, GoodTillDate). | Always. |
Duration.ExpirationDateTime | DateTime | Specifies when the order expires. | When DurationType in <GoodTillDate>. |
ExchangeInfo.ExchangeId | String | Refers to the ExchangeId. | When field group "ExchangeInfo" is requested. |
ExecutionPrice | Decimal | Execution price of this particular fill (if multiple fills) | As soon as a (partial) fill has taken place. |
ExpiryDate | Date | Date when the instrument/contract expires. | When AssetType in <StockOption, StockIndexOption, ContractFutures, Bond, Warrant, MiniFuture*>. |
ExternalReference | String | Optional reference supplied when placing the order. | When supplied when placing the order. |
FillAmount | Decimal | The amount of the last fill. | As soon as a (partial) fill has taken place. |
FilledAmount | Decimal | Amount filled in total. | As soon as a (partial) fill has taken place. |
FinancingLevel | Decimal | Part which is paid for by the buyer. | When AssetType = MiniFuture. |
HandledBy | String | The UserId, if the order wasn't placed by a system. | When the order is not placed by a system. |
IsSecondCurrencyOrder | Boolean | Indicates if FX is traded in opposite currency. | When AssetType = FxSpot. |
MultiLegOrderDetails.Amount | Decimal | Amount for the multi-leg order. Each leg may have independent amounts. |
|
MultiLegOrderDetails.BuySell | BuySell | Buy/sell direction for the multi-leg order. Each leg may point in independent directions. |
|
MultiLegOrderDetails.LegCount | Int | Number of orders that make up the multi-leg order. |
|
MultiLegOrderDetails.Price | Decimal | Overall limit price for the multi-leg order. |
|
MultilegOrderId | String | This indicates this order event is related to a leg of multileg (option strategy) order. Same for all legs. |
|
OptionData.ExpiryDate | Date | Date when the instrument/contract expires. | When AssetType in <StockOption, StockIndexOption, ContractFutures, Bond, Warrant, MiniFuture*>. |
OptionData.LowerBarrier | Decimal | Knockout level. | When AssetType = WarrantOpenEndKnockOut. |
OptionData.PutCall | PutCall | The Put/Call value of the option. | When AssetType in <StockOption, StockIndexOption>. |
OptionData.Strike | Decimal | Strike price. | When AssetType in <StockOption, StockIndexOption, Warrant>. |
OptionData.ToOpenClose | ToOpen, ToClose | Indicates is option is written, or not. | When AssetType in <StockOption, StockIndexOption>. |
OptionData.UpperBarrier | Decimal | For options with two barriers, this is the high barrier. | Spread based derivatives. |
OptionData.UpperStrike | Decimal | Upper strike price for spread based derivatives. | Spread based derivatives. |
OrderId | String | Unique Id of the order. | Always. |
OrderRelation | OpenOrderRelation | Relation to other open orders.
| Always. |
OrderType | OpenOrderType | The OrderType | Always. |
PositionId | String | Id of position created, if order is (partially) filled. | As soon as (partial) fill has taken place. |
Price | Decimal | Order price. |
|
RelatedOrderIds | String [] | Id's of one or more related open orders. | As long as active orders are linked. |
RelatedPositionId | String | Id of position to which this order is related. | When the order relates to a position. |
SleepingOrderCondition.AssetType | AssetType | Asset type of trigger instrument. | SubStatus = WaitCondition. |
SleepingOrderCondition.BreakoutTriggerDownPrice | Decimal | Lower boundary of the trigger price. |
|
SleepingOrderCondition.BreakoutTriggerUpPrice | Decimal | Upper boundary of the trigger price. |
|
SleepingOrderCondition.BuySell | BuySell | Identifies the direction of the trigger. In case of TriggerStop:
In case of TriggerLimit:
In case of TriggerBreakout:
|
|
SleepingOrderCondition.Duration.DurationType | DurationType | Order duration of the trigger. | SubStatus = WaitCondition. |
SleepingOrderCondition.Duration.ExpirationDateTime | DateTime | Specifies then the trigger expires. |
|
SleepingOrderCondition.OrderType | String | The trigger type (TriggerStop, TriggerBreakout, TriggerLimit). | SubStatus = WaitCondition. |
SleepingOrderCondition.Status | String | The trigger status:
| SubStatus = WaitCondition. |
SleepingOrderCondition.Symbol | String | Symbol of the trigger - A combination of letters used to uniquely identify a traded instrument. e.g. ODAX/X13C8950:xeur. | SubStatus = WaitCondition. |
SleepingOrderCondition.TrailingStopDistanceToMarket | Decimal | Trailing distance for the stop trigger. |
|
SleepingOrderCondition.TriggerPriceType | PriceType | Identifies the price type of the trigger. | SubStatus = WaitCondition. |
SleepingOrderCondition.Uic | Int | Uic of trigger instrument. | SubStatus = WaitCondition. |
Status | OrderStatus | OrderStatusType. Currently we are returning the following status values:
| Always. |
StopLimitPrice | Decimal | Secondary price level for StopLimit orders. | OrderType = StopLimit. |
StopLossLevel | Decimal | Price where the turbo expires. | AssetType = MiniFuture. |
SubStatus | SubStatus | One of:
| Always. |
SwitchInstrumentUic | Int | When set, instructs the order is to switch (transfer) the value of a matching open position into the specified "switch" instrument (UIC). |
|
Symbol | String | Symbol - A combination of letters used to uniquely identify a traded instrument. e.g. ALFEN:xams. | Always. |
TrailingStopDistanceToMarket | Decimal | Distance to market for a trailing stop order. |
|
TrailingStopStep | Decimal | Step size for trailing stop order. | When OrderType = TrailingStop. |
Uic | Int | Identifies the instrument, together with the AssetType. | Always. |
ValueDate | Date | Value date of last fill. | As soon as a (partial) fill has taken place. |
* Not applicable for all MiniFutures.
Sample Message
An example of an order event message:
{ "ReferenceId": "U_939", "Timestamp": "2018-07-11T13:39:30.239056Z", "Data": [ { "AccountId": "1234/567EUR", "AccountKey": "sdfsdf=", "ActivityTime": "2022-08-18T04:07:13.433333Z", "ActivityType": "Orders", "Amount": 1600.0, "AssetType": "Stock", "AveragePrice": 12.25677638, "BuySell": "Buy", "ClientId": "987", "ClientKey": "sdfsdf==", "CorrelationKey": "0e133007-be16-4f13-bcfd-b2da40448a26", "DisplayAndFormat": { "Currency": "AUD", "Decimals": 3, "Description": "Allkem Limited", "OrderDecimals": 3, "Symbol": "AKE:xasx" }, "Duration": { "DurationType": "DayOrder" }, "ExecutionPrice": 12.26, "FillAmount": 700.0, "FilledAmount": 1033.0, "HandledBy": "654", "IsSecondCurrencyOrder": false, "OptionData": {}, "OrderId": "5035547790", "OrderRelation": "StandAlone", "OrderType": "Limit", "PositionId": "6211220524", "Price": 12.26, "SequenceId": "961930807", "Status": "Fill", "SubStatus": "Confirmed", "Symbol": "AKE:xasx", "Uic": 26233136, "ValueDate": "2022-08-22" } ] }
Order Status and Sub Status
Order Status are used to indicate the intended new status of the order.
Order Status
The type of order event is provided in the Status field. The following values are possible:
Order Status | Description |
---|---|
Cancelled | Order cancel initiated by client or dealer. |
Changed | Order change. |
DoneForDay | Order is done for day in external OMS. |
Expired | Order has expired. |
Fill | Order fill |
FinalFill | Order fill - final fill of an open order. |
Placed | New order placement. |
Parked | |
TrailingStopOrderMove | New trailing step. |
Order SubStatus
In the vast majority of cases an order event will be accepted by the underlying systems in which the Sub status of the event will be set to "Confirmed". If an order event is not accepted the sub status will be "Rejected", and you can effectively disregard the event, as the clients order will either not have been placed, or it will remain unchanged.
Order SubStatus | Description |
---|---|
Confirmed | The order status provided in the Status field has been confirmed. |
Rejected | The attempt to change the order status to the value in the Status field was rejected. |
WaitCondition | The order waits for a trigger, before it is sent to the market. |
Multileg Orders
A multileg order is a type of order where we can simultaneously buy and sell multiple contract options with different strike price, expiry date and each option becomes leg of the multi leg order.
This type of order is primarily used in multi-legged option strategies such as a straddle, strangle, butterfly etc. ENS does not provide a separate activity entry for the multileg orders, but if an individual order is part of a multileg order, the multileg order id is available as a field on the individual order.