无法为消息类型为 "MarketDataRequest" 的字段 "Symbol" 设置值

Can't set value for field "Symbol" with message type "MarketDataRequest"

在使用 quickfix for c++ 时,我似乎无法为消息类型 MarketDataRequest 设置字段 "Symbol"。它抛出异常"Tag not defined for this message type"。我该如何解决这个问题?以下是实例化消息的代码摘录

FIX44::MarketDataRequest marketDataRequest;
LastClOrdID = LastClOrdID + 1;
marketDataRequest.set(FIX::MDReqID(to_string(LastClOrdID)));
marketDataRequest.set(FIX::SubscriptionRequestType('0'));
marketDataRequest.setField(55,"DOLM15");
queryHeader(marketDataRequest.getHeader());
return marketDataRequest;

提前致谢!

"Symbol" 字段不是 MarketDataRequest 中的顶级字段。

它位于以标记 146 "NoRelatedSym" 开头的重复组中。一个 MarketDataRequest 可以包含多个交易品种,重复组是实现这一点的机制。

请阅读the QF doc page about repeating groups