0

我是 QuickFIX/n 的新手,我发送了一个 MarketDataRequest,但收到了一个带有标记 58“条件必需字段缺失 (494) ”的 BussinessMessageReject,这是指定。

有人知道如何设置494吗?

我的 TransportDataDictionary 是 FIXT1.1 而 AppDataDictionary 是 FIX5.0

这是我的 C# 代码:

 protected override QuickFix.FIX50.MarketDataRequest CreateMessage()
    {
        var message = new QuickFix.FIX50.MarketDataRequest();
        message.Set(new MDReqID("0"));
        message.Set(new SubscriptionRequestType('0'));
        message.Set(new MarketDepth(1));
        message.Set( new NoMDEntryTypes(1));
        message.Set(new NoRelatedSym(1));

        var noRelatedSymGroup = new QuickFix.FIX50.MarketDataRequest.NoRelatedSymGroup();
        noRelatedSymGroup.Set(new Symbol("123"));
        message.AddGroup(noRelatedSymGroup);

        var noMDEntryTypesGroup = new QuickFix.FIX50.MarketDataRequest.NoMDEntryTypesGroup();
        noMDEntryTypesGroup.Set(new MDEntryType('0'));            
        message.AddGroup(noMDEntryTypesGroup);            
        return message;
    }
4

1 回答 1

1

该标记按名称调用(此处Designation为 .NET 类定义)。但是,它不是此消息类型的 FIX 规范的一部分。

如果您的对方确实需要它,请将其添加到特定消息类型的数据字典 (FIX50.xml) 中,并在配置中指定更改后的数据字典。寻找AppDataDictionary设置。

然后像设置任何其他字段一样设置该字段。

于 2017-07-03T15:40:14.797 回答