5

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

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

我想知道是否有一种方法可以在服务器中执行 MQL4 脚本,这样我就不需要让我的电脑一直开着。我用谷歌搜索了这个问题,但找不到合适的答案。

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

提前致谢。

4

3 回答 3

0

注意以下要求:

“我想知道是否有一种方法可以在服务器中执行 MQL4 脚本,这样我就不需要让我的电脑一直开着。”

您可以订阅 VPS(虚拟专用服务器)服务,您可以在其中附加您的 EA (.ex4) 文件。基本上,它充当服务器托管(但非常小,足以运行您的 MT4 终端)。

有许多 VPS 产品。只是谷歌Metatrader4 VPS。事实上,Metaquotes 本身也提供这项服务,直接从您的 MT4 开始。一旦您订阅了该服务并附加了您的 .EX4,您就可以关闭您的 PC,EA 仍将在 VPS 上运行。您可以在此处找到详细信息链接

于 2015-03-04T23:36:33.090 回答
0

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

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

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

其他一些基于 DLL 的工具,用于将数据传入/传出远程或并行进程。

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

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

但是,有一种方法可以解决您的愿望

有一种常见的做法是操作 localhost 端的软件——MetaTrader4 Terminal托管在远程机器上的软件,它在专业的 DataCentre 中以 24/7/365 的方式保持运行。

使用这种方法,您的MQL4代码仍然在MetaTrader4 Terminal软件进程内以本机模式运行,但是,机器(基于 Windows O/S 的机器)被虚拟化为 VM 并托管在 DataCentre 基础架构中。

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

应用这种操作模式将允许您从本地主机连接到数据中心,而此时您想要直观地检查和/或手动更正和/或修改MetaTrader4 Terminal非停止模式。

于 2014-12-28T18:23:51.643 回答
0

如今,大多数经纪人都提供Virtual Private ServerakaVPS解决方案,旨在减少您交易的延迟和滑点。这意味着您的系统将“实际上”更接近经纪人服务,从而减少定价和执行订单从您VPS的服务器传输到经纪人服务器所需的时间。

于 2016-04-23T12:44:45.300 回答