FIX 协议:指定的标签不符合要求

Bal*_*laB 0 fix-protocol quickfixj

我收到 35=D (NewOrderSingle) 请求的拒绝响应。想知道可能是什么问题。我正在关注这个文件

FIX.4.4:Paragxxxx_FIX->CfhDemoPrices:Trade------client toApp-----------8=FIX.4.4 9=163 35=D 34=2 49=Paragxxxx_FIX 52=20200227-04:30:02.863 56=CfhDemoPrices 11=FGQ_MLM_01_20200225-08:48:28 21=1 38=10000 40=1 54=1 55=EURUSD 60=20200227-04:30:02.861 10=182

FIX.4.4:Paragxxxx_FIX->CfhDemoPrices:Trade------client else fromAdmin--------8=FIX.4.4 9=136 35=3 34=2 49=CfhDemoPrices 52=20200227-04:30:05.925 56=Paragxxxxx_FIX 45=2 58=Tag specified out of required order 371=50 372=D 373=14 10=042
Run Code Online (Sandbox Code Playgroud)

添加 SenderSubid ( 50 ) 后,下面是请求和响应

8=FIX.4.4 9=183 35=D 34=2 49=Paragxxxxxx_FIX 50=L6UtbRZvhwEFuZft 52=20200301-23:20:52.088 56=CfhDemoPrices 11=FGQ_MLM_01_20200225-08:48:28 21=1 38=10000 40=1 54=1 55=EURUSD 60=20200301-23:20:52.087 10=056

8=FIX.4.49=136 35=3 34=2 49=CfhDemoPrices 52=20200301-23:20:52.172 56=Paragxxxxxx_FIX 45=2 58=Tag specified out of required order 371=50 372=D 373=14  10=031
Run Code Online (Sandbox Code Playgroud)

Chr*_*ohn 5

Reject消息告诉您的内容如下:

45=2方式RefSeqNum=2-Reject与您使用MsgSeqNum=2
371=50方式发送的消息相关RefTagID=50-50/SenderSubID您消息中的标签受到影响
372=D方式RefMsgType=D- 消息NewOrderSingle受到影响
373=14意味着原因是Tag specified out of required order

您没有50根据原始请求发送标签,因此您的交易对手可能意味着标签丢失。不过,他们真的应该以这个理由拒绝这个1意思Required tag missing。最好的办法可能是,如果您就此与您的交易对手进行接触。

作为旁注,您真的应该尝试自己理解这些基本错误。您可以使用例如官方 FIX 规范浏览器https://fiximate.fixtrading.org/ 在那里您可以特别查询标签的各种枚举值,例如标签 371、372、373。

当然,您的交易对手可能在 FIX 实施方面有所不同,但对于大多数基本场景来说已经足够了。