STANDARD HEADER
Tag
Field Name
Required
Comments
BeginString
FIX.4.4
BodyLength
35
MsgType
49
SenderCompID
56
TargetCompID
115
OnBehalfOfCompID
Not supported
128
DeliverToCompID
Not supported
90
SecureDataLen
Not supported
91
SecureData
Not supported
34
MsgSeqNum
50
SenderSubID
Not supported
142
SenderLocationID
Not supported
57
TargetSubID
Not supported
143
TargetLocationID
Not supported
116
OnBehalfOfSubID
Not supported
144
OnBehalfOfLocationID
Not supported
129
DeliverToSubID
Not supported
145
DeliverToLocationID
Not supported
97
PossResend
52
SendingTime
122
OrigSendingTime
212
XmlDataLen
213
XmlData
347
MessageEncoding
Not supported
369
LastMsgSeqNumProcess
ed
Not supported
370
OnBehalfOfSendingTime
Not supported
result
of
STANDARD TRAILER
Tag
93
Field Name
SignatureLength
Required
N
Comments
Not supported.
89
Signature
10
CheckSum
Not supported.
Checksum Calculation
Please refer to the FIX documentation available at www.fixprotocol.org for checksum calculation
algorithm specifications.
HEARTBEAT
Heartbeat messages can be initiated by either the client or the server.
Tag
112
Field Name
Required
Comments
Standard Header
MsgType = 0
TestReqID
Standard Trailer
TEST REQUEST
Test Request messages may be initiated by the client or the server. The server may initiate this
message under the control of the FIX engine if it believes there is a problem with the socket.
Upon receipt of this message, the server will respond with a Heartbeat message.
6
Tag
112
Field Name
Required
Comments
Standard Header
MsgType = 1
TestReqID
Standard Trailer
RESET REQUEST
Either the client or the server, in response to a detected gap in the message sequences, can
initiate a Reset Request message. It requests a resend of the messages from BeginSeqNo through
to and including EndSeqNo.
Tag
Field Name
Required
Standard Header
BeginSeqNo
16
EndSeqNo
Standard Trailer
Comments
MsgType = 2
REJECT (SESSION)
A message reject is issued when an incoming message fails session level validation. Either the
client or the server can produce this message, although the client is very unlikely to do so, as all
FIX messages produced by the server are supposed to be FIX compliant.
When this type of message is produced by the server, the error will have been detected by the FIX
engine and suitable text will be found in tag 58. The field in error is found in tag 371 and the
sequence number of the message in error is found in tag 45.
Tag
Field Name
Required
Comments
Standard Header
MsgType = 3
45
RefSeqNum
371
RefTagID
372
RefMsgType
373
SessionRejectReason
58
Text
Standard Trailer
SEQUENCE RESET
The client may generate a Sequence Reset message when responding to a Reset Request in
order to skip messages. Please read the information on the importance of proper sequence
number reset co-ordination and sequence number processing in section This is a recommended
mechanism to ensure that stale orders are not re-transmitted in the event that the connection has
been down for an extended period.
This message is not produced by the server, when the server responds to Reset Requests all
requested messages are re-sent.
Tag
Field Name
Required
Comments
Standard Header
MsgType = 4
123
GapFillFlag
36
NewSeqNo
Standard Trailer
The GapResetFlag (tag 123) should normally be present and set to Y in order to skip the
messages. This is called a Sequence Reset (Gap Fill) and the server will set the next expected
sequence number to the value of NewSeqNo (tag 36), thus skipping intervening messages. It is
important to note that the sequence number of this message should be the sequence number of
the first message to be skipped.
LOGOUT
This message is created by the client application when it wishes to disconnect a session.
Field Name
Requir
ed
Comments
Standard Header
MsgType = 5
58
Text
Not supported
20005
NoClusterNodes
20009
1 Quote stream
2 Trade stream
Tag
NodeID
20007
NodeLoad
20008
ConnectionMode
20001
N
NoServerURLs
Y
20002
NodeHost
20003
NodePort
20004
NodeProtoc
ol
Standard Trailer
LOGON
FIX logon authentication requires a valid Cointex user SenderID name and a password. The user
must have rights for logon as FIX client.
A Logout message is sent in all these cases with the Text(58) field containing the error description.
Field Name
Requir
ed
Comments
Standard Header
MsgType = A
98
EncryptMethod
Ignored, use 0.
108
HeartBtInt
141
ResetSeqNumFlag
554
Password
98
EncryptMethod
Ignored, use 0.
108
HeartBtInt
141
ResetSeqNumFlag
NodeID
NoClusterNodes
20009
Tag
20009
20005
NodeID
10
20007
1 Quote stream
2 Trade stream
NodeLoad
20008
ConnectionMode
20001
N
NoServerURLs
Y
20002
NodeHost
20003
NodePort
20004
NodeProtoc
ol
Standard Trailer
11
Field Name
Required
Comments
Standard Header
MsgType = c (lowercase)
320
SecurityReqID
321
SecurityRequestType
Ignored, use 3
55
Symbol
Instrument name
48
SecurityID
Instrument Id
22
IDSource
Not supported.
167
SecurityType
Standard Trailer
Most of the fields are unsupported due to the fact that on the Cointex FIX Trading Server, use of
this message is limited to requesting a list of available securities. It is not possible to use this
message to request that a particular security be traded on the Cointex servers.
The fields listed in the next table are used to specify filters on the returning data. Presence of a
field will indicate to the server that data should be filtered by that value. Absence of the field
indicates that the data should be wild-carded for that item. For example, to request all instrument of
Spot instrument type, use 207=Spot but do not specify the Symbol tag.
12
SECURITY DEFINITION
The Security Definition is send by the server on client logon or in response to a Security Definition
Request to list the available securities on the gateway. This does not list all securities defined on
the Cointex servers only the securities that your logon has received permission to access. If a
Security Definition Request is being rejected (e.g. not type 3) then the returned message will
contain no securities.
Tag
Field Name
Required
Comments
Standard Header
MsgType = d (lowercase)
320
SecurityReqID
As supplied in Request.
322
SecurityResponseID
323
SecurityResponseType
55
Symbol
4 (returning a list)
5 (rejecting a request)
6 (could not match selection)
Instrument name
48
SecurityID
167
SecurityType
200
MaturityMonthYear
Not supported.
205
MaturityDay
Not supported.
201
PutOrCall
Not supported.
202
StrikePrice
Not supported.
15
Currency
58
Text
Instrument description
454
NoUnderlyings
13
7020
CrossInstrumentType
7021
CrossInstrumentId
7022
CurrencyMinChange
Accuracy of instrument.
16470
LotSizeOption
16552
ExchTickSize
Tic size
16554
ExchPointValue
460
InstrumentType
Standard Trailer
FOREX = 1;
EQUITIES = 2;
FUTURES = 3;
OPTIONS = 4;
EQUITIES_CFD = 5;
FORWARD = 6;
FUTURES_CFD = 7;
INDICIES= 8;
GENERAL = 0;
14
Field Name
Required
Comments
Standard Header
18200
GatewayStatusReqId
263
SubscriptionRequestType
Not supported.
Standard Trailer
ROUTE STATUS
The Route Status message is sending on client logon or returned by the server in response to a
Route Status Request.
Field Name
Require
d
Comments
Standard Header
20009
NodeID
18200
GatewayStatusReqId
18201
NoGatewayStatus
Tag
15
18202
GatewayStatu
s
207
SecurityExcha
nge
20015
QuoteSecurityE
xchange
18203
ExchangeGat
eway
18204
SubExchange
Gateway
58
Text
Standard Trailer
1: Halted
2: Open
3: Closed
Generally to user will be send only Route Status
message with GatewayStatus=2.
Cointex route name.
1: Price
16
Tag
Field Name
Required
Comments
Standard Header
MsgType = V
262
MDReqID
263
SubscriptionRequest
Type
1 subscribe
2 unsubscribe
264
MarketDepth
1 Level I
0 Full cup
*For full market depth server do not send
MDEntryPositionNo , only MDEntryID.
265
MDUpdateType
266
AggregatedBook
Ignored.
267
NoMDEntryTypes
269
MDEntryTy
pe
17
146
NoRelatedSym
55
Symbol
167
SecurityTy
pe
200
MaturityM
onth
Year
MaturityDa
y
201
PutOrCall
202
StrikePrice
207
Security
Exchange
205
Standard Trailer
Tag
Field Name
Required
Comments
Standard Header
MsgType = X
262
MDReqID
268
NoMDEntries
279
0 (new)
1 (change)
2 (delete)
MDUpdate
Action
18
269
MDEntryTy
pe
278
MDEntryID
280
MDEntryR
efID
Not supported.
55
Symbol
48
SecurityID
167
SecurityTy
pe
200
MaturityMo
nthYear
205
MaturityDa
y
201
PutOrCall
202
StrikePrice
207
SecurityEx
change
270
MDEntryPx
271
MDEntrySi
ze
272
MDEntryD
ate
273
MDEntryTi
me
290
MDEntryPo
sitionNo
Standard Trailer
19
Field Name
Required
Comments
Standard Header
MsgType = W
262
MDReqID
201
PutOrCall
200
MaturityMonthYear
205
MaturityDay
55
Symbol
167
SecurityType
48
SecurityID
Cointex instrument ID
207
SecurityExchange
268
NoMDEntries
269
MDEntryType
278
MDEntryID
275
MDMkt
Source of quote
270
MDEntryPx
271
MDEntrySize
290
MDEntryPositi
onNo
Standard Trailer
20
NEWS MESSAGES
The News Messages using for send news to client.
Tag
Field Name
Required
Comments
Standard Header
42
OrigTime
61
Urgency
148
Headline
Headline of news.
146
NoRelatedSym
55
Symbol
22
IDSource
LinesOfText
58
Text
MsgType = B (uppercase)
149
URLLink
URL link.
6515
NewsID
6940
NewsSource
6518
NewsType
Standard Trailer
The AccountStatus Messages using for send account info to client. It sent by server on client logon
and when account info are changed.
Tag
Field Name
Required
Comments
Standard Header
Account
Account name
7001
AccountId
Cointex Account id
7002
UserID
Cointex user id
553
Username
7004
ClientType
7006
UserGroupID
7008
UserStatus
7010
Balance
Account balance.
7011
BlockedSum
7012
Leverage
7013
TradingLevel
7014
WarningLevel
7015
MarginLevel
7016
CommisionId
15
Currency
Account currency
7020
CrossInstrumentType
22
7021
CrossInstrumentId
7022
CurrencyMinChange
7023
Master
Standard Trailer
Field Name
Required
Comments
Standard Header
MsgType = D
11
ClOrdID
73
NoOrders
37
OrderID
Account
21
HandlInst
55
Symbol
167
SecurityType
23
200
MaturityMonthYear
205
MaturityDay
201
PutOrCall
202
StrikePrice
207
SecurityExchange
54
Side
60
TransactTime
38
OrderQty
40
OrdType
44
Price
Supported types:
1 market;
2 limit;
3 stop.
Order price for limit and market orders. For market
orders price is indicative and not required.
99
StopPx
15
Currency
117
QuoteID
Reserved.
59
TimeInForce
Varies by exchange
432
ExpireDate
58
Text
583
ClOrdLinkID
77
OpenClose
18205
slPrice
18206
tpPrice
24
Standard Trailer
Note, that if you have specifing SL/TP price, then system create independent Stop/Limit
order that is bound to main order. You can work with this orders (cancel, modify), like with
normal Stop/Limit Orders.
Field Name
Required
Comments
55
Symbol
167
SecurityType
200
MaturityMonthYear
205
MaturityDay
207
SecurityExchange
201
PutOrCall
202
StrikePrice
The Order Cancel/Replace is sent by the client application to amend an order that has a working
status. It may not be used to re-open an order by increasing the volume of a completed order.
Part-filled orders may be amended, but not fully filled orders. Attempts to do so will result in a
Cancel Reject with no such order.
If an Order Cancel/Replace is accepted by the business rules but rejected downstream (for
example, if the exchange connection is disabled) the system will deliver an Execution Report for
the pending state followed by a Cancel Reject.
Tag
Field Name
Required
Comments
Standard Header
MsgType = G
37
OrderID
Cointex Order ID
11
ClOrdID
Account
21
HandlInst
55
Symbol
167
SecurityType
200
MaturityMonthYear
205
MaturityDay
201
PutOrCall
202
StrikePrice
207
SecurityExchange
54
Side
60
TransactTime
26
38
OrderQty
Number of lots.
152
CashOrderQty
Not supported.
40
OrdType
44
Price
99
StopPx
59
TimeInForce
41
OrigClOrdID
168
EffectiveTime
Not supported.
432
ExpireDate
77
OpenClose
527
SecondaryExecID
ID of open position
Standard Trailer
ORDER CANCEL
The Order Cancel is sent by the client application to cancel all the remaining volume of a working
order. To reduce the volume of an order, you should use Order Cancel/Replace.
Tag
Field Name
Required
Comments
Standard Header
MsgType = F
41
OrigClOrdID
37
OrderID
11
ClOrdID
27
Account
55
Symbol
48
SecurityID
Optional.
167
SecurityType
Ignored.
200
MaturityMonthYear
Ignored.
205
MaturityDay
Ignored.
201
PutOrCall
Ignored.
202
StrikePrice
Ignored.
207
SecurityExchange
Ignored.
54
Side
60
TransactTime
38
OrderQty
Ignored.
Standard Trailer
EXECUTION REPORT
The execution report message is sent by the server to your application for the following reasons:
The OrdStatus and ExecType fields are important for determining the sequence of events that took
place. Some of these scenarios are discussed in further detail below.
28
Tag
Field Name
Required
Comments
Standard Header
37
OrderID
198
SecondaryOrderID
Not supported.
11
ClOrdID
41
OrigClOrdID
17
ExecID
19
ExecRefID
Not supported.
150
ExecType
39
OrdStatus
103
OrdRejReason
Not supported.
378
ExecRestatementReas
on
Account
55
Symbol
48
SecurityID
Cointex instrument ID
167
SecurityType
200
MaturityMonthYear
205
MaturityDay
For Options.
201
PutOrCall
For Options.
202
StrikePrice
For Options.
29
207
SecurityExchange
54
Side
38
OrderQty
Order volume
40
OrdType
44
Price
99
StopPx
59
TimeInForce
432
ExpireDate
32
LastQty
60
TransactTime
77
PositionEffect
64
SettlDate
Date of settlement
31
LastPx
151
LeavesQty
14
CumQty
AvgPx
21
HandlInst
77
OpenClose
58
Text
527
SecondaryExecID
ID of open position
30
Standard Trailer
ExecType I = Order Status used in execution report messages that were sent for update
position/order status or as response on Order Status request.
Field Name
Required
Comments
Standard Header
MsgType = 9
37
OrderID
198
SecondaryOrderID
Not supported.
11
ClOrdID
41
OrigClOrdID
39
OrdStatus
Account
60
TransactTime
Not supported.
434
CxlRejResponseTo
102
CxlRejReason
58
Text
354
EncodedTextLen
Not supported.
31
355
EncodedText
Standard Trailer
Not supported.
The order status request can be used teo get list of opened positions or active orders.
Note, that during startup (after Logon) the system sent the list of active orders
automatically.
Tag
Field Name
Required
Comments
790
OrdStatusReqID
55
Symbol
54
Side
1- buy, 2 sell
37
OrderId
Cointex OrderID
790
OrdStatusReqID
20000
IntField
Account
Standard Trailer
Tag
710
Field Name
Require
d
Comments
Standard Header
MsgType = AN
PosReqID
32
724
PosReqType
0 = Positions only
55
Symbol
Account
Cointex account
715
ClearingBusinessDate
Standard Trailer
name
Field Name
Required
Comments
Standard Header
MsgType = AD
568
TradeRequestID
Unique request id
569
TradeRequestType
Must be 0
37
OrderID
Cointex order id
55
Symbol
Instrument Name
207
SecurityExchange
580
NoDate
75
TradeDate
60
TransactTi
me
33
Field Name
Required
Comments
Standard Header
MsgType = AE
568
TradeReportID
Unique report id
569
TradeRequestID
If have requested?
912
LastRptRequested
55
Symbol
207
SecurityExchange
570
PreviouslyReported
Not supported.
32
LastQty
Trade Quantity
31
LastPx
Trade Price
75
TradeDate
Not supported
60
TransactTime
552
NoSides
Number of sides
64
SettlDate
54
Side
1 (buy) or 2 (sell)
37
OrderID
Unique order id
Account
Account name
34
119
SettlCurrA
mt
LastPx*LastQty
198
Secondary
OrderID
Counter Order ID
Note: Trade capture report will be sent only in real time connection
35