Before using FIX Connect on a live production environment, it is important to ensure that the client application works as expected and can recover from order rejects, missed events, etc. This verification is achieved through FIX Connect conformance testing. CQG provides connectivity to a testing environment where you can test and debug your applications using simulation trading accounts. Please schedule your conformance test by sending a request by email to apihelp@cqg.com.
Tests are grouped in several sets that correspond to areas of CQG Gateway FIX functionality. All tests from a set should be passed to consider an area to be supported by a client application. All scenarios enumerated below include all dependencies; if you are testing for more than one scenario, developers should account for current state of server connection before sending API calls that will either throw errors or create unnecessary traffic.
• Logon and Logout
• Simple Orders (basic order types, futures, options, and spreads)
• Smart Orders (quantity-triggered stops, icebergs)
• Requests and Reports (working orders, positions, account data)
Conformance testing is done using the CQG gateway trading simulator, which uses real-time market quotes. This requires the tests to be performed during market hours of the selected contracts and exchanges. The order expiration test must be performed near the closing time of the day trading session of the selected contract.
Connection Details
QG
demo |
demo.cqgtrader.com (IP address is 208.48.16.202) Port: 6912 |
TargetCompID |
CQG_Gateway (Header field required for all messages.) |
SenderCompID |
<<CQG Gateway Trader Username>> |
SenderSubID |
Test FIX (Header field. Only required in Logon message, ignored otherwise.) |
RawData (Tag 96) |
pass (Only required in Logon message. Considered to be plain text string field. Can be accompanied by an optional RawDataLength field.) |
AccountID (Tag 1) |
<<CAST AccountID>> (Required value when managing orders.) |
Use Account ID 1 for all tests unless specified otherwise.
Contract Symbols
Indirect contract names, such as <Futures 1> or <Futures Spread 1> indicate the types of contracts to be used.
Please use the symbols from the welcome letter when below symbols are not available.
The symbols to be used are not fixed and can be changed during the testing while keeping the instrument type the same.
As contracts expire, the current front month contract should be used unless otherwise agreed during testing.
For options, use any strike prices available at the moment.
Sample mapping of contract names:
Indirect contract name used in tests |
Real contract name example |
Futures 1 |
F.US.TYAMYY* |
Futures 2 (next year) |
F.US.EDAMYY |
Futures 3 |
F.US.QOMYY |
Futures 4 |
F.US.EDAMYY |
Futures 5 |
F.US.EPMYY |
Call Option 1 |
C.US.EPMYY43250 |
Put Option 1 |
P.US.TYAMYY43250 |
Futures Spread 1 (native) |
F.US.EPW1MYY |
* Note: M stands for the month code. i.e. Contract TYA with maturity date September will have month code = U. Month codes:
Jan |
Feb |
Mar |
Apr |
May |
Jun |
Jul |
Aug |
Sep |
Oct |
Nov |
Dec |
F |
G |
H |
J |
K |
M |
N |
Q |
U |
V |
X |
Z |
YY stands for the last two digits of current year; i.e. Contract TYA with maturity date September 2023 will be F.US.TYAU23.