簡體   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