我收到35 = D(NewOrderSingle)请求的拒绝响应。想知道可能是什么问题。我正在关注此document
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
添加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
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实现可能有所不同,但是对于大多数基本方案而言已经足够了。