如何测试我的FIX客户端?有没有一个假的FIX交换,我可以使用
How to test my FIX client? Is there a fake FIX exchange out there that I can use?
我已经实现了自己的FIX客户端,类似于QuickFIX。现在我需要测试一下。有没有假FIX交换可以用?有人实现过我可以用来验证我的客户端的FIX服务器吗?有没有一个真正的交换,我可以使用他们的测试连接来测试和验证我的修复客户端?
如有任何帮助,我们将不胜感激!
你试过FIXimulator吗?http://code.google.com/p/fiximulator/它并不能完全作为交换工作,但您可以建立会话、接收订单并执行(尽可能自动执行)它们。看看吧。
Mini-FIX可用于基于GUI的
QuickFix示例应用程序"executor"answers"ordermatch"应该会有所帮助。代码很简单,您甚至可以增强它以满足您对交换功能的需求。这些解决方案的好处是支持不同版本的FIX,认为FIX 4.2是最广泛接受的。
几年前,我找不到一个不需要签订高额许可费合同的测试平台,所以我创建了一个。很抱歉这里有无耻的插件,但我最终把它变成了一个免费试用的产品/服务,托管在www.fixsim.com上。QuickFIX附带的Banzai是一个很好的免费开始,但如果你需要不同的资产类别、取消/更正、分配或其他消息类型,你必须构建或购买。
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();
}
}
上面代码的完整解释可以在这里找到。
免责声明:我是CoralFIX的开发者之一。
检查quickFIX分发。此处:https://github.com/quickfix/quickfix/tree/master/examples你可以找到"执行器";。
是一个示例服务器,它只需填写收到的每个限价订单。
此外,您还可以找到"ordermatch";,这是一个c++服务器,它将匹配并执行限价订单。
- 有一个打印语句的函数是一种糟糕的编程实践吗
- VSCode-有一个红色下划线,但程序构建和运行正确,并且出现配音错误
- 如果有一个模板构造函数只有一个泛型参数,为什么我必须有一个复制构造函数
- 有没有可能有一个只有ADL才能找到的非好友功能
- 我有一个对象,它将在整个程序的持续时间内实例化,但一个类成员不会,我应该动态分配它吗?
- 我的程序有一个保存配置文件的GUI,如何双击此配置文件以直接加载带有配置数据的GUI?
- 在学习数据结构之前对STL有一个了解是好的吗?
- 我在 .h 中有一个枚举类,并且在.cpp错误中有一个运算符重载:与"运算符<<不匹配
- 如何在 Gnuplot 中分别绘制 2 个文件数据?我有一个文件"sin.txt",另一个文件"cos.txt",我想将它们分别绘制在一个图表上
- 是否可以在C++中有一个"generic"模板参数,该参数可以是非类型模板参数或类型?
- 我的输出中有一个额外的 0,为什么会这样
- 节点是否为空,即使它有一个值?
- 将数组信息存储到 c++ 向量中有一个"Access violation reading location"
- 在 Stream C++ 文本之前有一个额外的换行符
- 我可以有一个 ELI5 作为参考和指针以及何时使用它们吗?
- 在 C++ 中声明 const 对象需要用户定义的默认构造函数.如果我有一个可变成员变量,为什么不呢?
- 我有一个类,它创建了另一个类的实例.如何将变量通过第一个类传递到第二个类的实例化中?
- 我有一个线程 1:EXC_BAD_ACCESS(代码 = 1,地址 = 0x8)错误.我认为这是由于内存管理不好.我可以
- 有一个构造函数,但有两个析构函数
- 我有一个关于C++提升的问题:: asio 和 std :: 异步