MetaTrader 5帮助算法交易, 交易机器人MetaTester 和远程代理

MetaTester 和远程代理

智能交易系统可以利用所谓的代理进行测试和优化, 它可以在另外的计算机上进行计算。代理可以是本地或远程的。

本地代理会在安装交易平台的计算机上自动创建。本地代理的数量等于电脑逻辑核心的数量。

远程代理是安装在计算机上的一种特殊服务, 用于在策略测试器里面对智能交易系统进行测试和优化。无限数量的这类代理可以连接到同一平台。使用远程代理大大加快了策略优化, 因为每一次优化运行时, 都是在单独的代理上作为一个单独的过程执行。远程代理连接到策略测试器的过程说明在 单独章节

  • 远程代理可以连接到全球云计算网络 MQL5 云网络
  • 远程代理只能运行在 64-位的系统上。

远程代理作为单独的服务安装于操作系统之上, 使用位于交易平台安装文件夹里的特殊应用程序 "metatester.exe"。

为节省流量和磁盘空间, 以及出于安全原因:

  • 智能交易系统的消息 (Print() 函数), 以及关于交易操作的消息均未添加到日志里;
  • DLL 调用在远程代理中是禁用的。

文件和文件夹 #

为存储服务信息, MetaTester 在应用程序所在的目录中创建 "Tester" 文件夹。它包含以下文件夹和文件:

文件夹和文件

描述

子目录

描述

Agent-IP-address-port

测试器的每个代理都会创建一个文件夹。文件夹名称包含代理运行时的 IP 地址和端口号。

logs

代理的操作记录存储在这个文件夹内。

bases

代理所需的历史数据存储于这个文件夹。

Manager

此目录包含 MetaTester 控件记录。

代理的 Log 文件两天后或大小超出 1G 字节时自动删除。

MetaTester 的操作 #

为了跨越局域网或全球网共享您电脑上交易平台的计算力, 请安装远程代理。代理可以使用特殊的工具 MetaTester 进行安装并管理。它已经存在于省缺的标准交易平台安装包里。从平台安装文件夹里运行 metatester.exe。

  • 测试代理可以安装在独立于交易平台的任何计算机上。为此, 在所需的计算机上拷贝并运行 metatester64.exe 文件。服务文件和文件夹安装至 MetaTester 应用程序所在的目录。文件 metatester64.exe 既是代理所需的安装文件, 也是执行文件。
  • 代理只能安装并运行在 64-位系统中。

在 MetaTester 应用程序的窗口里包含多个选项卡。

概貌 #

概貌

这个选卡显示有关代理使用的有助信息。它还显示代理执行的测试数量和时间开销的统计。统计数据具有两类代理操作模式:

  • 本地统计
    在本地模式中, 代理作为安装在电脑上的服务运行。使用指定的地址和密码来连接它们。
  • MQL5 云网络统计
    在此模式中, 代理在特殊的 MQL5 云网络里进行操作。

服务 #

服务

在此选卡上您可以管理运行在您电脑上的代理。安装测试代理需指定以下:

  • 代理 ― 您打算安装的代理数量。建议安装与本机逻辑处理器核心同等数量的代理。
  • 密码 ― 连接代理的密码。当您在策略测试器里 添加代理 时密码必须指定。
  • TCP 端口 ― 代理将要工作的端口范围 (或者一个端口安装一个代理)。自策略测试器连接代理时端口号必须指定。

为安装代理, 点击 "添加"。代理将被安装在选卡顶部指定的 IP 地址上。使用此地址连接到代理。

安装和管理代理, 用户需要系统管理员权限。

已安装的代理列表显示在窗口的底部:

  • 服务 ― 正在操作系统里运行的代理服务名称。这个名称自动分配;
  • 端口 ― 代理操作占用端口号;
  • 递进 ― 由代理执行的测试递进数量;
  • 流量 入/出 ― 代理的流入和流出额度;
  • ― 网络连接状态。这个选项将确保代理可以从云计算网络接受任务。
  • 状态 ― 代理的当前状态: 运行或停止。

关联菜单

已安装代理可以使用关联菜单命令来管理:

  • 启动 启动 ― 启动所选代理;
  • 停止 停止 ― 停止所选代理进程。系统中的相应服务也被停止, 连接到代理不可能了;
  • 重启 重启 ― 停止之后重启所选代理;
  • 刷新 刷新 ― 刷新已安装代理列表;
  • 智能系统 智能系统 ― 智能系统代理设置 *.mt5 文件。这些设置可以 导入 到交易平台用于连接已安装代理。
  • 删除 删除 ― 删除所选代理。

当您关闭 MetaTester 窗口, 正在运行的代理不会停止。为停止代理, 在其关联菜单中执行相应的命令。

MQL5 云网络 #

MQL5 云网络是一个旨在将远程代理集成到一个单一云计算网络的特殊系统。它的主要优点是:

  • 可以提供您自己的代理, 并且在免费或者商用基础上使用第三方计算力。
  • 无需为代理设置网络访问 ― MetaTester 和 MQL5 云网络在代理之间自动组织访问及分派输入任务。
  • 便利的代理控制来自 MQL5 社区 用户资料。

MQL5 云网络

此选卡包含分布式计算 MQL5 云网络的管理选项: 通过 MQL5 社区账户出售计算资源。

通过启用此选项, 用户同意通过 MQL5 云网络使用他或她的远程代理。每个代理服务在网络里可用性, 遵照预设的 比例

当连接到 MQL5 云网络, 代理依然可使用 IP 地址和密码如常远程连接。

提供代理的计算力作为付费服务, 在相应的字段里指定您的 MQL5 社区 账户。您的代理使用费用会通过 MQL5 社区内部支付系统转账到您的指定账户。

如果您还没有帐户, 您可以点击 "注册新 MQL5 社区账户..." 创建一个。

  • 当指定您的有效账户时要小心, 否则, 在出错的情况下, 代理将会免费为他人服务。
  • 您可以监控您的代理在网络中的可用性, 并在 MQL5 社区资料里的 "代理" 选卡上管理它们。

调度 #

调度

在此选卡上您可以设置时间表来管理您的代理在 MQL5 云网络里的可用性。

代理的可用时间为蓝色, 不可用时间为浅色。在工作和非工作时间之间进行切换, 点击相应的方块。为了标记某一天的所有时段, 点击行尾的星号。

时间表不会影响使用正常 IP 地址和密码远程连接的代理可用性。

控制台命令 #

为了通过命令行操纵代理, 使用 metatester.exe 文件的控制台命令:

  • /install /address:地址:端口 /password:口令 ― 根据指定 IP 地址和端口还有指定密码安装代理。例如, metatester.exe /install /address:192.168.0.1:1950 /password:gj1sfj;
  • /uninstall /address:地址:端口 ― 删除安装在指定 IP 地址和端口的代理;
  • /start /address:地址:端口 ― 启动安装在指定 IP 地址和端口的代理服务;
  • /stop /address:地址:端口 ― 停止安装在指定 IP 地址和端口的代理服务;
  • /restart /address:地址:端口 ― 重启安装在指定 IP 地址和端口的代理服务;
  • /help ― 打开控制台命令帮助。

要使用命令行删除代理, 您还可以执行以下命令:

  • sc stop "代理名称" (若代理正在运行需要这个动作);
  • sc delete "代理名称"

例如, 要删除已经停止的代理 "MetaTester-1", 您需要执行以下命令:

sc delete "MetaTester-1"。