我已经在 Excel VBA 中创建了代码,它通过 dde 链接收集数据并根据一些规则执行它们。很快,此 Excel VBA 代码将向我发送有关购买或出售我正在跟踪的股票的消息。
现在,我想通过使用修复协议来执行这些消息。是否可以使用 Excel VBA 创建一个连接到 Web 服务并允许您执行来自 Excel VBA 的操作的修复协议引擎?
谢谢你的帮助。
我已经在 Excel VBA 中创建了代码,它通过 dde 链接收集数据并根据一些规则执行它们。很快,此 Excel VBA 代码将向我发送有关购买或出售我正在跟踪的股票的消息。
现在,我想通过使用修复协议来执行这些消息。是否可以使用 Excel VBA 创建一个连接到 Web 服务并允许您执行来自 Excel VBA 的操作的修复协议引擎?
谢谢你的帮助。
从 Excel 发送 FIX 消息有多种选择。
首先,从头开始编写 FIX 引擎并非易事。对于初学者来说,规范(尤其是早期版本,例如 4.2)相当模糊,很多细节只能从实践经验中了解。因此,您最好从现成的解决方案开始。
你有几个选择:
1) 从 Excel 调用 FIX 引擎的远程 API。您可以在此处找到各种商业引擎:http: //fixprotocol.org/products/1 - 有些提供带有产品 SDK 的 excel 插件。
2) 将 QuickFIX.NET 嵌入到您的 VBA 代码中。有关代码示例,请参见http://www.quickfixengine.org/(主题太大,无法在该答案中发布)。
3) 购买 FIX for Excel 插件。有几个。我不能推荐一个(出于各种原因)。同样,您可以在 FIX Protocol Ltd 网站上搜索一些起点: http: //fixprotocol.org/products/2
还有一点注意事项:
当我对此进行编码时,Excel 的线程模型不允许异步更新单元格。因此,当我向远程 FIX 服务器发送命令时,响应消息(交易)是异步接收的。收到回复后,我尝试更新 Excel。如果我在更新到达时同时编辑单元格,Excel 进程会严重崩溃。
克服这一问题的一种解决方案是使用 Excel RTD 界面(RTD =“实时数据”)来更新您的交易记录。这是另一个大话题。这是一个起点: