MetaTrader 5帮助算法交易, 交易机器人智能交易系统和自定义指标

智能交易系统和自定义指标

两大类别可以在自动交易应用里单独出场: 交易机器人和指标。第一类应用设计用于执行交易操作, 第二类程序用于分析价格和识别价格变化的形态。指标可以直接在交易机器人里使用形成完整的自动交易系统。

如何运行一款交易机器人或指标 #

若要开始运行一款智能交易系统, 将其加载到图表。最简单的方式是在 导航器 窗口双击智能交易系统, 或将其拖拽到图表上。

在图表上开始交易机器人

这将带出智能交易系统的属性窗口。点击 "确定", 在图表上开始运行智能交易系统。如果一款智能交易系统已经成功开始, 它的名字和图标自动交易启用出现在图表的右上角。

如果图标是自动交易禁用, 则智能交易系统不可执行交易操作。在 智能交易系统设置 里启用自动交易, 以及交易平台里的选项。

  • 在一副图表上只能运行一个智能交易系统。如果您在同一图表上开始其它智能交易系统, 第一个将会被移除。
  • 在一副图表上应用指标的数量没有限制。

开始之前设置应用程序 #

在图表上的应用程序开始之前会打开属性窗口。

通用

"通用" 栏包括有关应用程序的信息: 名称, 版本, 版权, 软件开发公司名称 (最后两个参数可表示相应网页的链接) 和描述。

如果智能交易系统需要一张许可证 (例如, 它是从 市场) 购买并下载的, 相应的许可证详情 (过期日期, 演示版) 显示在此处。

启动智能交易系统的独立参数可在窗口底部设置。

  • 允许信号修改设置 ― 此选项允许 MQL5 应用 订阅和退订信号, 以及编辑 信号设置。此功能可以从 MQL5 应用里访问信号数据库, 使您可以执行您自己的信号品质分析, 动态管理订阅和调整风险。更多有关信号管理功能的详情在 MQL5 参考 里提供。
  • 允许自动交易 ― 此选项限制智能交易系统的交易活动。这个限制在实时模式下测试智能交易系统的分析能力时很有用 (不会与回测混淆)。注意, 即使此选项被启用, 智能交易系统的自动交易也可在平台的常用设置里禁用。

所有智能交易系统的常用参数均在交易平台的 设置 里指定。

交易机器人和指标的输入参数 #

应用程序可以有输入参数。 它们允许您控制应用程序的行为, 令其使用更加灵活。应用程序也可以没有输入参数, 如果开发者没有提供它们。

输入参数

如何修改应用程序参数

为了修改参数, 在其上双击并输入新值。

如何使用参数预设

您可以使用 "保存" 按钮来保存当前参数集合, 以及 "加载" 按钮来加载之前保存的集合。输入参数集合被存储在交易平台的 /Presets 文件夹。

如何恢复省缺设置

为了恢复省缺设置, 点击 "重置"。

已经加载的智能交易系统可以独立配置。不过, 智能交易系统的属性窗口在当前执行期间不能被打开。这可以在 Start() 函数调用之间的周期里完成。在此情况下智能交易系统不能开始, 直到其参数窗口关闭。如果智能交易系统的输入参数已经被修改, 点击 "确定" 按钮之后, 智能交易系统会使用新输入参数重新初始化。

使用外部函数程序 (DLL) #

如果智能交易系统从其它 EX5 或 DLL 文件里使用函数导入, 则 "依赖" 栏出现。使用外部 DLL 可以扩展程序功能。然而, 它具有潜在的危险。这些功能应该只允许可信任的应用程序。

依赖

由 EA 使用的文件显示在一颗树状列表里。绿色图标表示从 MQL5 程序里调用函数, 红色图标表示调用函数在 DLL 之内。

在栏顶部, 有一个启用/禁用 DLL 的选项:

  • 允许 DLL 导入 ― EA 可以使用 DLL 来扩展它们的功能。如果此选项启用, 则可无限制的使用程序库。如果 MQL5 应用用到 DLL, 但其导入被禁止 (此选项被禁用), 则 "确定" 按钮不会显示在应用程序开始窗口。

如果您不确定启动应用程序是否安全, 不要启用 "允许使用 DLL 导入" 选项。来历不明的应用程序也许通过使用第三方 DLL 导致破坏。

如何控制智能交易系统的交易 #

自动交易的可能性, 能够在交易平台层次或单独针对每一个交易机器人进行控制。

在工具条上的按钮 "自动交易启用 自动交易" (还有一个类似的选项在 选项 ― 智能交易系统) 启用/禁用平台上的自动交易。如果您将它关闭, 自动交易针对所有 EA 禁用, 即使您在 EA 设置 里单独启用了它。如果您启用了它, EA 将允许自动交易, 除非在智能交易系统参数里单独禁止自动交易。

控制智能交易系统的交易

自动交易许可可以方便地从导航器窗口管理独立的智能交易系统, 而不是在它们的参数。在导航器窗口里, 显示所有连接到账户的运行中智能交易系统。除了智能交易系统名称, 智能交易系统运行时所在的图表也在列表中指定。一个小图标指示智能交易系统是否允许交易。

智能交易系统运行在当前帐户上

关联菜单包括的命令可以启用或禁用所有智能交易系统的自动交易, 以及查看它们的属性或从图表上移除它们。

哪个平台设置影响自动交易? #

影响自动交易的设置选项在平台的 智能交易系统 栏里。

智能交易系统

有如下设置:

  • 允许自动交易 ― 此选项允许或禁止使用 智能交易系统脚本。如果它被禁止, 脚本或智能交易系统可以工作, 但不能交易。这个限制在实时模式下测试智能交易系统的分析能力时很有用 (不会与依靠历史数据测试混淆)。
    此选项启用/禁用整个平台的自动交易。如果您禁用它, 没有智能交易系统可以交易, 即使您在单独的 智能交易系统设置 里启用了它。如果您启用了它, 智能交易系统将允许交易, 除非在单独的智能交易系统参数里 禁用它。
  • 当账户切换时禁止自动交易 ― 此选项代表一个保护机制, 当账户改变时, 禁止智能交易系统和 脚本进行交易。它十分有用, 例如, 当从模拟账户切换到真实账户时。
  • 当切换综合配置时禁止自动交易 ― 有关当前工作区所有图表的设置信息存储在 综合配置 里。尤其是, 综合配置包括关于智能交易系统加载的信息。智能交易系统 也包含在综合配置里, 它将在下次新的分时抵达时开始工作。启用此选项可在改变综合配置时防止智能交易系统交易。
  • 当切换品种或周期禁止自动交易 ― 如果此选项被启用, 则图表周期和品种改变时, 加载于其上的 EA 禁止自动交易。
  • 允许 DLL 导入 (潜在危险, 仅允许可信任的应用程序) ― 扩展功能, mql5 应用 可以使用 DLL。此选项可以检查 "允许 DLL 导入" 参数使用的省缺值, 在 开始应用程序 期间。建议在使用来历不明的智能交易系统时, 禁止导入。
  • 允许 WebRequest 访问已有 URL 列表 ― MQL5 里的 WebRequest() 函数用来在网站间使用 GET 和 POST 请求接收和发送信息。为了让 MQL5 应用程序发送这些请求, 启用此选项并手工明确指定信任网站的 URL。出于安全原因, 此选项省缺禁用。
    若要从可信任列表里删除一个地址, 选择地址并按下 "删除"。

快速访问频繁使用的程序 #

为了快速访问频繁使用的程序, 使用 "收藏" 和热键。

选择交易机器人, 指标或脚本, 使用关联菜单将其添加到您的收藏。所有您收藏的程序显示在导航器的单独一栏, 并可容易地访问。

为了快速启动一个图表, 所有程序可以分配一个快捷键。这可以通过导航器窗口的关联菜单来完成。

添加程序到收藏并分配热键

在以上例子中, 为脚本设置了 "Alt+1" 键。一旦它们被按下, 脚本立刻在当前打开的图表上启动。

服务 #

交易平台提供了一个特殊的程序类型,称为“服务”。这类应用程序可以为程序端使用自定义价格源以及实现实时交付来自外部系统的价格,如同直接在交易商交易服务器上实施。服务还可以用于在后台执行其他服务任务。

与EA交易、指标和脚本不同,服务并不链接特定的图表。这类应用程序在后台运行,当程序端启动时自动启动(如果之前已启动)。

使用“导航”管理服务:

通过“导航”管理“服务”

要使用不同的参数运行多个EA交易或指标副本,您应该在不同图表上启动它们。在这种情况下,将创建不同的程序实例,然后彼此独立操作。服务没有链接到图表,因此形成了一种创建服务实例的特殊机制。从“导航”选择一个服务,并在快捷菜单中点击“添加服务”。这将打开一个标准的MQL5程序对话框,您可以在其中启用/禁用交易和对信号设置的访问,以及设置不同参数。

创建一个实例,启动并停止服务

可以使用对应的实例菜单启动和停止服务实例。要管理所有实例,请使用服务菜单。

Python脚本 #

Python语言包含多种机器学习、自动化处理以及数据分析和可视化库。现在,可以通过Python集成模块在平台中应用高级语言。

  • 可以从交易平台轻松快速地获取交易数据,然后使用Python工具进行分析:可以通过一个命令请求成千上万的交易品种
  • 获取账户交易状态和交易历史以计算统计数据
  • 按照您自己的算法执行交易操作

Python脚本可以直接在平台图表上启动,类似于常规的MQL5程序。这些脚本在导航中使用特殊图标进行标记。

在交易平台中运行Python脚本

脚本消息显示在"Toolbox \ Experts"部分。

Python脚本可以与其他MQL5脚本和EA并行地在同一图表上启动。要停止循环执行的脚本,请将其从图表中移除。

若要在使用第三方Python程序库时启用附加账户保护,您可以在程序端设置中使用“通过外部Python API禁用自动交易”选项。

出于账户保护考虑,需要明确允许Python脚本的自动交易

Python脚本只可在该选项禁用时执行交易操作。