0

入札を取得して、primeXM ブローカーに依頼しようとしています。しかし、私は何が間違っているのかわかりません。Massquote への回答の例を教えてもらえますか?

MassQuoteのレスポンスが来たらすぐにMassQuoteAskを送信しているのですが、「必要なタグがありません」というエラーが発生します。

ログ:

ToApp 8=FIX.4.4 |9=86 |35=V |34=2 |49=XXXX|52=20200826-15:10:02.528 |56=XXXX |262=0 |263=1 |264=0 |146=1 |55=USD/JPY |10=205 |
FromApp 8=FIX.4.4 |9=135 |35=i |34=2 |49=XC80 |52=20200826-15:10:02.769 |56=Q097 |117=1 |296=1 |302=0 |295=1 |299=0 |106=10 |134=3000000 |135=1000000 |188=106.11 |190=106.112 |10=048 |
OnMessage MassQuote 8=FIX.4.4 |9=135 |35=i |34=2 |49=XC80 |52=20200826-15:10:02.769 |56=Q097 |117=1 |296=1 |302=0 |295=1 |299=0 |106=10 |134=3000000 |135=1000000 |188=106.11 |190=106.112 |10=048 |
ToApp 8=FIX.4.4 |9=57 |35=b |34=3 |49=XXXX|52=20200826-15:10:02.814 |56=XXXX |117=1 |10=002 |
ToAdmin 8=FIX.4.4 |9=100 |35=3 |34=4 |49=XXXX|52=20200826-15:10:02.931 |56=XXXX |45=3 |58=Required tag missing |371=117 |372=i |373=1 |10=238 |


MarketData のリクエスト:

    private void QueryMarketDataRequest() {
      MDReqID mdReqId = new MDReqID(GetFreeID);
      SubscriptionRequestType subscriptionRequestType =
        new SubscriptionRequestType(SubscriptionRequestType.SNAPSHOT_PLUS_UPDATES);
      MarketDepth marketDepth = new MarketDepth(0);

      MarketDataRequest.NoRelatedSymGroup symbolGroup = new MarketDataRequest.NoRelatedSymGroup();
      symbolGroup.Set(new Symbol("USD/JPY"));

      MarketDataRequest message = new MarketDataRequest(mdReqId, subscriptionRequestType, marketDepth);
      message.AddGroup(symbolGroup);

      SendMessage(message);
    }

MassQuote メッセージ応答:

    public void OnMessage(MassQuote message, SessionID sessionId) {
      _logger.LogDebug($"OnMessage MassQuote {message}");

      MassQuoteAcknowledgement m = new MassQuoteAcknowledgement();
      m.QuoteID = message.QuoteID;
      SendMessage(m);
    }
4

2 に答える 2

0

私の .cfg は UseDataDictionary=Y でしたが、PrimeXM が QuoteID (117) なしで MassQuote (MsgType=i) に応答するように見えることがありますが、私の FIX44.xml では 117 が必要に応じて設定されています。これがエラーの原因でした。

.cfg UseDataDictionary=N を変更すると、エラーが発生しなくなりました。

PrimeXM が QuoteID なしで MassQuote を送信する理由はわかりませんが、問題は解決したと思います。

ありがとう。

dbug: QuickFix.IApplication[0]
      FromApp 8=FIX.4.4╔9=95╔35=i╔34=63╔49=XC80╔52=20200826-16:58:12.444╔56=Q097╔106=10╔190=106.008╔295=1╔296=1╔299=0╔302=0╔10=229╔
dbug: QuickFix.IApplication[0]
      OnMessage MassQuote 8=FIX.4.4╔9=95╔35=i╔34=63╔49=XC80╔52=20200826-16:58:12.444╔56=Q097╔106=10╔190=106.008╔295=1╔296=1╔299=0╔302=0╔10=229╔
warn: QuickFix.IApplication[0]
      field not found for tag: 117
于 2020-08-26T17:06:05.533 に答える