FIX协议:35=8日志文件中的执行报告,但未通过fromApp()/onMessage()传递



我使用quickfix python库发送以下FIX示例消息。

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

在发送消息后,我立即从服务器上收到带有35=8标签的消息。请参阅下面的消息

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)

当交易在FXALL中执行时,当我再次发送新的FIX消息时,所有执行的交易都会记录在messages.current.log文件中。我在日志文件中收到以下消息,但在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)

如何在Onmessage/fromApp中获得上述消息(35=8填写(。

到目前为止,我可以发送任何方式/消息来获取所有已执行的交易吗?类似于:

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 

谢谢。

我知道的原因是:

  • 如果您使用QuickfixN-http://quickfixn.org/tutorial/configuration.html)
  • 您的系统正在拒绝与另一个对方使用的DataDictionary不匹配的消息

请检查您的应用程序是否在收到ExecutionReport(35=8(后立即向对方发送拒绝消息(35=3(。如果是这样,则表明您的DataDictionary文件可能存在一些问题。在这种情况下,您的应用程序将拒绝消息,并且您的fromApp方法不会捕获ExecutionReport(35=8(。

我的建议是:

  • 检查您是否正在向对方发送35=3。如果是真的,请检查35=3信息,您会注意到消息被拒绝的原因
  • 对照对方的字典仔细检查你的数据字典
  • 仔细检查会话配置文件是否包含以下条目(考虑quickfixJ(
ValidateFieldsOutOfOrder=N
ValidateFieldsHaveValues=N
ValidateUserDefinedFields=N
ValidateUnorderedGroupFields=N
AllowUnknownMsgFields=Y