2017-09-05 79 views
1

我與供應商建立了FIX連接,我們每隔30秒發送一次心跳。但是,由於他們的系統設置,他們會以不同的時間間隔向我發送TestRequests (35=1)以及心跳。我從來沒有處理過這些,quickfix軟件包將它們解釋爲心跳。但是,這導致他們的系統將我註銷。如何使用python quickfix軟件包發送TestRequest消息?

消息的樣品,當我第一次登錄如下:

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| 

我已經尋找一種方式來專門發送TestRequest使用的quickfix包,但沒有發現任何東西。有人能指出我正確的方向或提供一個例子嗎?非常感激。

回答

0

試試用c#編寫的這段簡單的代碼。請檢查您的供應商數據是否正確發送(在我的示例中爲「測試」)。

sessionId是Session對象,其中包含您和交易對手之間的參數。

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

    }