0

I am sending the below FIX sample message using the quickfix python library.

8=FIX4.4,9=225,35=D,34=3,49=AB,52=20220919-07:43:13.917,56=CD,11=44536,15=EUR,17=00002,21=3,37=44536,38=918293,40=2,44=0,48=11,54=1,55=EURUSD,58=LKLA,
59=0,60=20220919-07:43:13.917,64=20220921,78=1,79=LKLA,80=918293,448=f88f2f6277,10=097

Immediately after sending the message, I am getting the message back from the server with 35=8 tag. Please see the below the message

8=FIX4.4,9=201,35=8,49=CD,56=AB,34=2,52=20220919-07:56:05.330,11=44536,15=EUR,38=918293,40=2,54=1,55=EURUSD,59=0,64=20220921,
6=0.,14=0,17=5249952-1024823399,31=0.,32=0,37=5249952-1024823399,39=0,150=0,151=918293,10=047
(tags 35=Execution report, 39= New, 150 = New)

When the trade is executed in FXALL, and when I send new FIX messages again, All the executed trades are logged in messages.current.log file. I am getting the below message in log file but not in fromApp.

8=FIX4.4,9=520,35=8,49=CD,56=AB,34=3,52=20220919-11:24:03.145,39=2,37=152648401_0_0,11=44536,17=152648401_0_0,150=F,1=test@bc,64=20220921,55=EUR/USD,40=1,15=EUR,31=0.9997,194=0.9997,195=0.,151=0,6=0.9997,75=20220919,119=918017.51,120=USD,78=1,79=LKLA ,80=918293,1908=1,1909=5493004U2OZSNMN2ML88852648401L0A0,1911=1,60=20220919-11:12:47,453=2,448=test@bc,447=C,452=11,448=BANK2,447=B,452=1,6977=1,6978=BANK2,6979=0.99965,
6980=0.00,6981=0.99965,6982=0.9997,6983=0.00,6984=0.9997,54=1,14=918293,38=918293,32=918293,7055=44536_0_0,10=124,
(tags 35=Execution report, 39=Filled, 150=Filled)

How do i get the above message(35=8 filled) in Onmessage/fromApp.

Is there any way/message that i can send to get all the executed trades till now? something like:

8=FIX.4.4|9=158|35=8|34=3|49=AB|52=20220912-09:55:25.467|56=CD|6=0|11=44536|14=986604|17=00002|31=0|32=986604|37=00001|38=986604|39=2|54=1|55=EURUSD|58=44536|150=2|151=0|10=18 

Thanks.

1
  • I'm not exactly sure what you're asking. Do you want to parse the incoming ExecutionReport message within your fromApp implementation, or just log the message to the screen? Also, it would be helpful to see the code you have written so far - particularly the implementation of fromApp and the relevant overloaded version of onMessage. Commented Oct 12, 2022 at 12:58

1 Answer 1

0

The reasons I know are:

  • Your lib might be ignoring PossDupFlag(43=Y) messages (IgnorePossDupResendRequests=Y configured if you are using QuickfixN - http://quickfixn.org/tutorial/configuration.html)
  • Your system is rejecting the messages that don't match against the DataDictionary used by the other counter party

Please check if your app is sending Reject messages (35=3) to the counter party immediately after receiving an ExecutionReport (35=8). If so, it will indicate that you might have some issues at your DataDictionary file. In this case your app will reject the messages and the ExecutionReport (35=8) will not be captured by your fromApp method.

My suggestion is:

  • check if you are sending 35=3 to the counter party. If it is true, check the 35=3 information, you will notice the reason the message was rejected
  • double check your data dictionary against the counter party's dictionary
  • double check if your session configuration file contains the entries below (considering quickfixJ)
ValidateFieldsOutOfOrder=N
ValidateFieldsHaveValues=N
ValidateUserDefinedFields=N
ValidateUnorderedGroupFields=N
AllowUnknownMsgFields=Y
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.