c++ - 如何开始使用 QuickFix 库

标签 c++ quickfix algorithmic-trading

我给出了一个使用c++和quickFix库开发算法交易系统的项目,我在谷歌上搜索quickFix库,但没有找到任何有用的信息。 谁能给我一些信息,我应该从哪里开始?

最佳答案

您在问题中提供的细节很少,因此我只能猜测一个有用的方法。我已经用 Python 完成了您正在开始的工作,并且可以为您提供一些指导。 Karl 提到的所有链接都至关重要(您应该特别注意配置文件上的快速修复文档),我将在其中添加 FIXIMATE .

要在 QF 中执行此类操作,您需要回答一些问题。

  1. 登录。了解如何登录。尝试从对方那里获取数据字典。您不想被迫过多地修改您的 DD。

  2. 界面。您将如何告诉 QF 登录、注销、退出糟糕的位置等等?我使用命令行工具( cmd2 )赋予我这种能力。其他人编写 GUI 窗口。

  3. 消息破解。某些版本的 QF 附带破解程序,但如果您没有 C++ 版本的破解程序,则必须编写自己的破解程序,以便可以解析传入的消息。

  4. 数据管理。您将如何将传入的市场数据保存在 RAM 中和磁盘中以供稍后分析?您将如何代表和监控您的头寸、工作指令和审计跟踪?熟悉 QF 中的 ScreenLogFactoryFileLogFactory

  5. 辅助功能。您将需要自己编写许多函数来在各个阶段提供帮助。将它们全部保存在一个位置并将它们分类以便于访问。

  6. 监控。当您不在计算机前监控算法时,您如何知道是否出现问题(或正确)?我启动了一个完全独立的进程,它通过队列消耗消息并向我发送文本和电子邮件。

  7. 风险。您不希望您的机器眨眼间向市场发送 1000 个订单。您需要编写一些检查代码,以否决不良订单,作为它们发出前的最后阶段。还有一些代码可以告诉您是否处于应该平放的位置。这部分非常重要。

  8. 策略。您需要能够快速获取数据、分析数据并生成信号。为了灵 active ,您不应该将策略设计到系统中,但您应该设计一个可以支持您提出的任何策略的策略对象。然后您在系统中部署这些对象。

  9. 订单处理。您的算法需要知道何时以及如何输入订单、取消订单、移动止损等。它需要处理部分成交,并能够支持多种订单类型。

这只是一个开始,在我的脑海中。独自一人、没有任何帮助,这是一条漫长的路。不过非常有趣,而且很有收获。

关于c++ - 如何开始使用 QuickFix 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40262215/

相关文章:

c++ - Boost 1.65.1 中可能存在错误。在运行 bootstrap.bat gcc 时

java - 将列 append 到 QuickFix/J Logs 数据库(自定义 QuickFix/J Logger)

quickfix - Quick Fix 基于 Java 的 Fix 客户端 - 发送消息和接收响应是否都需要套接字发起者和接受者

sql - 存储算法交易设置市场数据的最佳方式是什么?

c++ - 使用 C++ 的 vs2010 中的智能感知

c++ - 当不存在可选子字符串时,避免匹配中的空元素

c++ - 我可以用 C++ 扩展 lisp 吗?

c++ - 编译一个 quickfix 程序

trading - MQL4:如何获取经济日历的事件值?

monitoring - 算法交易软件安全 guard