向 FIX 适配器发出安全定义请求

Making a security definition request to FIX adapter

我正在尝试使用以下方法向 FIX 适配器发出请求(安全定义请求)。这是一个应用程序级调用,只要成功连接到 FIX 适配器,我就会手动调用此方法。

当我 运行 使用此方法时,我收到 "Field not found for tag:49" 异常消息。但是,SecurityDefinitionRequest class 不允许我为其设置标签 49 (SenderCompId)。

首先,这是发出 SecurityDefinitionRequest 的正确方法吗?我试着查看 QuickFix/N 文档,但他们没有解释如何提出此类请求。

http://quickfixn.org/tutorial/sending-messages.html

事实上,到目前为止我还没有在互联网上看到任何文章。有什么建议么?

public void ToApp(Message message, SessionID sessionId)
{        
    var request =
        new SecurityDefinitionRequest()
        {
            SecurityReqID = new SecurityReqID("1"),
            SecurityID = new SecurityID("5"),
            SecurityRequestType = new SecurityRequestType(3),
            SecurityType = new SecurityType("FUT")
        };

    request.SetField(new SenderCompID("217"));
    Session.SendToTarget(request);  
 }

构建的消息如下所示

    8=FIX.4.29=3735=c48=549=217167=FUT320=1321=310=003

我要建议:

SessionId currentSessionId = new QuickFix.SessionID("FIX4.2", "217","CBOE");
securityDefinitionRequest.SetSessionID(currentSessionId );