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

时间:2018-06-27 11:37:35

标签: c# .net quickfix fix-protocol quickfixn

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

当我运行此方法时,出现“找不到标签49的字段”异常消息。但是SecurityDefinitionRequest类不允许我将Tag 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

1 个答案:

答案 0 :(得分:1)

我将建议:

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