使用python quickfix包,如何发送TestRequest消息?

时间:2017-09-05 15:55:18

标签: python quickfix fix-protocol

我与供应商建立了FIX连接,我们每三十秒发送一次心跳。但是,由于他们的系统设置,他们会以不同的间隔向我发送TestRequests (35=1)以及心跳。我从来没有必要处理这些,并且quickfix包将它们解释为心跳。但是,这导致他们的系统将我退出。

首次登录时的消息示例如下:

2017-09-05 11:50:47,769 - fix_connection.FIX_IO - INFO - toAdmin >>>>:
8=FIX.4.2|9=78|35=A|34=1|49=***|52=20170905-15:50:47.763|56=XXX|98=0|108=30|141=Y|10=111|

2017-09-05 11:50:48,361 - fix_connection.FIX_IO - INFO - fromAdmin >>>>:
8=FIX.4.2|9=77|35=A|34=1|43=N|49=XXX|52=20170905-15:50:55.062|56=***|98=0|108=30|10=043|

2017-09-05 11:50:48,421 - fix_connection.FIX_IO - INFO - fromAdmin >>>>:
8=FIX.4.2|9=89|35=1|34=2|43=N|49=XXX|52=20170905-15:50:55.119|56=***|112=05/09/2017-11:50:55|10=163|

2017-09-05 11:50:48,437 - fix_connection.FIX_IO - INFO - toAdmin >>>>:
8=FIX.4.2|9=84|35=0|34=2|49=***|52=20170905-15:50:48.428|56=XXX|112=05/09/2017-11:50:55|10=175|

2017-09-05 11:51:18,644 - fix_connection.FIX_IO - INFO - fromAdmin >>>>:
8=FIX.4.2|9=65|35=0|34=3|43=N|49=XXX|52=20170905-15:51:25.341|56=***|10=254|

2017-09-05 11:51:18,657 - fix_connection.FIX_IO - INFO - toAdmin >>>>:
8=FIX.4.2|9=60|35=0|34=3|49=***|52=20170905-15:51:18.649|56=XXX|10=019|

我已经搜索过一种专门使用quickfix包发送TestRequest的方法,但是没有找到任何东西。有人能指出我正确的方向还是提供一个例子?非常感谢。

1 个答案:

答案 0 :(得分:0)

尝试使用c#编写的这段简单代码。请与您的供应商核实要正确发送的数据(我的示例中的“测试”)。

sessionId是Session对象,其中包含您与交易对手之间的参数。

public void SendTestRequestMessage() {
        QuickFix42.TestRequest req = new QuickFix42.TestRequest();
        req.set(new TestReqID("test"));
        Session.sendToTarget(req, sessionId);

    }