2012-07-11 38 views
18

我已經實現了我自己的FIX客戶端,類似QuickFIX。現在我需要測試它。有什麼地方可以使用假FIX交換嗎?有沒有人實現過一個我可以用來驗證我的客戶端的FIX服務器?是否有真正的交換機可以使用他們的測試連接來測試和驗證我的修復客戶端?如何測試我的FIX客戶端?那裏有我能使用的假FIX交換嗎?

在這裏的任何幫助將不勝感激!

回答

10

你試過FIXimulator嗎? http://code.google.com/p/fiximulator/它並不完全可以作爲交易所,但您可以建立會話,接收訂單並執行(也可以自動執行)它們。一探究竟。

2

檢查quickFIX分佈。 here:http://www.quickfixengine.org/quickfix/doc/html/examples.html你可以找到「executor」。

是一個示例服務器,它簡單地填充它收到的每個限制訂單。

您也可以找到「ordermatch」,這是一個C++服務器將匹配和執行限價訂單。

+0

如何取消訂單取消支持? – chrisapotek 2012-07-11 16:35:12

+0

沒有。您可以使用這些「服務器」來測試限制訂單的連接和執行。 – stexcec 2012-07-11 16:47:20

+0

我認爲這個FIXimulator允許你通過GUI來做任何你想要的訂單。如果這是真的,那很酷。 – chrisapotek 2012-07-11 16:55:12

3

Mini-FIX可用於基於GUI的

QuickFix的示例應用程序「執行」和「ordermatch」應該是有幫助的。代碼很簡單,您甚至可以增強它以適應您對交換功能的需求。 這些解決方案的好處是支持不同版本的FIX,因爲FIX 4.2是最廣泛接受的。

1

幾年前,我找不到一個測試平臺,我不必簽署大額許可證費用的合同,所以我創建了一個。對不起,這個無恥的插件在這裏,但我最終變成一個產品/服務提供託管在www.fixsim.com與免費試用。 Banzai附帶QuickFIX是一個很好的免費開始,但如果您需要不同的資產類別,取消/更正,分配或其他消息類型,您必須構建或購買。

2

CoralFIX附帶了一個可立即使用的服務器實現,您可以觸發並開始接受來自FIX客戶端的連接。這將處理所有的FIX會話級別的細節,如登錄,心跳,序列復位,重新發送請求等實現一個簡單的服務器爲您測試所有你需要做的是:

import com.coralblocks.coralfix.FixMessage; 
import com.coralblocks.coralreactor.client.Client; 
import com.coralblocks.coralreactor.nio.NioReactor; 
import com.coralblocks.coralreactor.util.Configuration; 
import com.coralblocks.coralreactor.util.MapConfiguration; 

public class SimpleFixApplicationServer extends FixApplicationServer { 

    public SimpleFixApplicationServer(NioReactor nio, int port, Configuration config) { 
     super(nio, port, config); 
    } 

    @Override 
    protected void handleFixApplicationMessage(Client client, FixMessage fixMsg, boolean possDupe) { 
     // do whatever you want to do with the application message received from this client... 
    } 

    public static void main(String[] args) { 

     NioReactor nio = NioReactor.create(); 

     MapConfiguration config = new MapConfiguration(); 

     // print all messages received and sent to STDOUT for debugging purposes 
     // (default is false) 
     config.add("debugMessages", "true"); 

     // accept as the client inbound sequence whatever 
     // sequence I receive in the first message coming from the client 
     // (default is false) 
     config.add("acceptInboundSeqFromClient", "false"); 

     Server server = new SimpleFixApplicationServer(nio, 45451, config); 

     server.open(); 
     nio.start(); 
    } 
} 

代碼的完整解釋上面可以找到here

聲明:我是CoralFIX的開發人員之一。

+0

嘗試使用QuickFIX Messenger – Badmanchild 2015-04-21 15:46:11