如何使用 quickfix 从安全列表中获取符号?

How to get symbol from securitylist using quickfix?

我正在发送 SecurityListRequest 并收到确认。我无法从响应中获取符号。我收到这样的回复。

8=FIXT.1.1|9=795|35=y|34=3|49=TMATCH=YYYYY|52=20160804-09:39:56.534|56=zzzzz|320=0001|322=zzzz->zzzzx|393=19|560=0|893=Y|
  146=2|
    55=xxxxx|48=xxxxx|22=8|167=xxxx|762=PERIOD|15=xxx|423=1|20000=1W|
    55=xxxx|48=xxxxx|22=8|167=xxxx|762=PERIOD|15=xxx|423=1|20000=1M|
10=234

我试过这样

QuickFix.FIX50.SecurityList.NoRelatedSymGroup symbolGroup
  = new QuickFix.FIX50.SecurityList.NoRelatedSymGroup();

int noofsymbols = m.Get(new NoRelatedSym()).getValue();

symbolGroup.Get(new Symbol());

m.get(new symbol()).getvalue();

m.getfield(new stringfield(55));

每次它抛出异常说 "Field Not Found" 标记 55。

您创建了一个新的空 NoRelatedSymGroup 对象,但您忘记从消息中填充它。

我认为您正在使用带有 C# 包装器的 C++ QF,所以这可能是您想要的代码:

var sym1 = new Symbol();
var sym2 = new Symbol();

m.getGroup(1, symbolGroup); // first group
symbolGroup.get(sym1);

m.getGroup(2, symbolGroup); // second group
symbolGroup.get(sym2);