[This message was posted by Naresh Maharaj of Instinet Europe plc
<[email protected]> to the "FAST Protocol" discussion forum at
http://fixprotocol.org/discuss/46. You can reply to it on-line at
http://fixprotocol.org/discuss/read/e8ce0dfb - PLEASE DO NOT REPLY BY MAIL.]
I have the following template:
Part of template
[decimal name="MDEntrySize" id="271" presence="optional"]
[exponent][copy value="0"/][/exponent]
[mantissa][delta/][/mantissa]
[/decimal]
pmap [1] for the exponent
no bit for the mantissa as this is a delta operator
For the exponent I get the following hex value 0x83 which is 3 minus (1) for
being optional && greater than zero giving a total value for the exponent of 2
For the mantissa the next hex value is 0x80 which is mandatory and a signed
integer null.
Therefore when I get the final decimal it reads as [0 x 10.pow(2)] = 0;
This seems correct except when I compare this to the openfast implementation I
get 100 (as below line 7 271=100)
The lines below show 4 entries under a single sequence.
The line beginning with '+' are from my own implementation.
The line with * is from openfast implementation
Both versions processing the exact same binary message.
You can see line 8, field value 271=0 and does not match the openfast results.
13:16:26.345 DEBUG: SWX
SenderCompID:SWXGROUP-MDI.P01|MsgSeqNum:1290985|PossResend:N|SendingTime:20090929-12:31:06.631|MDBookType:2|NoMDEntries:4
* 279=2,269=0,48=CH0047533572,273=12:31:06.616,336=EBRk,1023=3,83=33358
+ 279=2,269=0,48=CH0047533572,273=12:31:06.616,336=EBRk,1023=3,83=33358
*
279=0,269=0,48=CH0047533572,270=1595.44,271=100,273=12:31:06.616,336=EBRk,346=0,6566=1,1023=3,83=33359
+
279=0,269=0,48=CH0047533572,270=1595.44,271=100,273=12:31:06.616,336=EBRk,346=0,6566=1,1023=3,83=33359
* 279=2,269=1,48=CH0047533572,273=12:31:06.616,336=EBRk,1023=2,83=33360
+ 279=2,269=1,48=CH0047533572,273=12:31:06.616,336=EBRk,1023=2,83=33360
*
279=0,269=1,48=CH0047533572,270=1610.44,271=100,273=12:31:06.616,336=EBRk,346=0,6566=1,1023=2,83=33361
+ 279=0,269=1,48=CH0047533572,270=1610.44,271=0,
273=12:31:06.616,336=EBRk,346=1,6566=1,1023=2,83=33361
Another issue I noticed was reference to 346=1 (ln 8)
Part of template
[uInt32 name="NumberOfOrders" id="346" presence="optional"] [delta value="1"/]
[/uInt32]
The value of hex is 0x81 = 1 minus (1) for optional && greater than zero which
then has a field value of 0;
But as per the context instruction above the delta value is 1 and the Entry in
in the state undefinded so the initial Uint value = 1;
Is this correct or have I made a wrong interpretation
[You can unsubscribe from this discussion group by sending a message to
mailto:[email protected]]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Financial Information eXchange" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/fix-protocol?hl=en
-~----------~----~----~----~------~----~------~--~---