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

(Eddie) John Jackson eddie at datobyte.com
Fri Aug 9 07:32:57 PDT 2019


Why do they not just create a custom GROUP.

Eddie

From: Quickfixn <quickfixn-bounces at lists.quickfixn.com> On Behalf Of Grant Birchmeier
Sent: Friday, August 9, 2019 10:31 AM
To: Mailing list for QuickFIX/n <quickfixn at lists.quickfixn.com>
Subject: Re: {{Quickfixn}} Quote <S> Tag appears more than once

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<mailto: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<mailto: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<mailto: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<mailto: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<mailto: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<mailto: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<mailto: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<mailto: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<mailto: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<mailto:Quickfixn at lists.quickfixn.com>
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto:Quickfixn at lists.quickfixn.com>
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto: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<mailto:Quickfixn at lists.quickfixn.com>
http://lists.quickfixn.com/listinfo.cgi/quickfixn-quickfixn.com
_______________________________________________
Quickfixn mailing list
Quickfixn at lists.quickfixn.com<mailto: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/2fa54278/attachment.htm>


More information about the Quickfixn mailing list