A client order.
Assembly: GF.Api (in GF.Api.dll) Version: dd7171be68430789135ec75c4e9f4bbfeca31201
public interface IOrder : IComparable
Public Interface IOrder Inherits IComparable
public interface class IOrder : IComparable
The IOrder type exposes the following members.
Children orders for allocation block order
Parent order for allocation block child order
Order allocation block
Current state of order
Custom Compound: detailed declaration of the legs
Order fills, active and cancelled.
Order execution flags of last active version
Helper property that evaluates Side property
Checks whether order is fully filled (filled quantity = total quantity)
Checks whether order is Completed, Cancelled or Rejected so no state changes are expected
Checks whether the order is market
Order cannot be cancelled or modified
Link to leg of main OSO order
Link to paired OCO order
Link to main OSO order
Link to parent reference order
Current order limit/stop price
Current order limit price for STPLMT orders
Total order quantity
Order Side (Buy/Sell)
Order states history
Link to children suborders
ID of last active version of order
Order creation timestamp
Trader, to whose account order belongs (for admins) or null (for traders)
Current order type
Gets type and (optionally) price as "MKT", "LMT 1234.0", "STP 123 07.25 LMT 120 31.75"
Order version history
Some orders, especially pit or MOO/ MOC ones, could then change their state to Held - this means that they are not active yet and waiting of activation. MOO/MOC orders
Prior to activation, order can be rejected at different stages by risk system, live broker or electronic execution system. In this case it becomes Rejected
When order is accepted by system, broker and/or electronic execution system, it becomes Working - this means that order is active and could be filled. Market orders usually get filled and completed in a few milliseconds, if trading session is now active for order Contract. Other orders will wait until order condition is satisfied.
Client can request order cancellation - see CancelOrder(OrderID, SubmissionType, Location, Tag50), or modification - in this case he needs to create a ModifyOrderDraft, change values he wants to modify and call ModifyOrder(ModifyOrderDraft) method. Both of these actions creates a ICommand, and modification also creates a new order version.
Finally, order becomes Completed or Cancelled - note, that cancellation of a partially filled order makes the order completed, so client should look at filled quantity instead of order quantity to see whether order was fully completed or not.