$ £ ¥
¥ £ $

MQL4 程序类型

内容

想必您现在对 MQL4 是什么有了更深入的了解,接下来,我们将介绍使用这种强大的语言可以创建哪些主要的程序类型

有了 MQL4,您可以创建五种程序类型,且每种类型都与其他类型有很大的区别。有趣的是,其中一种程序类型可以通过不同的方式由其他类型使用,说明指标可以用在脚本或智能交易系统中。当您查看每种类型时,您会看到更详细的内容。

您可以用 MQL4 编程语言来发现并创建以下主要的程序类型:

  • 包含文件
  • 脚本
  • 指标
  • 智能交易系统
MQL4 程序类型

包含文件

包含文件是指包含您想要用于其他程序的代码的文本源文件。包含文件拥有 MQH 扩展名并保存在 MQL4/Include/ 子文件夹中或与使用包含文件的源文件相同的子文件夹中。包含文件自身无法运行——它们只能被包含在其他程序类型中。

我们将展开解释这个概念,以免您由于不熟悉编程而难以理解相关内容。假设您有严格的风险管理规则,而且您全部订单的头寸数量都须根据您的风险管理规则计算得出。你可以创建一项函数来计算您的头寸数量并将它保存在包含文件中。然后,您可以将该文件包含在脚本或智能交易系统中,接下来您可以使用这项包含函数,且无需重新编写代码。通常,包含文件的优势在于可以保持代码的纯净性,以及可以重新使用部分代码。


库的目的与包含文件的相同,但它们有一个 EX4 扩展名(意味着它们经过编译),而且它们被保存在 MQL4/Libraries/子文件夹中。与包含文件一样,您无法让库独立运行,它们只能包含在其他文件类型中。


脚本

脚本是只在您将它添加至图表时才执行特定操作的程序。脚本的源文件带有 MQ4 扩展名,而编译的可执行版本带有 EX4 扩展名。脚本被保存在 MQL4/Scripts/ 文件夹中。

脚本与智能交易系统非常相似。它们都可以执行操作,但两者之间有一个根本区别:脚本只执行一次任务就会退出,而智能交易系统会在出现新事件时重复该操作。

脚本可以执行简单的操作,也可以执行更复杂的任务,例如:

  • 用默认或计算得出的头寸数量、止损位及止盈位打开一笔订单。
  • 创建一份报告并保存至文件。
  • 通过邮件发送报告。
  • 立刻关闭所有未结头寸。
  • 计算相关值并返回结果。

脚本可以从默认及自定义指标加载值,还可以包含库及包含文件,但请记住,它们在执行时只运行一次。


指标

指标是对价格或价格操纵的图形呈现。例如,请思考移动平均线指标。它可能是最常用、最受欢迎的指标,代表着一段时间内的平均价格。

指标的源文件带有 MQ4 扩展名,而用于 MetaTrader 4 的编译可执行版本带有 EX4 扩展名。指标文件被保存在 MQL4/Indicators/ 子文件夹中。

MetaTrader 4 包含一些内置指标,但这些指标有时不足以满足您的技术分析需求。网站有很多能够更好地满足您交易风格的加强版指标。如果还是无法满足您的要求,您可以通过 MQL4 创建您的自定义指标。

再次提醒,指标是对价格或价格操纵的图形呈现。您将它添加至图标,然后它会显示按照编程设定要显示的信息。

以下是一些标准指标的示例:

自定义指标可以是现有指标或全新指标的加强版。您可以查看一些我们以免费开源的形式创建的自定义指标示例。

标准 MetaTrader 4 指标示例 - MA、ATR 及 Stoch
 

指标与脚本及智能交易系统的一个重要区别在于,指标无法执行交易操作。指标无法打开、修改或关闭订单。同时,指标可以获得关于现有或已了结订单的信息。


智能交易系统

智能交易系统可能是您通过 MQL4 可以开发的最强大的工具。它们是您添加至图表的程序,而且直到您手动停止它们,它们才会停止运行。如要了解智能交易系统的工作原理,您需要先了解跳动点这个概念。跳动点是指当图表上出现新的价格报价时的事件。跳动点是触发智能交易系统的行为。智能交易系统的运行会允许 MetaTrader 持续监控价格及指标,并在验证完条件后执行特定的程序操作。

智能交易系统源文件的扩展名为 MQ4,而可执行编译版本的扩展名为 EX4。这些文件被保存在文件夹 MQL4/Experts/ 中。

智能交易系统在行业内有许多名称,但即便这些名称有细微的区别,它们大多数是指用于将交易活动自动化的工具。智能交易系统也被称为黑箱系统、交易机器人或自动机器人。

您可以在网上找到免费的智能交易系统或商用产品。不过,请务必提防遍布网络的骗局。还有一种备选方案是,您可以创建自己的交易机器人。

智能交易系统的功能非常灵活。它们可以进行的操作包括:

  • 监控价格及指标值,在价格或指标达到特定值时下订单或平仓。
  • 当满足某些条件时,通过电子邮件或屏幕发送提醒或通知。
  • 自动移动止损或止盈位,采用追踪止损。
  • 发送自动报告。
  • 在预定时间执行操作。

如您所见,智能交易系统是非常便捷的。随着您更频繁地使用它们,您会发现自定义智能交易系统的其他示例及优势。

现在,您应该对通过 MQL4 能够发现及创建的程序类型有了更好的了解,接下来您可以试着认识 MetaEditor