繁体   English   中英

验证前两个字段交换顺序的 QuickFix/N 重复组

[英]Validating QuickFix/N Repeating Group Where First Two Fields Swap Order

我正在实现一个连接到服务器的客户端,据我所知,它使用 FIX4.2 和 FIX4.4 的混合体。

当某些事件发生时,服务器会以非标准顺序发送带有字段的组 453 (NoPartyIDs)。

根据规范文档,第一个字段应该是 PartyID (448)。 对于某些消息,组中的第一个字段是 PartyIDSource (447),消息被拒绝。 根据规范,PartyIDSource 是组中的第二个字段。

我收到以下错误:

<event> Message 140 Rejected: Group 453's first entry does not start with delimiter 448 (Field=453)

从文档和反复试验中,我找不到解决这个问题的方法。 在一些猜测中,我尝试将字段 447 添加为数据字典中组定义中的第一个(非必需)字段。 我还在配置中将 ValidateFieldsOutOfOrder 设置为 N。

我可以做些什么来不拒绝和处理消息吗?

相关文件:

组比数据字典的其他部分更细微。

组是在消息中定义的,带有组标记。 group 标记的第一个子元素是 group-counter 标记,后面是组中的其他字段,按照它们在消息中出现的顺序排列。

ValidateFieldsOutOfOrder与此处无关,因此您可以将其删除。

如果我没理解错的话,你是说

  • 有时 447 出现在 448 之前
  • 在其他时候448 在 447 之前

如果这是真的,那么不幸的是你的交易对手真的很愚蠢。 根据 FIX 规范,重复组中字段的顺序应该是一致的。 (而且,每个组序列的第一个字段始终需要存在。)如果它们是翻转字段,则它们违反了 FIX。

如果顺序一致,您只需编辑您的 DD 来更改顺序,听起来您已经尝试过了。 但如果你的交易对手反复无常,那么你的 DD 总会有一部分时间是错误的。

我没有好的答案给你。 QF/n 并非旨在处理交易对手执行 FIX 错误的所有方式(也不应该)。

您的交易对手的实施草率。 尝试联系他们的支持,看看他们是否会修复它?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM