3

私の修正エンジンはメッセージを拒否し続けています。誰かが理由を理解するのを手伝ってくれることを望んでいました.次のサンプルメッセージを受け取りました:

8=FIXT.1.1 9=518 35=AE 34=4 1128=8 49=XXXXXXX 56=YYYYYYY 52=20130322-17:58:37 552=1 54=1 37=Z00097H4ON 11=NOREF 826=0 78=1 79=NOT SPECIFIED 80=100000.000000 5967=129776.520000 453=5 448=BCART6 452=3 447=D 448=BARX 452=1 447=D 448=BARX 452=16 447=D 448=bcart6 452=11 447=D 448=ABCDEFGHI 452=12 447=D 571=6611540 150=F 17=Z00097H4ON 32=100000.000000 38=100000.000000 15=EUR 1056=129776.520000 31=1.2977652 194=1.298120 195=-3.5480 64=20130409 63=W2 60=20130322-17:26:50 75=20130322 1057=Y 460=4 167=FOR 65=OR 55=EUR/USD 10=121 

8=FIXT.1.1 9=124 35=3 34=4 49=XXXXXXX 52=20130322-17:58:37.917 56=YYYYYYY 45=4 58=Tag appears more than once 371=448 372=AE 373=13 10=216

しかし、ご覧のとおり、クイックフィックス エンジンによって拒否されています。私は 5.0sp1 データ ディクショナリを使用しており、構成ファイルで構成しています。

[DEFAULT]
ConnectionType=initiator
HeartBtInt=30
ReconnectInterval=10
SocketReuseAddress=Y
FileStorePath=D:\XXX\Interface\ReutersStore
FileLogPath=D:\XXX\Interface\ReutersLog


[SESSION]
BeginString = FIXT.1.1
SenderCompID = XXXXX
TargetCompID= YYYYY
DefaultApplVerId = FIX.5.0  
UseDataDictionary=Y
AppDataDictionary=FIX50SP1.xml
StartDay=sunday
StartTime=20:55:00
EndTime=06:05:00
EndDay=saturday
SocketConnectHost= A.B.C.D
SocketConnectPort= 123

エンジンがこのメッセージを拒否する理由を知っている人はいますか? 通常、quickfix は繰り返しグループを持つメッセージを処理できることは知っていますが、これは構成上の問題ですか? どんな助けでも大歓迎です!

4

3 に答える 3

3

あなたのメッセージは正しいようです。これを設定ファイルに入れてみてください。

ValidateFieldsOutOfOrder=N

デフォルトでは、Quickfix はそれを Y として配置し、タブとフィールドの値を格納する基礎となる構造は、以前はカウントを確認できません。453 > 448。

補足として、常にこれらのフィールドを確認してください。問題の原因を指摘してくれるはずです。

58=Tag appears more than once 
371=448
于 2013-03-26T15:23:35.483 に答える
0

暗闇でのショットかもしれませんが、5.0sp2 辞書を使用しているときに同様の問題が発生しました。ライブラリSVNリポジトリからコンパイルされたquickfixライブラリの更新バージョンを使用して解決しました。私の記憶が正しければ、これはバグでした。

クイックフィックス ライブラリは長い間更新されていないようです。新しいバージョンのフィックスについては、レポの「トランク」を使用することをお勧めします。

于 2013-03-27T09:14:55.500 に答える