我已经实现了自己的FIX客户端,如QuickFIX。现在,我需要对其进行测试。我可以使用某个地方的假FIX交换吗?有没有人实现过我可以用来验证客户端的FIX服务器?是否可以使用他们的测试连接来测试和验证修订客户端的真实交换?
这里的任何帮助将不胜感激!
您是否尝试过FIXimulator? http://code.google.com/p/fiximulator/它不能完全作为交易所使用,但是您可以建立会话,接收订单并执行(尽可能自动执行)它们。签出。
[Mini-FIX可用于基于GUI的]
QuickFix示例应用程序“执行程序”和“订单匹配”应该会有所帮助。代码很简单,您甚至可以对其进行增强,以满足您对交换功能的需求。关于这些解决方案的好处是,以FIX 4.2被最广泛接受的支持不同版本的FIX。
检查quickFIX发行版。此处:http://www.quickfixengine.org/quickfix/doc/html/examples.html,您可以找到“ 执行者”。
是一个示例服务器,它只是填写它收到的每个限价单。
也可以找到“ ordermatch”,这是将匹配并执行限价单的c ++服务器。
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的开发人员之一。
几年前,我找不到一个无需签署高额许可费合同的测试平台,因此我创建了一个。很抱歉在这里使用无耻的插件,但最终我将其转变为以www.fixsim.com托管的产品/服务,并提供免费试用。 QuickFIX随附的Banzai是一个不错的免费入门,但是如果您需要不同的资产类别,取消/更正,分配或其他消息类型,则必须构建或购买。