1

我有一个需要设置 (Tag 128)DeliverToCompID 的 C# QuickFix 应用程序,但QuickFix.SessionSettings类不包含此字段,这意味着我无法从标头加载 DeliverToCompID ...我了解 DeliverToCompID 应该在消息发送之前设置。

以下 3 行不正确,因为 DeliverToCompID 应在标题中设置。

if (message.IsSetField(Tags.DeliverToCompID)) 
   message.SetField(new DeliverToCompID("COMP_C"));
Session.Send(message);

我需要重新编译库吗?或任何人都知道如何设置 DeliverToCompID?

快速修复版本:1.7.0.0

错误信息:

Initiated logon request
Message 1 Rejected: Required tag missing (Field=128)
Session FIX.4.2:COMP_A->COMP_B disconnecting: QuickFix.QuickFIXException:

FIX xml 的一部分:

<header>
<field name="DeliverToCompID" required="Y"/>

部分配置文件:

[DEFAULT]
UseDataDictionary=Y
[SESSION]
BeginString=FIX.4.2
SenderCompID=COMP_A
TargetCompID=COMP_B
DeliverToCompID=COMP_C
4

1 回答 1

1

会话标头标签 128 正在谈论会话配置。

<header>
<field name="DeliverToCompID" required="N"/>

由于我只有一个会话登录但有多个执行代理,我需要为每条消息设置标签 128,如下所示:

message.Header.SetField(new DeliverToCompID("COMP_C"));
于 2017-02-20T09:10:52.613 回答