Subscribing to update events
After a TradeSubscription instance has been initialized, any change in the orders that are contained within it will result in an update event being fired.
Supported update events
A TradeSubscription object fires the following events when the status its orders and fills are changed.
Event | Description |
---|---|
OrderAdded | Fired when an acknowledgement is received from an exchange for a new order that was submitted |
OrderDeleted | Fired when an acknowledgement is received from an exchange for a cancellation of a working order |
OrderFilled | Fired when an acknowledgement is received from an exchange for a fill of a working order |
OrderPendingAction | Fired when an action is pending for an order |
OrderRejected | Fired when a rejection is received from an exchange for either an attempted change of a working order or the submission of a new order |
OrderStatusUnknown | Fired when an acknowledgement is received from an exchange for a new order |
OrderTimeout | Fired when an acknowledgement is received from an exchange for a new order |
OrderUpdated | Fired when an acknowledgement is received from an exchange for a change of a working order |
Subscribing for update events
You can subscribe for update events as follows before calling the Start() method.
// Create a TradeSubscription to listen for update events
m_ts = new TradeSubscription(t_net_sdk.Dispatcher.Current);
m_ts.OrderAdded += new EventHandler<OrderAddedEventArgs>(m_ts_OrderAdded);
m_ts.OrderDeleted += new EventHandler<OrderDeletedEventArgs>(m_ts_OrderDeleted);
m_ts.OrderFilled += new EventHandler<OrderFilledEventArgs>(m_ts_OrderFilled);
m_ts.OrderRejected += new EventHandler<OrderRejectedEventArgs>(m_ts_OrderRejected);
m_ts.OrderUpdated += new EventHandler<OrderUpdatedEventArgs>(m_ts_OrderUpdated);
m_ts.OrderStatusUnknown += new EventHandler<OrderStatusUnknownEventArgs>(m_ts_OrderStatusUnknown);
m_ts.OrderTimeout += new EventHandler<OrderTimeoutEventArgs>(m_ts_OrderTimeout);
m_ts.Start();
Defining event handlers
The following code snippet shows the structure for these event handlers.
void m_ts_OrderAdded(object sender, OrderAddedEventArgs e)
{
}
void m_ts_OrderDeleted(object sender, OrderDeletedEventArgs e)
{
}
void m_ts_OrderFilled(object sender, OrderFilledEventArgs e)
{
}
void m_ts_OrderRejected(object sender, OrderRejectedEventArgs e)
{
}
void m_ts_OrderUpdated(object sender, OrderUpdatedEventArgs e)
{
}
void m_ts_OrderStatusUnknown(object sender, OrderStatusUnknownEventArgs e)
{
}
void m_ts_OrderTimeout(object sender, OrderTimeoutEventArgs e)
{
}