OrderStatusSet
This message changes the status of an existing Order or set of Orders in the engine.
- Section: Transactions
- Related Message: OrderStatusSetReply
Status is the status to which the specified Orders should be set or changed. Examples include Cancelling, Holding and Releasing orders.
The Orders that will have their status changed depends on the role and permissions of the user. For example, a Firm Supervisor could change the status for Orders for other users or users within their own firm and an Exchange Supervisor could change the status for Orders for any users or firms. This means that if a user has permission to cancel some, but not all orders, only some of the orders in a product group (such as market) will be cancelled.
The available options for specifying the orders are:
Id- the single Order will have its status changed. The other fields in the message are ignored.Blotter- All orders in blotter will have their status changed.Account- All orders for the account will have their status changed. This can be paired with a product grouping and/or firm/user as below.MarketOrders for the specified market have their status changedInstrumentGroupOrders for the specified instrumentgroup have their status changedInstrumentOrders for the specified instrument have their status changedInstrumentMarketOrders for the specified instrumentmarket have their status changedFirmorUser- All orders from the specified firm/user (and product group and account, if specified), will have their status changed. Either none or only one ofFirmorUsercan be specified (none means all orders to which the user has access).More specifically, an order from a specified Firm or User will have it's status changed if:
{
Account is blank or the Account matches the account code for each Order
AND (
Market, InstrumentGroup, Instrument, InstrumentMarket are all 0
OR
Any of Market, InstrumentGroup, Instrument, InstrumentMarket match the
value in the Order. Note - only one product grouping can be specified.
)
}
If nothing is specified, all Orders will have their status changed. The Orders changed are only those of which the User has permission to change the status.
Metadata
- Message Type: TransactionMessage
- Message Number: 1003
Inherited fields
| Name | Type | Size (bytes) | Description |
|---|---|---|---|
| MessageType | Integer (unsigned) | 2 | The unique identifier of this message. |
| ClientId | Integer (unsigned) | 4 | The unique identifier of a session with the server, returned in a successful LoginReply message. |
| RequestId | Integer (unsigned) | 4 | Within each session each message must be uniquely identified by this field. It must be monotonically increasing for the duration of the session. |
Fields
| Name | Type | Size (bytes) | Description | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Order | Foreign key to Order | 8 | If the status is to be changed for a specific Order, this is the Id of the Order for which the status is to be set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ClOrdID | String | 60 | If the status of a specific FIX Order is to be changed, this is the Client OrderId of the Order. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| OrigClOrdID | String | 60 | If the status of a specific FIX Order is to be changed, this is the Client OrderId of the Order. [Currently this is the same as ClOrdID, one of these fields should be made redundant and removed]. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| OriginalAccount | Foreign key to Account | 8 | if not NULL, the Account of the order being changed must match this. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Firm | Foreign key to Firm | 8 | If the status is to be changed for Orders from a specific Firm only, this is the Id of the Firm. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| User | Foreign key to User | 8 | If the status is to be changed for Orders from a specific User only, this is the Id of the User. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Account | Foreign key to Account | 8 | If the status is to be changed for Orders for a specific Account only, this is the Id of the Account. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Market | Foreign key to Market | 8 | If the status is to be changed for Orders for a specific Market only, this is the Id of the Market. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| InstrumentGroup | Foreign key to InstrumentGroup | 8 | If the status is to be changed for Orders for a specific InsrumentGroup only, this is the Id of the Instrument. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Instrument | Foreign key to Instrument | 8 | If the status is to be changed for Orders for a specific Instrument only, this is the Id of the Instrument. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| InstrumentMarket | Foreign key to InstrumentMarket | 8 | If the status is to be changed for Orders for a specific InstrumentMarket only, this is the Id of the InstrumentMarket. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Blotter | Foreign key to Blotter | 8 | If the status is to be changed for Orders that belong to a specific Blotter only, this is the Id of the Blotter. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Status | Set of OrderStatus | 4 | This is the mask of values to which the Status of the Orders will be set if this transaction is successful. | IsBulkCancel | Integer (unsigned) | 1 | Set true if this message is for an order that is part of a bulk cancel set. | PermissionsCancel Orders of Account Permission Checks
Test file: Cancel Orders of Firm Permission Checks
Test file: Cancel Orders of Instrument Permission Checks
Test file: Cancel Orders of InstrumentGroup Permission Checks
Test file: Cancel Orders of InstrumentMarket Permission Checks
Test file: Cancel specific order Permission Checks
Test file: |