如何在服务器中执行 MQL4 程序?

tni*_*ada 5 php webserver mql4 mql5 server

我已经使用 MQL4 语言实现了一个要在 MetaTrader 中执行的智能交易系统。

现在,如果我需要执行它,我总是需要运行 MetaTrader 并将我的 EA 程序附加到其中的实时货币对图表。

我想知道是否有一种方法可以在服务器中执行 MQL4 脚本,这样我就不需要让我的计算机始终处于开启状态。我用谷歌搜索了这个问题,但我找不到合适的答案。

我发现有一种方法可以将数据从 MetaTrader 传输到网络服务器(MQL 到 PHP),但我不知道它是否有助于解决我的问题(http://mql4-php.iinuu.eu/

提前致谢。

use*_*197 0

是的,很少有基于 DLL 的方法来传输“仅”数据

ZeroMQ DLL,用于基于套接字的消息传递方法。

Windows raw-sockets' 用于低级套接字编程。

其他一些基于 DLL 的工具用于将数据传递到远程或并行进程或从远程或并行进程传递数据。

不,没有已知的方法可以在服务器上运行 MQL4-CODE

每个 MQL4 源代码首先被编译到一个.EX4文件中。此类“可执行”文件在类似的专有软件中加载和执行 - 在MetaTrader4 Terminal. 到目前为止,还没有已知的用于此功能的服务器进程实现,并且 MetaQuotes, Inc. 没有销售或开发任何明显的努力来发布任何此类软件。由于法律原因,几乎不会有任何开源项目朝这个方向发展,因为任何类似的努力都以保护知识产权的名义引发了法律后果,在任何情况下,只要该项目的非公开性质分布在 MetaTrader4 终端 [本地主机端] 和/或 MetaTrader4 服务器 [经纪商端] 程序之间的数据传输和/或操作将被触及或以其他方式分析和/或重新设计。

但是,有一个办法可以满足你的愿望

有一种常见的做法是操作本地主机端的软件(MetaTrader4 Terminal托管在远程计算机上),该软件在专业数据中心以 24/7/365 方式保持运行。

使用这种方法,您的MQL4代码仍然在软件进程内以本机模式运行MetaTrader4 Terminal,但是,机器(基于 Windows 操作系统的机器)被虚拟化为 VM 并托管在数据中心基础设施中。

然而,在考虑 EA/脚本的虚拟机/托管操作模式时,仍然需要采取一些步骤和措施来保护您的隐私和知识产权。

应用这种操作模式将允许您在需要直观地检查和/或手动更正和/或修改非实时运行的代码时从本地主机连接到数据中心MetaTrader4 Terminal。停止模式。