I am struggling with getting the execution report after sending out orders. I can see the message 35=8, at the log file but I can’t receive it at the terminal.
Would it be anything to do with the message below? 58= missing tag required.
Does any know what can I do to receive my execution report? Thanks error meg
(In the future, you are advised to paste a whole message into your question, instead of linking a weird screenshot that only captures part of it.)
From your screenshot, I can see this in the body of your message (which I assume is a 35=3
"Reject" message).
45=4|58=Required tag missing|371=6|372=8|373=1
Those fields are:
In English, this message is telling you:
The message with seq num 4 is an ExecutionReport and it's being rejected because tag 6 (AvgPx) is missing.
I'm fairly sure the cause is that you are using a default FIX4*.xml
DataDictionary (where AvgPx is a required field of ExecutionReport), but your counterparty has altered their DD so that AvgPx is optional.
To solve, edit your DD and change this:
<field name="AvgPx" required="Y" />
to this:
<field name="AvgPx" required="N" />
I'm sure your counterparty has made other alterations to the DD, because they always do! You will no doubt run into other DD issues.
Read their connection documentation thoroughly, and update your DD to match. (It's possible they may already provide a custom xml file to use -- ask them!)