[Quickfix-developers] MarketDepth validation
Brought to you by:
orenmnero
|
From: Dale W. <wil...@oc...> - 2005-07-22 19:31:05
|
Hi,
I've run into a problem with Market Data request messages:
Environment: Quickfix ; C++ library V1.10.2; WindowsXP Pro
The FIX 4.2 specification describes MarketDepth (tag 264) as:
Depth of market for Book Snapshot
Valid values:
0 = Full Book
1 = Top of Book
N>1 = Report best N price tiers of data
In FIX42.xml this is represented as:
<field number="264" name="MarketDepth" type="INT">
<value enum="0" description="FULL_BOOK"/>
<value enum="1" description="TOP_OF_BOOK"/>
</field>
The problem comes when validating a message that tries to use the "N>1"
option. The message is rejected because the value doesn't match one of
the enumerated ones. See interpreted logs below for details.
What's the right way to handle this situation?
Dale
==========INCOMING MESSAGE===============
8=FIX.4.2 | BeginString = FIX.4.2
9=129 | BodyLength = 129
35=V | MsgType = MarketDataRequest
34=2 | MsgSeqNum = 2
49=CLIENT | SenderCompID = CLIENT
52=20050722-14:56:12.000
| SendingTime = 20050722-14:56:12.000
56=EXGATEWAY
| TargetCompID = EXGATEWAY
----------------------------------------
146=1 | NoRelatedSym = 1
55=FTNL20060300
| -> Symbol = FTNL20060300
262=0 | MDReqID = 0
263=1 | SubscriptionRequestType = SNAPSHOT_PLUS_UPDATES
264=10 | MarketDepth = 10
265=1 | MDUpdateType = 1
266=Y | AggregatedBook = Y
267=2 | NoMDEntryTypes = 2
269=0 | -> MDEntryType = BID
269=1 | -> MDEntryType = OFFER
----------------------------------------
10=189 | CheckSum = 189
==========REPLY==================
8=FIX.4.2 | BeginString = FIX.4.2
9=133 | BodyLength = 133
35=3 | MsgType = Reject
34=2 | MsgSeqNum = 2
49=EXGATEWAY
| SenderCompID = EXGATEWAY
52=20050722-14:56:12.000
| SendingTime = 20050722-14:56:12.000
56=CLIENT | TargetCompID = CLIENT
----------------------------------------
45=2 | RefSeqNum = 2
58=Value is incorrect (out of range) for this tag
| Text = Value is incorrect (out of range)
for this tag
371=264 | RefTagID = 264
372=V | RefMsgType = MarketDataRequest
373=5 | SessionRejectReason = 5
----------------------------------------
10=009 | CheckSum = 009
|