Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
developers:fixapi.traderlogon [2025/08/12 17:56] – created rob | developers:fixapi.traderlogon [2025/08/12 18:05] (current) – rob | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
- | FIX Session | + | ===== Multiple Traders ===== |
+ | Under an established | ||
- | The T4 FIX API can detect an extensive set of FIX session violations and will issue a Reject message. Even after a corrected retransmission, the T4 FIX API may choose to terminate | + | To enter Multi-Trader mode, the Master User must explicitly request it as an option on the FIX Logon with **Tag 372 (RefMsgTypes) = UCG**. |
- | Where possible, the T4 FIX API will provide a Reject message with a **Reject Reason** (Tag [[373]]), **Reference Message Type** (Tag [[372]]) and **Reference Sequence Number** (Tag [[45]]). When a FIX session termination is forthcoming due to a FIX Session | + | ===== Authentication Requirements ===== |
+ | After establishing | ||
- | FIX Session rejects can be generated for many reasons — including gross protocol violations such as empty tags, tags out of sequence, incorrect data types, etc. | + | ^ Tag Name ^ Tag Number ^ Description |
+ | | UserName | ||
+ | | Password | ||
- | Following are common | + | A successful authentication of a Trader Logon is acknowledged with a Trader Logon Response that contains a **Success** description in the Text tag (Tag 58). |
- | ^ Rejection Reason ^ Description ^ | + | Failure to provide the correct parameters in the Trader Logon message |
- | | 0 | Invalid tag number | | + | A failed |
- | | 1 | Required tag missing | | + | |
- | | 2 | Tag not defined for this message | + | |
- | | 3 | Undefined Tag | | + | |
- | | 4 | Tag specified without | + | |
- | | 5 | Value is incorrect (out of range) for this tag# | | + | |
- | | 6 | Incorrect data format for value | | + | |
- | | 7 | Decryption problem | | + | |
- | | 8 | Signature problem | | + | |
- | | 9 | CompID problem | | + | |
- | | 10 | SendingTime accuracy problem | | + | |
- | | 11 | Invalid MsgType | | + | |
- | | 12 | XML Validation error | | + | |
- | | 13 | Tag appears more than once | | + | |
- | | 14 | Tag specified out of required order | | + | |
- | | 15 | Repeating group fields out of order | | + | |
- | | 16 | Incorrect NumInGroup count for repeating group | | + | |
- | | 17 | Non “data” value includes field delimiter (SOH character) | | + | |
- | | 18 | Invalid | + | |
- | When the FIX Session | + | A logged-on Trader may also be explicitly logged out with a Trader Logout message. The logout of a Trader maintains |
+ | |||
+ | ===== FIX Session Properties Under Multi-Trader Mode ===== | ||
+ | Under Multi-Trader mode, all FIX Session functionalities (as established with RefMsgTypes (Tag 372) of the FIX Logon message) are applied to all traders including the Master User. | ||
+ | |||
+ | All application messages (e.g., New Order Single, Cancel Replace Request, Order Cancel Request, etc.) must also be identified with its originating trader. | ||
+ | The trader' | ||
+ | |||
+ | Failure to identify the trader in the application message | ||
+ | Under Multi-Trader mode, SenderSubID (Tag 50) identifies the target trader for which the client' | ||
+ | |||
+ | ===== User Configuration ===== | ||
+ | For a successful trader login, the T4 FIX API requires the Trader/User to have previously assigned accounts | ||
+ | |||
+ | Lack of proper configuration will result in a failed Trader Logon Response — indicating the lack of account or exchange assignment for the violating User. | ||
+ | This requirement is **not applied** for Chart data logins (**Tag 372=V**). | ||
===== Message Dictionary ===== | ===== Message Dictionary ===== | ||
- | ^ Tag ^ Field Name ^ Req'd ^ Comments | + | ^ Tag ^ Field Name ^ Req'd ^ Comments |
- | | [[StandardHeader]] | + | | | Standard Header |
- | | [[45]] | + | | 91 | SecureData |
- | | [[371]] | + | | 90 | SecureDataLen |
- | | [[372]] | + | | 49 | SenderCompID |
- | | [[373]] | + | | 56 | TargetCompID |
- | | [[58]] | + | | | Body |
- | | [[StandardTrailer]] | + | | 109 |
+ | | 553 | UserName | ||
+ | | 554 | Password | ||
+ | | | ||
- | ===== Sample | + | ===== Sample ===== |
+ | In this example, the T4 FIX API client requests the start of a FIX Session. | ||
+ | The client enables the Multi-Trader mode (**Tag 372=UCG**). | ||
+ | The login request' | ||
+ | The client then sends a Trader Logon to authenticate a new Trader/User under the current FIX Session. | ||
+ | Finally, the client requests the termination of the FIX Session with a FIX Logout message. | ||
- | Reject message generated by the receipt of an old Cancel Request message: | + | ---- |
+ | **Login Request from T4 FIX API Client** | ||
< | < | ||
- | 34=12|49=T4Example|50=TraderName|52=20120828-20:20:14.417|56=T4|57=G|369=11|1=123456|11=11FE|37=533408825203|41=11AN|48=CME_20121200_6EZ2|54=2|55=6E|60=20120828-20:20:14.376|107=Euro FX Dec12|167=FUT| | + | >> 6/11/2015 12:41:56 PM |
+ | [FIXLOGIN] | ||
+ | [MsgSeqNum] 34 = 1 | ||
+ | [SenderCompID] 49 = T4Test | ||
+ | [TargetCompID] 56 = test | ||
+ | [SenderSubID] 50 = MasterUser | ||
+ | [SendingTime] 52 = 20150611-17:41:56.934 | ||
+ | [SecureData] 91 = 64768859-3ACF-4224-A4E9-DA66901AFC63 | ||
+ | [SecureDataLen] 90 = 36 | ||
+ | [EncryptMethod] 98 = None | ||
+ | [HeartBtInt] 108 = 25 | ||
+ | [UserName] 553 = MasterUser | ||
+ | [Password] 554 = _password_ | ||
+ | [DefaultApplExtID] 1407 = 58BD-B00F-5805-98AA-BD46-0417-C2B8-9C5F | ||
+ | [NoMsgTypes] 384 = 2 | ||
+ | [RefMsgType] 372 = d (DISABLE_PORTFOLIO_LISTING) | ||
+ | [RefMsgType] 372 = UCG (ENABLE_TRADER_LOGINS) | ||
</ | </ | ||
- | [FIXCANCEL] | + | **Successful Login Response from T4 FIX API** |
- | [MsgSeqNum] 34 = 12 | + | |
- | [SenderCompID] 49 = T4Example | + | |
- | [SenderSubID] 50 = TraderName | + | |
- | [SendingTime] 52 = 20120828-20: | + | |
- | [TargetCompID] 56 = T4 | + | |
- | [TargetSubID] 57 = G | + | |
- | [LastMsgSeqNumProcessed] 369 = 11 | + | |
- | [Account] 1 = 123456 | + | |
- | [ClOrdID] 11 = 11FE | + | |
- | [OrderID] 37 = 533408825203 | + | |
- | [OrigClOrdID] 41 = 11AN | + | |
- | [SecurityID] 48 = CME_20121200_6EZ2 | + | |
- | [Side] 54 = 2 (SELL) | + | |
- | [Symbol] 55 = 6E | + | |
- | [SecurityExchange] 207 = CME_Fo | + | |
- | [TransactTime] 60 = 20120828-19: | + | |
- | [SecurityDesc] 107 = Euro FX Dec12 | + | |
- | [SecurityType] 167 = FUT (FUTURE) | + | |
< | < | ||
- | 34=12|49=T4|56=T4Example|50=T4FIX|52=20120905-21:07:45.472|45=12|372=F|373=10|58=Sending Time Accuracy problem| | + | << 6/11/2015 12:41:57 PM [fixlogin] |
+ | [FIXLOGIN] | ||
+ | [MsgSeqNum] 34 = 1 | ||
+ | [SenderCompID] 49 = test | ||
+ | [TargetCompID] 56 = T4Test | ||
+ | [SenderSubID] 50 = T4FIX | ||
+ | [SendingTime] 52 = 20150611-17: | ||
+ | [EncryptMethod] 98 = 0 (NONE) | ||
+ | [HeartBtInt] 108 = 30 | ||
+ | [UserName] 553 = MasterUser | ||
+ | [Password] 554 = *** | ||
+ | [DefaultCstmApplVerID] 1408 = 4.3.34.4 | ||
</ | </ | ||
- | [REJECT] | + | **Trader Logon Request from T4 FIX API Client** |
- | [MsgSeqNum] 34 = 12 | + | < |
- | [SenderCompID] 49 = T4 | + | >> 6/11/2015 12:42:02 PM [FIXTRADERLOGIN] 34=2|49=T4Test|56=test|52=20150611-17: |
- | [TargetCompID] 56 = T4Example | + | [FIXTRADERLOGIN] |
- | [SenderSubID] 50 = T4FIX | + | [MsgSeqNum] 34 = 2 |
- | [SendingTime] 52 = 20120905-21:07:45.472 | + | [SenderCompID] 49 = T4Test |
- | [RefSeqNum] 45 = 12 | + | [TargetCompID] 56 = test |
- | [RefMsgType] 372 = F | + | [SendingTime] 52 = 20150611-17: |
- | [SessionRejectReason] 373 = 10 (SENDINGTIME_ACCURACY_PROBLEM) | + | [SecureData] 91 = 64768859-3ACF-4224-A4E9-DA66901AFC63 |
- | [Text] 58 = Sending Time Accuracy problem | + | [SecureDataLen] 90 = 36 |
+ | [UserName] 553 = Trader1 | ||
+ | [Password] 554 = _TraderPassword_ | ||
+ | </ | ||
+ | |||
+ | **Successful Trader Logon Response from T4 FIX API** | ||
+ | < | ||
+ | << 6/11/2015 12:42:03 PM [fixtraderloginresponse] 34=2|49=test|56=T4Test|50=T4FIX|52=20150611-17: | ||
+ | [FIXTRADERLOGINRESPONSE] | ||
+ | [MsgSeqNum] 34 = 2 | ||
+ | [SenderCompID] 49 = test | ||
+ | [TargetCompID] 56 = T4Test | ||
+ | [SenderSubID] 50 = T4FIX | ||
+ | [SendingTime] 52 = 20150611-17:42:03.486 | ||
+ | [UserName] 553 = Trader1 | ||
+ | [Text] 58 = Success | ||
+ | </ | ||
+ | |||
+ | **Logout Request from T4 FIX API Client** | ||
+ | |||
+ | < | ||
+ | >> 6/ | ||
+ | [FIXLOGOUT] | ||
+ | [MsgSeqNum] 34 = 3 | ||
+ | [SenderCompID] 49 = T4Test | ||
+ | [TargetCompID] 56 = test | ||
+ | [SendingTime] 52 = 20150611-17: | ||
+ | </ | ||
+ | |||
+ | **Successful Logout Response from T4 FIX API** | ||
+ | < | ||
+ | << 6/11/2015 12:42:11 PM [fixlogout] 34=3|49=test|56=T4Test|52=20150611-17: | ||
+ | [FIXLOGOUT] | ||
+ | [MsgSeqNum] 34 = 3 | ||
+ | [SenderCompID] 49 = test | ||
+ | [TargetCompID] 56 = T4Test | ||
+ | [SendingTime] 52 = 20150611-17: | ||
+ | [Text] 58 = Successful logout upon request | ||
+ | </ | ||
+ | [[developers: |