{{Quickfixn}} Quote <S> Tag appears more than once

Grant Birchmeier gbirchmeier at connamara.com
Fri Aug 9 07:30:33 PDT 2019


You might be able to hack QF/n to accept the message, but you might have
trouble extracting the second field.  When you call GetField (or GetString
or whatever), it will return the first instance of the field.  There will
be no function to return the second instance (because it shouldn't exist in
properly-crafted FIX).

To get the second instance, you'll probably have to call msg.ToString() and
use a regex or something on the result.

On Fri, Aug 9, 2019 at 2:06 AM Russell Watson <russellwatson at gmail.com>
wrote:

> Thanks Grant,
>
> The documentation doesn't detail this wrong use of this field which leads
> me to believe it is a quirk of their system. I agree 2 unique tags would
> have been a viable solution.
>
> I will report this issue to them.
>
> I can rationalise why they have done it as they are endeavouring to
> disclose the different fix interest components for a two way quote so 1st
> relates to SELL and 2nd relates to BUY presumably. It doesn't make it
> correct and as agreed previously 2 unique tags would have been a viable
> solution.
>
> Another mailing list participant has suggested a work around as he faced
> the same issue which I intend to pursue -> compile QuickFIX from source and
> disable the checks that are identifying this issue. I considered using
> another library and located 3 (fix8, hotfix and rapidfix) the most
> promising fix8 nuget package is malformed so that stopped me in my tracks
> and the other 2 are very raw.
>
> Rgds
> Russ
>
> On Thu, 8 Aug 2019 at 16:22, Grant Birchmeier <gbirchmeier at connamara.com>
> wrote:
>
>> Russell,
>>
>> Does your counterparty have documentation that actually specifies that
>> they consider this to be correct behavior?  Do they actually tell you that
>> there will be two 159 tags in one message, and that the first instance
>> means something different than the second one?
>>
>> If true, it would be very odd.  It implies that someone on their end does
>> not properly understand the FIX specification.  The proper approach would
>> be to simply use 2 unique tags for these 2 values.  Easy!
>>
>> In my 10 years working with FIX, I've seen a lot of weird stuff.  But
>> this is a new one.  (And I don't see a quick hack that would allow QF/n to
>> support it.)
>>
>> I highly recommend that you report this as a bug to your counterparty.
>> They may blow you off, but if enough of their clients complain, maybe
>> they'll feel the pressure to do it right.
>>
>> -Grant
>>
>>
>>
>> On Thu, Aug 8, 2019 at 1:56 AM Russell Watson <russellwatson at gmail.com>
>> wrote:
>>
>>> Thanks Kevin for the insight much appreciated. Also according to
>>> https://stackoverflow.com/questions/23357620/capturing-incoming-fix-messages-which-fail-quickfix-validation
>>> there is no way to capture incoming FIX messages which fail quickfix
>>> validation.
>>>
>>> It looks like unless I can get the counterparty to adapt their wrong use
>>> of FIX message I am unable to use QuickFIX/N.
>>>
>>> Hopefully if someone takes on the challenge of building an open source
>>> FIX engine for .net core they take on-board that there are many legacy
>>> system out there that do strange things.
>>>
>>> Thanks again
>>> Russell
>>>
>>> On Wed, 7 Aug 2019 at 15:11, Kevin Carlton <kcarlton at k2.ca> wrote:
>>>
>>>> So to be clear, the message below is invalid FIX. You can not handle a
>>>> tag twice unless it is in a repeating group. This is probably something
>>>> your counterparty should be correcting. Plus, tag 159 doesn’t really make
>>>> sense on a Quote Message. So something funny is going on.
>>>>
>>>>
>>>>
>>>> If all you need is for the message to not be rejected, then maybe you
>>>> could configure your settings to not use a DataDictionary, and turn off all
>>>> the validation flags? Not sure if this will work. I think you may still
>>>> reject.
>>>>
>>>>
>>>>
>>>> *From:* Quickfixn <quickfixn-bounces at lists.quickfixn.com> *On Behalf
>>>> Of *Russell Watson
>>>> *Sent:* Wednesday, August 7, 2019 9:50 AM
>>>> *To:* Mailing list for QuickFIX/n <quickfixn at lists.quickfixn.com>
>>>> *Subject:* Re: {{Quickfixn}} Quote <S> Tag appears more than once
>>>>
>>>>
>>>>
>>>> Thanks Kevin for the prompt response much appreciated.
>>>>
>>>>
>>>>
>>>> If I understand correctly then my problem isn't with groups as there is
>>>> not actually a 9876 tag is the message, I was trying to use groups to allow
>>>> the use of tag 159 twice. My problem is with the same tag 159 (in yellow
>>>> bellow) being used twice. Any ideas how I handle 159 twice?
>>>>
>>>>
>>>>
>>>> 8=FIX.4.2 9=355 35=S 49=xxx 115=xxxx 56=xxxxxx 34=2
>>>> 52=20190807-10:10:45 43=N 131=OR00999999x001 117=OU1JZXLH8B0000B4 55=TR30
>>>> 48=GB00B24FF097 22=4 167=CS 207=L 6158=xxxx 537=1 132=136.68 134=250000
>>>> 188=0.00 159=29.99 133=138.18 135=250000 159=29.66 190=0.00 157=62
>>>> 60=20190807-10:10:45.457 62=20190807-10:11:15 63=6 64=20190808 15=GBP
>>>> 120=GBP 9007=1 10=116
>>>>
>>>>
>>>>
>>>> Rgds
>>>>
>>>> Russell
>>>>
>>>>
>>>>
>>>> On Wed, 7 Aug 2019 at 14:30, Kevin Carlton <kcarlton at k2.ca> wrote:
>>>>
>>>> Russel,
>>>>
>>>>
>>>>
>>>> You have set up the NoAccruedInterestAmt (9876)  group, with one field
>>>> AccruedInterestAmt (159). But in the FIX message you provided there is no
>>>> tag 9876. For the “group” to be parsed correctly, there needs to be one
>>>> 9876 tag for each 159.
>>>>
>>>>
>>>>
>>>> It would like:
>>>>
>>>> 9876=1
>>>>
>>>> 159=29.99
>>>>
>>>> 9786=2
>>>>
>>>> 159=29.66
>>>>
>>>>
>>>>
>>>> The first 159 field belongs to the 9876=1 group, and the second to the
>>>> second group.
>>>>
>>>> In code you can then specify which 9876 group you want, by the number.
>>>>
>>>>
>>>>
>>>> *From:* Quickfixn <quickfixn-bounces at lists.quickfixn.com> *On Behalf
>>>> Of *Russell Watson
>>>> *Sent:* Wednesday, August 7, 2019 7:45 AM
>>>> *To:* quickfixn at lists.quickfixn.com
>>>> *Subject:* {{Quickfixn}} Quote <S> Tag appears more than once
>>>>
>>>>
>>>>
>>>> Hello,
>>>>
>>>> After many days of research and re-reading (
>>>> http://quickfixn.org/tutorial/custom-fields-groups-and-messages.html)
>>>> many times and trial and error regrettably I have been unable to solve the
>>>> error of Tag appears more than once in Quote <S> message
>>>>
>>>> The messages I am receiving
>>>>
>>>> <incoming> 8=FIX.4.2 9=355 35=S 49=xxx 115=xxxx 56=xxxxxx 34=2
>>>> 52=20190807-10:10:45 43=N 131=OR00999999x001 117=OU1JZXLH8B0000B4 55=TR30
>>>> 48=GB00B24FF097 22=4 167=CS 207=L 6158=xxxx 537=1 132=136.68 134=250000
>>>> 188=0.00 159=29.99 133=138.18 135=250000 159=29.66 190=0.00 157=62
>>>> 60=20190807-10:10:45.457 62=20190807-10:11:15 63=6 64=20190808 15=GBP
>>>> 120=GBP 9007=1 10=116
>>>>
>>>> <event> Message 2 Rejected: Tag appears more than once (Field=159)
>>>>
>>>> I have adapted the DataDictionary countless times with no success e.g.
>>>>
>>>> <messages>
>>>>   ...
>>>>
>>>> <message name='Quote' msgtype='S' msgcat='app'>
>>>> <!-- ... other fields ... -->
>>>> <group name="NoAccruedInterestAmt" required="N">
>>>>       <field name="AccruedInterestAmt" required="N"/>
>>>> </group>
>>>> <!-- ... other fields ... -->
>>>> </message>
>>>>
>>>>   ...
>>>> </messages>
>>>> ...
>>>> <fields>
>>>>   ...
>>>> <field number='9876' name='NoAccruedInterestAmt' type='NUMINGROUP'/>
>>>> <field number='159' name='AccruedInterestAmt' type='AMT' />
>>>> </fields>
>>>>
>>>> _______________________________________________
>>>> Quickfixn mailing list
>>>> Quickfixn at lists.quickfixn.com
>>>> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>>>
>>>> _______________________________________________
>>>> Quickfixn mailing list
>>>> Quickfixn at lists.quickfixn.com
>>>> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>>>
>>> _______________________________________________
>>> Quickfixn mailing list
>>> Quickfixn at lists.quickfixn.com
>>> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>>
>>
>>
>> --
>> Grant Birchmeier
>> *Connamara Systems, LLC*
>> *Made-To-Measure Trading Solutions.*
>> Exactly what you need. No more. No less.
>> http://connamara.com
>> _______________________________________________
>> Quickfixn mailing list
>> Quickfixn at lists.quickfixn.com
>> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>>
> _______________________________________________
> Quickfixn mailing list
> Quickfixn at lists.quickfixn.com
> http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
>


-- 
Grant Birchmeier
*Connamara Systems, LLC*
*Made-To-Measure Trading Solutions.*
Exactly what you need. No more. No less.
http://connamara.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quickfixn.com/pipermail/quickfixn-quickfixn.com/attachments/20190809/a96172fe/attachment.htm>


More information about the Quickfixn mailing list