LMT order error required tag missing 371=372 - solved

Created at 14 Apr 2017, 23:39
How’s your experience with the cTrader Platform?
Your feedback is crucial to cTrader's development. Please take a few seconds to share your opinion and help us improve your trading experience. Thanks!
MA

mattshome

Joined 06.04.2017

LMT order error required tag missing 371=372 - solved
14 Apr 2017, 23:39


I can submit orders in testing fine.  However in production, I'm sending this LMT order and I get an error.

8=FIX.4.49=13435=D34=949=fxpig.xxxx52=20170414-16:20:24.46556=cServer11=138=2500040=244=1.00600554=155=159=160=20170414-16:19:57.32410=131

This is the return error:

8=FIX.4.49=11335=334=1049=fxpig.xxxx52=20170414-16:20:24.58956=cServer45=958=Required tag missing371=372372=j373=110=198

Required tag missing

371=372

After much debugging, the problem was 44=1.006005, too many decimal places.  I'm posting incase anyone has this problem in the future.

 


@mattshome
Replies

#EOL
18 Apr 2017, 11:16

Well, it's not exactly what happend.

Both messages you mentioned were sent by your application. Take a look: they both have SenderCompID=fxpig.xxxx and TargetCompID=cServer.

In fact between these to messages there should be a response from the server. Something like this:

8=FIX.4.4|9=188|35=j|34=12|49=CSERVER|50=TRADE|52=20170418-07:34:19.493|56=xxxx|58=INVALID_REQUEST:Order price = 1.006005 has more digits than symbol allows. Allowed 5 digits|379=1163558011|380=0|10=151|

And your application treated this message as invalid, because it does not contain tag 371, that could not be there according to the spec

If you are using QuickFIX, check out the dictionary for BusinessMessageReject message

And turn on incoming FIX logs at least for trading connection, this will help you to investigate issues in the future


@#EOL

mattshome
19 Apr 2017, 17:12

Thanks for the tips.  I had forgotten about the log files stored in the log directory.


@mattshome