向 QUICKFIX N 中的特定会话发送消息

问题描述 投票:0回答:3

我最近接到了为新交易者制作一个基本交易平台的任务。我正在连接到银行 FIX 4.4 实施。

银行指定了2个时段。一份用于报价数据,一份用于交易执行。

我正在使用 QuickfixN 并使用 c# 进行编码

我已设置启动器会话配置以在其中包含两个会话。端口不同,目标 comp id 和发送者 comp id 不同。我可以很好地连接到两者。我正在努力解决的是如何通过一个会话而不是另一个会话发送我的订单请求。

两个会话都需要 FIX 4.4。默认情况下它只使用第一个会话。

c# quickfix quickfixn
3个回答
4
投票

创建启动器时,将会话对象保存到变量中。 (也许通过

OnCreate
回调,如此处所做的那样。)

使这些变量可供消息发送类访问。

然后要发送消息,只需调用以下之一:

quoteSession.send(msg)
tradeSession.send(msg)

0
投票

您需要复用要发送消息的会话的 SessionId,并设置消息头。像这样的东西(Java):

public void mySend (Message m) throws FieldNotFound 
{       
    String beginString = "FIX.4.4";
    String sender = "SENDER";
    String target = "TARGET";

    // Set the message headers
    m.getHeader().setField(new SenderCompID(sender));
    m.getHeader().setField(new TargetCompID(target));

    // Set the correct session for the initiator to send out to
    SessionID s = new SessionID(beginString, sender, target);

    // Lookup the relevant QF session
    _session = Session.lookupSession(s);

    // Send the FIX message
    try
    {
            if (_session != null)
            {
                _session.send(m);
            }
            else
            {
                log("Can't send message: FIX session not created.");
                log(" " + m.toString());
            }
    }
    catch (Exception e)
    {
            errorHandler(e);
    }
}

-2
投票

能否请您向我发送新交易者基本交易平台的项目,我有一个类似的项目,但我被困住了。

© www.soinside.com 2019 - 2024. All rights reserved.