Skip to main content

CQG Trade Connector

Features

fix-cqgConnector Key
Instruments
EQUITYETFBONDINDEXFXOPTIONFUTURESYNTHETICCFD
Request Types
SUBMITCANCELREPLACE
Order Types
MARKETLIMITSTOPSTOP_LIMIT
Time In Force
DAYGTCAT_THE_OPENINGIOCFOKGOOD_TILL_CROSSINGGTDAT_THE_CLOSE
Order ID Mapper
COMPOSITE
Order Status Request
Cancel On Disconnect
Commission
Post Only
Fast Cancel
Fast Replace

Notes

Documentation

Custom Attributes

Use customAttributesSet settings to control what order attributes can be forwarded to FIX messages.
The null value (default) means that order attributes will be ignored.

Note: CQG may reject trade requests if the FIX message contains unsupported tags.

Sequence Reset

By default, FIX logical sessions are tied to connections — sequence number 1 must be used in the Logon message on each reconnect.
If session persistence is enabled, the client may instead send the next expected sequence number in the Logon message with ResetSeqNumFlag set to N.

Expire Time

The connector populates:

  • ExpireTime(126) if TimeInForce(59) = A (Good Till Time)
  • ExpireDate(432) if TimeInForce(59) = 6 (Good Till Date)

PayupModel(9105)

PayupModel(9105) has alias tag 7105 because Strategy Server uses 9105 for internal purposes.

Reconnect Interval

Reconnect interval: 30 seconds.

The CQG gateway limits the number of logon requests during a specific time interval.
The current limit is 20 logons within 5 minutes.
If the logon rate exceeds that limit, the incoming logon message is rejected via the logout message.

Known Issues

If an order contains an invalid symbol (e.g. F.US.EPM245290) that is a prefix-extension of a valid symbol (F.US.EPM24),
CQG may silently substitute the valid prefix symbol.

Symbology

CQG Symbology

CQG does not enforce a sequence reset schedule.

Configuration

Connector settings

ParameterDefault ValueDescription
onBehalfOfCompIdFirm name of trader on whose behalf this order request should be sent.
onBehalfOfSubIdCQG username of the trader on whose behalf this order request should be sent. That trader needs to be authorized for trading on the same account.
deliverToCompIdTrading firm that the trader specified in tag 116 (DeliverToSubID) belongs to.
senderLocationIdAssigned value used to identify location of message originator.
useTraderfalseUse request's Trader ID (if provided) for OnBehalfOfSubID(116)
accountAccount ID (managed by the CQG gateway).
useAccountfalseThe flag to define whether to use order account in preference of default account.
customAttributesSetThe set of order request attributes which should be passed in FIX message. Format: 18,521,6000-6500. If null - attributes will not be passed.
parties.traderFIDTypeFlexible Identifier Type. Describes the value being provided in PartyID (tag 50448).
parties.partyIdIdentification of the party.
parties.partyRoleIdentifies the type or role of the PartyID (50448) specified.

Supported order attributes

KeyDescription
116,6116OnBehalfOfSubId(116). CQG username of the trader on whose behalf order is being placed.
142,6142SenderLocationID(142). Identifies specific message originator's location (i.e. geographic location).
115,6115OnBehalfOfCompID(115). Broker company ID used when sending notifications via the CQG gateway.
128,6128DeliverToCompID(128). Broker company ID to deliver messages via the CQG gateway.

Config sample

connectors {
CQG: ${template.connector.fix.cqg} {
settings: {
host = "<HOST>"
port = <PORT>

senderCompId = "<SENDER_COMP_ID>"
targetCompId = "<TARGET_COMP_ID>"

deliverToCompId = "DELIVER_TO_COMP_ID" # optional
onBehalfOfCompId = "ON_BEHALF_OF_COMP_ID" # optional
onBehalfOfSubId = "ON_BEHALF_OF_SUB_ID" # optional

password = "<PASSWORD>"
account = "ACCOUNT"
}
}
}