[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/1c8d8479 - PLEASE DO NOT REPLY BY MAIL.]
Hi Dale
Thank you for your response -
I would be most grateful if you are able to give me some feedback re: the first
part of my query alo copied below:
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
Thanks
Naresh
Are you able to comment on the first part of my > Hi Naresh, To address the
second part of your question
> > 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
>
> This looks correct. The delta value after allowing for NULL is zero so
> in the decoded message the NumberOfOrders field is present with a
> value of 1.
>
> Dale
> --
> Dale Wilson Principal Software Engineer Object Computing, Inc.
> (www.ociweb.com) Lead developer for QuickFAST (http:www.quickfast.org)
[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
-~----------~----~----~----~------~----~------~--~---