# Order events
Order objects are designed to be self-updating, providing seamless integration with the trading platform. These objects establish an internal connection with the platform, allowing them to automatically update their fields whenever a relevant event occurs. This ensures that the information within the order objects remains up-to-date at all times. Additionally, this self-updating mechanism triggers events within the engine, notifying the relevant components of any changes in the order status or associated data.
# Event: status-change
Fired when the order status changes.
- Example
myOrder.on("status-change", (e) => {
const { status, previousStatus, } = e.descriptor;
// ...
});
# Event: reject
Fired when the order is rejected.
- Example
myOrder.on("reject", (e) => {
const rejectionReason = myOrder.rejection;
// ...
});
# Event: accept
Fired when the order is validated and accepted.
# Event: pending
Fired when the order enters in pending state, a limit/stop order stays in this state until it gets executed, cancelled, or expires.
# Event: cancel
Fired when the order is cancelled.
# Event: execute
Fired when the order is executed.
- Example
myOrder.on("execute", (e) => {
const executedTrades = myOrder.executedTrades;
const executionPrice = myOrder.executionPrice;
// ...
});
# Event: expire
Fired when the order expires.
# Event: trade
Fired when a trade is executed.
# Event: pending-price-change
Fired when the price of a pending limit/stop order has changed.
# Event: pending-volume-change
Fired when the volume of a pending limit/stop order has changed.
# Event: expiration-date-change
Fired when the expiration date of a pending limit/stop order has changed.