developers:fixapi:ordermassstatusrequest

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
developers:fixapi:ordermassstatusrequest [2025/09/12 01:36] – ↷ Page moved and renamed from developers:fixapi.ordermassstatusrequest to developers:fixapi:ordermassstatusrequest chaddevelopers:fixapi:ordermassstatusrequest [2025/09/12 02:17] (current) chad
Line 1: Line 1:
-===== Order Mass Status Request ===== +====== ORDER MASS STATUS REQUEST [35=AF] ======
-**Listing Open Orders**+
  
-The **Order Mass Status Request** message (`MsgType=AF`) is used by the T4 FIX API to list open orders.   +The Order Mass Status Request message lists open orders with optional filtering.
-Requests can be filtered by: +
-  * Account (`Tag 1`) +
-  * UserName (`Tag 553`) +
-  * SecurityID (`Tag 48`) +
-  * Symbol (`Tag 55`) +
-  * SecurityExchange (`Tag 207`) +
-  * Time-In-Force (`Tag 59`)+
  
-**UserName filtering** (`Tag 553`) is available only under **Multi-Trader mode** (`Tag 372=UCG`) in the Logon message.+===== Filter Types =====
  
-This message is an alternative to **Collateral Inquiry** for listing open orders.+**MassStatusReqType (585) - Required:** 
 +^ Value ^ Type ^ Required Tag ^ 
 +| 1 | Market | SecurityID (48) | 
 +| 3 | Contract | Symbol (55) | 
 +| 5 | Exchange | SecurityExchange (207) | 
 +| 7 | All | None |
  
-----+**Optional Filters:** 
 +  * OrdStatusReqType (5000): 100=User, 101=Account 
 +  * TimeInForce (59): 0=Day, 1=GTC, 3=IOC, 4=FOK
  
-=== Response === +===== Message Specification =====
-* Responded with an **Execution Report** for each open order +
-* If no open orders found → Execution Report with: +
-  - `OrdStatus=Unknown` (`Tag 39=U`) +
-* All responses: +
-  - `PossResend` (`Tag 97=Y`) +
-  - Include `MassStatusReqID` (`Tag 584`)+
  
-----+**Message Direction:** Client → T4
  
-=== Market Contract Exchange Filters === +^ Tag ^ Field Name ^ Type ^ Req'd ^ Description ^ 
-* `MassStatusReqType` (`Tag 585`) **must** be set +| | **Message Header** | | Y | MsgType AF | 
-* Values: +| 584 | MassStatusReqID | String | Y | Unique request ID | 
-  - `1Market (requires `SecurityID` Tag 48+| 585 | MassStatusReqType | Int | Y | 1=Market, 3=Contract, 5=Exchange, 7=All | 
-  - `3` Contract (requires `Symbol` Tag 55) +| 5000 | OrdStatusReqType | Int | O | 100=User, 101=Account | 
-  - `5Exchange (requires `SecurityExchange` Tag 207) +| Account | String | C | Required if OrdStatusReqType=101 | 
-  - `7` All markets/accounts+| 553 | UserName | String | C | Required if OrdStatusReqType=100 (Multi-Trader mode only| 
 +| 48 | SecurityID | String | C | Required if MassStatusReqType=1 | 
 +55 | Symbol | String | C | Required if MassStatusReqType=3 | 
 +| 207 | SecurityExchange | String | C | Required if MassStatusReqType=
 +| 59 | TimeInForce | Char | O | 0=Day, 1=GTC, 3=IOC, 4=FOK | 
 +| 60 | TransactTime | UTCTimestamp | Y | Request time | 
 +| 1028 | ManualOrderIndicator | Boolean | O | Y=Manual, N=Automated | 
 +| | **Message Trailer** | | Y | |
  
-**Note:** Market/contract/exchange IDs can be obtained via **Security Definition Request** (`MsgType=c`). +===== Sample Messages =====
- +
----- +
- +
-=== Account / User / Time-In-Force Filters === +
-Optional `OrdStatusReqType` (`Tag 5000`): +
-  * `100` = User (requires `UserName` Tag 553) – only in Multi-Trader mode from Master User +
-  * `101` = Account (requires `Account` Tag 1) +
- +
-Optional `TimeInForce` (`Tag 59`): +
-  * `0` = Day +
-  * `1` = Good Until Cancel +
-  * `3` = Immediate Or Cancel +
-  * `4` = Fill Or Kill +
- +
-If not specified → all Time-In-Force values are returned. +
- +
----- +
- +
-=== Important Considerations === +
-* Maintain a local collection of open orders for reconciliation +
-* If AutoPortfolio Refresh is enabled (default), open orders are listed at session start +
-* Unknown Order Status (`Tag 39=U`) if: +
-  - Account not subscribed +
-  - Order no longer in the book +
- +
----- +
- +
-=== Message Dictionary === +
-^ Tag  ^ Field Name             ^ Req'd ^ Comments                                                                                         ^ +
-| **Standard Header** | Y       | MsgType = AF                                                                                           | +
-| 584  | MassStatusReqID        | Y     | Unique ID for the mass status request                                                             | +
-| 585  | MassStatusReqType      | Y     | 1=Market, 3=Contract, 5=Exchange, 7=All                                                            | +
-| 5000 | OrdStatusReqType       | N     | 100=User, 101=Account                                                                              | +
-| 1    | Account                | N     | Account filter (for `OrdStatusReqType`=101)                                                        | +
-| 207  | SecurityExchange       | N     | Required if `MassStatusReqType`=5                                                                  | +
-| 55   | Symbol                 | N     | Required if `MassStatusReqType`=3                                                                  | +
-| 48   | SecurityID             | N     | Required if `MassStatusReqType`=1                                                                  | +
-| 553  | UserName               | N     | User filter (for `OrdStatusReqType`=100). Only valid in Multi-Trader mode                          | +
-| 59   | TimeInForce            | N     | 0=Day, 1=GTC, 3=IOC, 4=FOK                                                                         | +
-| 60   | TransactTime           | Y     | UTC time request submitted                                                                         | +
-| 1028 | ManualOrderIndicator   | N     | Y=Manual, N=Automated                                                                              | +
-| **Standard Trailer** | Y      |                                                                                                        | +
- +
-==== Sample Messages ==== +
- +
- +
-Listing all open orders:+
  
 +**List All Orders:**
 <code> <code>
-1 - ORDERMASSSTATUSREQUEST +8=FIX.4.2|9=150|35=AF|49=T4Test|56=test|52=20160721-17:44:19.370| 
- +584=msri-07-21-2016-12:44:19.3706427|585=7|59=0|60=20160721-17:44:19.370|10=123|
-34=32|49=T4Test|56=test|52=20160721-17:44:19.370|584=msri-07-21-2016-12:44:19.3706427|585=7|59=0|60=20160721-17:44:19.370| +
- +
-[21-Jul-2016] 12:44:19.3726972 +
- +
-[MsgSeqNum] 34 = 32 +
-[SenderCompID] 49 = T4Test +
-[TargetCompID] 56 = test +
-[SendingTime] 52 = 20160721-17:44:19.370 +
-[MassStatusReqID] 584 = msri-07-21-2016-12:44:19.3706427 +
-[MassStatusReqType] 585 = 7 (ALL) +
-[TimeInForce] 59 = 0 (DAY) +
-[TransactTime] 60 = 20160721-17:44:19.370 +
- +
- +
-2 - EXECUTIONREPORT +
- +
-34=71|49=test|56=T4Test|50=T4FIX|52=20160721-17:44:19.372|143=US,IL|97=Y|1=Account1|11=fn-636047018544844180|17=607DB8AC-B3EE-4579-9260-4D1946C446BD_2_U|150=I|37=607DB8AC-B3EE-4579-9260-4D1946C446BD|39=0|48=XCME_C ZC (U16)|55=ZC|207=CME_C|200=201609|59=0|107=Corn Sep16|54=1|167=FUT|38=1|40=2|44=34050|912=N|60=20160721-17:44:17.476|21=1|204=0|584=msri-07-21-2016-12:44:19.3706427| +
- +
-[21-Jul-2016] 12:44:19.3729367 +
- +
-[MsgSeqNum] 34 71 +
-[SenderCompID] 49 = test +
-[TargetCompID] 56 = T4Test +
-[SenderSubID] 50 = T4FIX +
-[SendingTime] 52 = 20160721-17:44:19.372 +
-[TargetLocationID] 143 = US,IL +
-[PossResend] 97 = Y (YES) +
-[Account] 1 = Account1 +
-[ClOrdID] 11 = fn-636047018544844180 +
-[ExecID] 17 = 607DB8AC-B3EE-4579-9260-4D1946C446BD_2_U +
-[ExecType] 150 = I (ORDER_STATUS) +
-[OrderID] 37 = 607DB8AC-B3EE-4579-9260-4D1946C446BD +
-[OrdStatus] 39 = 0 (NEW) +
-[SecurityID] 48 = XCME_C ZC (U16) +
-[Symbol] 55 = ZC +
-[SecurityExchange] 207 = CME_C +
-[MaturityMonthYear] 200 = 201609 +
-[TimeInForce] 59 = 0 (DAY) +
-[SecurityDesc] 107 = Corn Sep16 +
-[Side] 54 = 1 (BUY) +
-[SecurityType] 167 = FUT (FUTURE) +
-[OrderQty] 38 = 1 +
-[OrdType] 40 = 2 (LIMIT) +
-[Price] 44 = 34050 +
-[LastRptRequested] 912 = N (NO) +
-[TransactTime] 60 = 20160721-17:44:17.476 +
-[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER) +
-[CustomerOrFirm] 204 = 0 (CUSTOMER) +
-[MassStatusReqID] 584 = msri-07-21-2016-12:44:19.3706427 +
- +
- +
-3 - EXECUTIONREPORT +
- +
-34=72|49=test|56=T4Test|50=T4FIX|52=20160721-17:44:19.372|143=US,IL|97=Y|1=Account1|11=fn-636046978602258221|17=B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U|150=I|37=B5F1A5EB-ECA0-4E24-826B-6F57542D0829|39=0|48=XCME_Eq ES (U16)|55=ES|207=CME_Eq|200=201609|59=0|107=E-mini S&P 500 Sep16|54=2|167=FUT|38=1|40=2|44=214950|912=N|60=20160721-16:37:43.137|21=1|204=0|584=msri-07-21-2016-12:44:19.3706427| +
- +
-[21-Jul-2016] 12:44:19.3730290 +
- +
-[MsgSeqNum] 34 = 72 +
-[SenderCompID] 49 = test +
-[TargetCompID] 56 = T4Test +
-[SenderSubID] 50 = T4FIX +
-[SendingTime] 52 = 20160721-17:44:19.372 +
-[TargetLocationID] 143 = US,IL +
-[PossResend] 97 = Y (YES) +
-[Account] 1 = Account1 +
-[ClOrdID] 11 = fn-636046978602258221 +
-[ExecID] 17 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U +
-[ExecType] 150 = I (ORDER_STATUS) +
-[OrderID] 37 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829 +
-[OrdStatus] 39 = 0 (NEW) +
-[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 = 2 (SELL) +
-[SecurityType] 167 = FUT (FUTURE) +
-[OrderQty] 38 = 1 +
-[OrdType] 40 = 2 (LIMIT) +
-[Price] 44 = 214950 +
-[LastRptRequested] 912 = N (NO) +
-[TransactTime] 60 = 20160721-16:37:43.137 +
-[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER) +
-[CustomerOrFirm] 204 = 0 (CUSTOMER) +
-[MassStatusReqID] 584 = msri-07-21-2016-12:44:19.3706427 +
- +
- +
-4 - EXECUTIONREPORT +
- +
-34=73|49=test|56=T4Test|50=T4FIX|52=20160721-17:44:19.373|97=Y|1=Account2|11=fn-636046979248572065|17=DBE4D731-AD6F-473B-9500-3E4CC0922526_3_U|150=I|37=DBE4D731-AD6F-473B-9500-3E4CC0922526|39=0|48=D_F_F_20160900|55=F|207=D_F|200=201609|59=0|107=D-Financial (00:00) Sep16|54=2|167=FUT|38=1|40=2|44=13800|912=Y|60=20160721-16:38:47.748|21=1|204=0|584=msri-07-21-2016-12:44:19.3706427| +
- +
-[21-Jul-2016] 12:44:19.3731161 +
- +
-[MsgSeqNum] 34 = 73 +
-[SenderCompID] 49 = test +
-[TargetCompID] 56 = T4Test +
-[SenderSubID] 50 = T4FIX +
-[SendingTime] 52 = 20160721-17:44:19.373 +
-[PossResend] 97 = Y (YES) +
-[Account] 1 = Account2 +
-[ClOrdID] 11 = fn-636046979248572065 +
-[ExecID] 17 = DBE4D731-AD6F-473B-9500-3E4CC0922526_3_U +
-[ExecType] 150 = I (ORDER_STATUS) +
-[OrderID] 37 = DBE4D731-AD6F-473B-9500-3E4CC0922526 +
-[OrdStatus] 39 = 0 (NEW) +
-[SecurityID] 48 = D_F_F_20160900 +
-[Symbol] 55 = F +
-[SecurityExchange] 207 = D_F +
-[MaturityMonthYear] 200 = 201609 +
-[TimeInForce] 59 = 0 (DAY) +
-[SecurityDesc] 107 = D-Financial (00:00) Sep16 +
-[Side] 54 = 2 (SELL) +
-[SecurityType] 167 = FUT (FUTURE) +
-[OrderQty] 38 = 1 +
-[OrdType] 40 = 2 (LIMIT) +
-[Price] 44 = 13800 +
-[LastRptRequested] 912 = Y (YES) +
-[TransactTime] 60 = 20160721-16:38:47.748 +
-[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER) +
-[CustomerOrFirm] 204 = 0 (CUSTOMER) +
-[MassStatusReqID] 584 = msri-07-21-2016-12:44:19.3706427+
 </code> </code>
  
-Listing open orders for a specific market:+**List Orders by Market:**
 <code> <code>
- +8=FIX.4.2|9=180|35=AF|49=T4Test|56=test|52=20160721-17:41:37.053| 
-1 - ORDERMASSSTATUSREQUEST +584=msri-07-21-2016-12:41:37.0530039|585=1|48=XCME_Eq ES (U16)|59=0| 
- +60=20160721-17:41:37.053|10=123|
-34=22|49=T4Test|56=test|52=20160721-17:41:37.053|584=msri-07-21-2016-12:41:37.0530039|585=1|48=XCME_Eq ES (U16)|59=0|60=20160721-17:41:37.053| +
- +
-[21-Jul-2016] 12:41:37.0547610 +
- +
-[MsgSeqNum] 34 = 22 +
-[SenderCompID] 49 = T4Test +
-[TargetCompID] 56 = test +
-[SendingTime] 52 = 20160721-17:41:37.053 +
-[MassStatusReqID] 584 = msri-07-21-2016-12:41:37.0530039 +
-[MassStatusReqType] 585 = 1 (MARKET) +
-[SecurityID] 48 = XCME_Eq ES (U16) +
-[TimeInForce] 59 = 0 (DAY) +
-[TransactTime] 60 = 20160721-17:41:37.053 +
- +
- +
-2 - EXECUTIONREPORT +
- +
-34=60|49=test|56=T4Test|50=T4FIX|52=20160721-17:41:37.054|143=US,IL|97=Y|1=Account1|11=fn-636046978602258221|17=B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U|150=I|37=B5F1A5EB-ECA0-4E24-826B-6F57542D0829|39=0|48=XCME_Eq ES (U16)|55=ES|207=CME_Eq|200=201609|59=0|107=E-mini S&P 500 Sep16|54=2|167=FUT|38=1|40=2|44=214950|912=Y|60=20160721-16:37:43.137|21=1|204=0|584=msri-07-21-2016-12:41:37.0530039| +
- +
-[21-Jul-2016] 12:41:37.0549716 +
- +
-[MsgSeqNum] 34 = 60 +
-[SenderCompID] 49 = test +
-[TargetCompID] 56 = T4Test +
-[SenderSubID] 50 = T4FIX +
-[SendingTime] 52 = 20160721-17:41:37.054 +
-[TargetLocationID] 143 = US,IL +
-[PossResend] 97 = Y (YES) +
-[Account] 1 = Account1 +
-[ClOrdID] 11 = fn-636046978602258221 +
-[ExecID] 17 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U +
-[ExecType] 150 = I (ORDER_STATUS) +
-[OrderID] 37 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829 +
-[OrdStatus] 39 = 0 (NEW) +
-[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 = 2 (SELL) +
-[SecurityType] 167 = FUT (FUTURE) +
-[OrderQty] 38 = 1 +
-[OrdType] 40 = 2 (LIMIT) +
-[Price] 44 = 214950 +
-[LastRptRequested] 912 = Y (YES) +
-[TransactTime] 60 = 20160721-16:37:43.137 +
-[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER) +
-[CustomerOrFirm] 204 = 0 (CUSTOMER) +
-[MassStatusReqID] 584 = msri-07-21-2016-12:41:37.0530039+
 </code> </code>
  
-Listing open orders for a specific account: +**List Orders by Account:**
 <code> <code>
-1 - ORDERMASSSTATUSREQUEST +8=FIX.4.2|9=180|35=AF|49=T4Test|56=test|52=20160721-17:33:55.753| 
- +584=msri-07-21-2016-12:33:55.7537682|585=7|5000=101|1=Account1|59=0| 
-34=2|49=T4Test|56=test|52=20160721-17:33:55.753|584=msri-07-21-2016-12:33:55.7537682|585=7|5000=101|1=Account1|59=0|60=20160721-17:33:55.753| +60=20160721-17:33:55.753|10=123|
- +
-[21-Jul-2016] 12:33:55.7562146 +
- +
-[MsgSeqNum] 34 = 2 +
-[SenderCompID] 49 = T4Test +
-[TargetCompID] 56 = test +
-[SendingTime] 52 = 20160721-17:33:55.753 +
-[MassStatusReqID] 584 = msri-07-21-2016-12:33:55.7537682 +
-[MassStatusReqType] 585 = 7 (ALL) +
-[OrdStatusReqType] 5000 = 101 (ACCOUNT) +
-[Account] 1 = Account1 +
-[TimeInForce] 59 = 0 (DAY) +
-[TransactTime] 60 = 20160721-17:33:55.753 +
- +
- +
- +
-2 - EXECUTIONREPORT +
- +
-34=40|49=test|56=T4Test|50=T4FIX|52=20160721-17:33:55.756|143=US,IL|97=Y|1=Account1|11=fn-636046978602258221|17=B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U|150=I|37=B5F1A5EB-ECA0-4E24-826B-6F57542D0829|39=0|48=XCME_Eq ES (U16)|55=ES|207=CME_Eq|200=201609|59=0|107=E-mini S&P 500 Sep16|54=2|167=FUT|38=1|40=2|44=214950|912=Y|60=20160721-16:37:43.137|21=1|204=0|584=msri-07-21-2016-12:33:55.7537682| +
- +
-[21-Jul-2016] 12:33:55.7564302 +
- +
-[MsgSeqNum] 34 = 40 +
-[SenderCompID] 49 = test +
-[TargetCompID] 56 = T4Test +
-[SenderSubID] 50 = T4FIX +
-[SendingTime] 52 = 20160721-17:33:55.756 +
-[TargetLocationID] 143 = US,IL +
-[PossResend] 97 = Y (YES) +
-[Account] 1 = Account1 +
-[ClOrdID] 11 = fn-636046978602258221 +
-[ExecID] 17 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829_3_U +
-[ExecType] 150 = I (ORDER_STATUS) +
-[OrderID] 37 = B5F1A5EB-ECA0-4E24-826B-6F57542D0829 +
-[OrdStatus] 39 = 0 (NEW) +
-[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 = 2 (SELL) +
-[SecurityType] 167 = FUT (FUTURE) +
-[OrderQty] 38 = 1 +
-[OrdType] 40 = 2 (LIMIT) +
-[Price] 44 = 214950 +
-[LastRptRequested] 912 = Y (YES) +
-[TransactTime] 60 = 20160721-16:37:43.137 +
-[HandlInst] 21 = 1 (AUTOMATED_EXECUTION_NOBROKER) +
-[CustomerOrFirm] 204 = 0 (CUSTOMER) +
-[MassStatusReqID] 584 = msri-07-21-2016-12:33:55.7537682+
 </code> </code>
  
-[[developers:legacy_fix_api|T4 FIX API Home]] +===== Notes ===== 
- +  * Returns Execution Report (35=8) per open order with ExecType=I, PossResend=Y 
- +  * No orders return OrdStatus=U 
- +  * UserName filter requires Multi-Trader mode (Tag 372=UCG) 
- +  * Alternative to Collateral Inquiry for order listing
- +
  • developers/fixapi/ordermassstatusrequest.txt
  • Last modified: 2025/09/12 02:17
  • by chad