8

我的任务是将 C# 市场策略迁移到 MetaTrader。

  1. 有没有办法自动化这项工作?(例如,是否可以将 C# 解析为它的 AST,然后进行翻译?)

  2. MetaTrader 是否以任何方式接受其他语言?

4

4 回答 4

7

自下而上处理任务——架构方面

是的,您可以简化麻烦,让 MT4 成为一个节点,立即点对点连接到您当前的C# 市场策略。

这使我能够操作基于集群的计算,并与大量MT4节点进行大规模并行通信。

MT4 可以anEventFEED通过更复杂的“可扩展的正式通信框架”以非常智能的方式成为-er Node。

您是否希望有一个CLI 界面来命令您的 MT4 节点- 一个作为anEventFEED-er,另一个作为anXtoACTOR节点 - 有选择地使用 CLI 指令的语法和语法(不涉及测试自动化等。 ..)?

您是否希望拥有一个中央 < syslog > 守护程序来卸载 HFT 流量加载的 MT4 节点并自动化 + 管理脚本监控和维护任务?

您是否希望有一个外部GPU 计算引擎/集群以客户端/服务器方式与 MT4 EA 在每个滴答事件的基础上进行通信?

ZeroMQ和/或nanomsg框架将允许您设计和开发多对多(node-network-wise)和any-to-any(实现语言)系统。

MT4/MQL4 有一个用于 ZeroMQ 的直接智能包装器 >>> 感谢 GitHub 上的 Austen Conrad MQL4ZMQ

ZeroMQ >>> 感谢它的优秀团队拥有许多语言绑定 - C /C++、Python、Java、R,甚至是 Erlang,...

因此,您的项目可能会在坚如磐石的基础上开始,并且独立于任何特定的架构僵局(DLL 移动沙子等)

工程内置为您节省大量时间和精力,避免重新发明轮子

于 2014-06-13T00:33:22.103 回答
3

GET/POST 请求和基于 Web 的文本 API 服务怎么样?

您可以使用 C# 策略使用三元信号更新基于 Web 的文本文件:

-1 SELL
 0 HOLD
 1 BUY

然后使用 MQL4 每分钟读取一次文本文件以获取交易信号。

就技术上如何做到这一点而言;不幸的是,我是一个 Python 程序员,不是 MQL4 或 C#,所以我无能为力。

于 2014-12-30T23:04:27.037 回答
1

简短的回答是否定的,但是,mql 中有一个导入 dll 的功能。因此您可以使用通过函数导出功能公开的 c++/cli 库来包装您的 c# 库,您甚至可以在 mql 中运行一个计时器并实现一个基本的消息泵。

更新:MT4 只能访问非托管 DLL 的标准调用。您必须使用 c++ 包装器的原因是 c++ 确实具有创建非托管标准调用的能力。您可以用来创建标准调用的任何其他语言也可以使用。

此外,您需要一个包装器,以防您想使用不支持标准调用的其他语言。你可能只是用 C++ 编写你的整个代码,整个包装器的概念就会过时。

于 2013-05-25T16:14:51.803 回答
1

是的,可以通过使用诸如 NQuotes http://www.nquotes.net/之类的一些 3rd 方解决方案来使用 C# ,它本质上是一个现成的用于一般用途的 DLL(如 Dmitry 所说,您可以创建自己的,但是它涉及一些工作)。

于 2013-12-27T20:25:10.110 回答