Welcome Guest, you are in: Login
CTS Futures

Order Status Request


Requesting the Status of an Order

The Order Status Request message (MsgType=H) is used by FIX API clients to electronically interrogate the instantaneous state of an order. The OrderId Tag (37) identifies the specific order for which the Order Status Request is submitted. To pinpoint the order's instrument, the SecurityID (Tag 48) and Side (Tag 54) must also be specified. From the client's perspective, the queried order can further be identified with a verbose (# characters >= 12 and <= 20) Client Order Id (Tag 11).

The Order Status Request message is responded to with the Execution Report message. If Order Status Request processing cannot recognize the order queried for, an Execution Report is returned with an Order Status of Unknown (Tag 39=U). All Execution reports are labeled as PossResend (Tag 97=Y) and carry an Execution Type of 'Order Status' (Tag 150=I). The Order Status Request can optionally set the ClientID Tag (109) in order to pair against the returned Execution Report. The corresponding ClientID value is carried in the MassStatusReqID (Tag 584) of the Execution Report.

Identifying the Order to be Queried

The order (whose status is queried) is identified with its OrderID (Tag 37). This applies to all valid orders previously accepted by CTS order routing (including those not entered through FIX API applications). Orders submitted outside the FIX API (e.g. the CTS Front-End and/or custom T4 API application) can be queried with their corresponding UniqueID. Outside of the FIX API, OrderId (Tag 37) is also known as UniqueID. Note that malformed Order Status Requests (including missing required tags, empty tags, invalid tag value range, etc.) will be rejected with a FIX Session Reject message.

Important Considerations

The FIX API client is recommended to maintain its own collection to track orders submitted to the FIX API servers. The Order Status Request message is provided as a complementary mechanism to the Order Mass Status Request message for reconciliation of the client's orders collection against CTS's. To further help in reconciliation, session orders are also presented automatically at the start of the FIX session if AutoPortFolio Refresh is not disabled (Tag 372=d) in the Logon message. The maximum number of Order Status Requests (per FIX session) is limited to 50. Execution Report responses with Unknown Order Status (Tag 39=U) are returned if account is not previously subscribed. Orders queried for status that are no longer in the book are also responded with Unknown Order Status.

Message Dictionary

TagField NameReq'dComments
Standard HeaderYMsgType = H
1AccountNAccount (code) for which the status request is submitted.
11ClOrdIDN(Client-Side) identifier for this order status request. Must be unique. Maximum number of characters: 20.
37OrderIdYUnique identifier (as assigned by T4 servers) of the target order. OrderId uniqueness is guaranteed across all trading sessions regardless of order origin.
48SecurityIDYSecurity identifier. This is the T4 Market ID.
55SymbolNSymbol. This is the T4 Contract ID.
207SecurityExchangeNExchange at which the security trades. This is the T4 Exchange ID.
167SecurityTypeNInstrument type. Futures="FUT", Options="OPT", Stock="STK", Synthetic="SYN", Binary Option="BIN"
54SideYSide of the market. Valid values are:
0 = None (used for Flatten orders)
1 = Buy
2 = Sell
109ClientIDNOptional client identification of Order Status Request message.
107SecurityDescNDescription of the Security ID (Tag 48)
1028ManualOrderIndicatorNIndicates if the order was sent Manually (i.e. order action is immediate from a human). Valid values are:
Y = Order was entered Manually
N = Order was entered by an Automated System, Program or Algorithm
Standard TrailerY

Sample Messages

Submitting an Order Status Request:


34=4|49=T4Test|56=test|52=20160725-20:39:01.415|1=_Account_|11=fc-636050440308221244|37=D33CF7F0-206A-48F8-8C8E-22745339FA05|48=XCME_Eq ES (U16)|54=1|55=ES|207=CME_Eq|109=osr-636050579414153893|167=FUT|

[MsgSeqNum] 34 = 4
[SenderCompID] 49 = T4Test
[TargetCompID] 56 = test
[SendingTime] 52 = 20160725-20:39:01.415
[Account] 1 = _Account_
[ClOrdID] 11 = fc-636050440308221244
[OrderID] 37 = D33CF7F0-206A-48F8-8C8E-22745339FA05
[SecurityID] 48 = XCME_Eq ES (U16)
[Side] 54 = 1 (BUY)
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[ClientID] 109 = osr-636050579414153893
[SecurityType] 167 = FUT (FUTURE)


34=16|49=test|56=T4Test|50=T4FIX|52=20160725-20:39:01.417|143=US,IL|97=Y|1=_Account_|11=fc-636050440308221244|41=fr-636050433226127451|17=D33CF7F0-206A-48F8-8C8E-22745339FA05_9_U|150=I|37=D33CF7F0-206A-48F8-8C8E-22745339FA05|39=4|48=XCME_Eq ES (U16)|55=ES|207=CME_Eq|200=201609|59=0|107=E-mini S&P 500 Sep16|54=1|167=FUT|38=1|40=2|44=215375|912=Y|60=20160725-16:47:19.425|21=1|204=0|584=osr-636050579414153893|

[MsgSeqNum] 34 = 16
[SenderCompID] 49 = test
[TargetCompID] 56 = T4Test
[SenderSubID] 50 = T4FIX
[SendingTime] 52 = 20160725-20:39:01.417
[TargetLocationID] 143 = US,IL
[PossResend] 97 = Y (YES)
[Account] 1 = _Account_
[ClOrdID] 11 = fc-636050440308221244
[OrigClOrdID] 41 = fr-636050433226127451
[ExecID] 17 = D33CF7F0-206A-48F8-8C8E-22745339FA05_9_U
[ExecType] 150 = I (ORDER_STATUS)
[OrderID] 37 = D33CF7F0-206A-48F8-8C8E-22745339FA05
[OrdStatus] 39 = 4 (CANCELED)
[SecurityID] 48 = XCME_Eq ES (U16)
[Symbol] 55 = ES
[SecurityExchange] 207 = CME_Eq
[MaturityMonthYear] 200 = 201609
[TimeInForce] 59 = 0 (DAY)
[SecurityDesc] 107 = E-mini S&P 500 Sep16
[Side] 54 = 1 (BUY)
[SecurityType] 167 = FUT (FUTURE)
[OrderQty] 38 = 1
[OrdType] 40 = 2 (LIMIT)
[Price] 44 = 215375
[LastRptRequested] 912 = Y (YES)
[TransactTime] 60 = 20160725-16:47:19.425
[CustomerOrFirm] 204 = 0 (CUSTOMER)
[MassStatusReqID] 584 = osr-636050579414153893

FIX API Home Page.

Trade how you want, where you want

support@ctsfutures.com (312) 939 0164

111 W. Jackson Blvd., Suite 1408, Chicago, IL 60604

© 2009-2017 Cunningham Trading Systems LLC All rights reserved.