如何使用快速修复从安全列表中获取符号

本文关键字:列表 安全 获取 符号 何使用 | 更新日期: 2023-09-27 18:00:06

我正在发送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));

每次它都会为标签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);