MQL5 编程示例的文章

icon

访问海量文章以及代码实例集合,演示如何使用 MQL5 语言 为 MetaTrader 平台创建指标和交易机器人。源代码已附加在文章之中,因此您可以在 MetaEditor 中打开并运行它们,看看应用程序如何工作。

这些文章对那些刚开始探索自动交易的人,以及具有编程经验的职业交易员都极其有用。它们的特色不仅是例子,而且也蕴含着新的想法。

添加一个新的文章
最近 | 最佳
轻松快捷开发 MetaTrader 程序的函数库 (第十九部分) : 函数库消息类
轻松快捷开发 MetaTrader 程序的函数库 (第十九部分) : 函数库消息类

轻松快捷开发 MetaTrader 程序的函数库 (第十九部分) : 函数库消息类

在本文中,我们将研究显示文本的消息类。 目前,我们有众多的不同消息。 是时候重新编排它们的存储、俄/英语言翻译成其他语言、以及显示消息的方法。 此外,最好引入便利的方法来向函数库中添加新语言,并在它们之间快速切换。
MQL 作为 MQL 程序图形界面的标记工具(第三部)。 窗体设计师
MQL 作为 MQL 程序图形界面的标记工具(第三部)。 窗体设计师

MQL 作为 MQL 程序图形界面的标记工具(第三部)。 窗体设计师

在篇论文当中,我们将用 MQL 的结构完成构建 MQL 程序窗口界面的概念讲述。 专业的图形编辑器能够交互式地设置由 GUI 元素的基本类组成的布局,然后将其以 MQL 描述导出,从而可在您的 MQL 项目中使用。 此片论文介绍了编辑器的内部设计和用户指南。 附带源代码。
三色指标和最大程度简化写入指标的一些方法
三色指标和最大程度简化写入指标的一些方法

三色指标和最大程度简化写入指标的一些方法

作者在本文中详述了一些提高指标对于可视化交易的信息价值的方法。作者分析了三色指标以及使用了其他时间框架内的数据构建的指标的实现方式,然后继续详述指标库,具体可参见文章 "延迟最小的有效平均算法:在指标中的使用"
图形界面 VIII: 日历控件 (第一章)
图形界面 VIII: 日历控件 (第一章)

图形界面 VIII: 日历控件 (第一章)

在 MetaTrader 中创建图形界面的系列文章的第八部分中,我们将探讨复杂的组合控件,例如日历(calendar),树形视图(tree view),以及文件浏览器(file navigator)。因为有大量的信息,对每个主题都有独立的文章,此部分的第一章描述了日历控件以及它的扩展版本 - 下拉日历。
基于 MACD 扩展分析的交易助手
基于 MACD 扩展分析的交易助手

基于 MACD 扩展分析的交易助手

基于任意时间范围上实时交易中最后三个柱的 MACD 状态的扩展分析,‘交易助手’脚本帮助你对打开头寸进行决策。也可以用于回测。
使用 CCanvas 类绘制刻度表盘
使用 CCanvas 类绘制刻度表盘

使用 CCanvas 类绘制刻度表盘

我们可以在汽车和飞机, 在工业产品以及在生活中随处发现刻度表盘。它们被用在所有需要对数值控制行为进行快速响应的领域。这篇文章描述用于 MetaTrader 5 的刻度表盘程序库。
DoEasy 函数库中的图形(第七十八部分):函数库中的动画原理。 图片切分
DoEasy 函数库中的图形(第七十八部分):函数库中的动画原理。 图片切分

DoEasy 函数库中的图形(第七十八部分):函数库中的动画原理。 图片切分

在本文中,我将定义会在函数库某些部分中用到的动画原理。 我还将开发一个类,复制图像的一部分,并将其粘贴到会话窗对象上的指定位置,它是为了保留和恢复叠加图像位置的会话窗背景部分。
preview
您能用移动平均线做什么呢

您能用移动平均线做什么呢

本文研究了若干种移动平均指标的应用方法。 每种方法涉及到的曲线分析,都配有思想实现的可视化指标。 在大多数情况下,这里展示的所有思路均属于它们尊敬的作者。 我唯一的任务就是把它们归纳起来,令您看到其主要作用,并希望做出更合理的交易决策。 MQL5 熟练程度 — 基本。
手工图表和交易工具包(第一部分)。 准备:结构描述和助手类
手工图表和交易工具包(第一部分)。 准备:结构描述和助手类

手工图表和交易工具包(第一部分)。 准备:结构描述和助手类

这是该系列的第一篇文章,我将在其中讲述一个工具箱,该工具箱可通过键盘快捷键来手工图表图形应用。 这非常方便:按一个键,然后出现趋势线,再按另一个键 — 将创建具有必要参数的斐波那契扇形。 也可以切换时间帧,重新排列图层或从图表中删除所有对象。
例解 MQL5 中的面向对象编程:处理警告和错误代码
例解 MQL5 中的面向对象编程:处理警告和错误代码

例解 MQL5 中的面向对象编程:处理警告和错误代码

本文以一个例子说明创建一个类用于处理 MQL 程序运行期间交易服务器返回的代码以及所有错误的类。阅读本文之后,您将学习到如何在 MQL5 中处理类和对象。同时,这是一个方便的错误处理工具;并且您可以依据您的具体需要进一步更改此工具。
图形界面 I: 在MetaTrader 4终端中使用不同类型的程序来测试界面库 (第五章)
图形界面 I: 在MetaTrader 4终端中使用不同类型的程序来测试界面库 (第五章)

图形界面 I: 在MetaTrader 4终端中使用不同类型的程序来测试界面库 (第五章)

在图形界面系列的第一部分前面的章节中, 我们已经丰富了表单类, 可以通过按下其中的控件来管理表单. 在本文中, 我们将使用不同类型的MQL程序, 例如指标和脚本程序, 来测试我们的成果. 因为此函数库被设计为跨平台的, 因而它可以用于所有MetaTrader平台, 我们也会在MetaTrader 4中测试它.
基于 CGraphic  用于分析数据数组(时间序列)之间相互关联的 PairPlot  图
基于 CGraphic  用于分析数据数组(时间序列)之间相互关联的 PairPlot  图

基于 CGraphic 用于分析数据数组(时间序列)之间相互关联的 PairPlot 图

在技术分析中比较几个时间序列是一种很常用的任务,需要合适的工具。在本文中,我提出开发一种用于图形化分析的工具,可以侦测两个或者多个时间序列之间的相互关联。
一目平衡表替代指标 - 设置和应用示例
一目平衡表替代指标 - 设置和应用示例

一目平衡表替代指标 - 设置和应用示例

如何正确设置一目平衡表替代指标?请阅读参数设置的说明。本文不仅会帮助你理解设置一目平衡表指标参数的方法,你还能更好的理解如何设置标准的一目平衡表。
preview
开发 EA 构造函数的一次尝试

开发 EA 构造函数的一次尝试

在本文中,我把自己的一套交易函数以成品 EA 的形式提供给大家。 这种方法能够通过简单地添加指标和改变输入来获得多种交易策略。
使用命名管道与 MetaTrader 5 进行无 DLL 通信
使用命名管道与 MetaTrader 5 进行无 DLL 通信

使用命名管道与 MetaTrader 5 进行无 DLL 通信

许多开发人员面临同样的问题 - 如何在不使用不安全 DLL 的情况下到达交易端沙箱。一种最简单和最安全的方法是使用作为普通文件操作的标准命名管道。它们允许您组织程序之间的处理器间客户端-服务器通信。看一下包括服务器、客户端、其间的数据交换以及性能基准在内的 C++ 和 MQL5 实例。
在通用EA交易中发送交易信号
在通用EA交易中发送交易信号

在通用EA交易中发送交易信号

本文描述了从一个通用EA交易的信号程序单元发送交易信号到仓位与订单控制单元的几种方法. 它仔细研究了串行和并行接口.
交易者的工具箱: 拖动交易库(Drag Trade Library)
交易者的工具箱: 拖动交易库(Drag Trade Library)

交易者的工具箱: 拖动交易库(Drag Trade Library)

本文描述了提供可视化交易功能的拖动交易库。 该库可以轻松集成到几乎任何 Expert Advisor 中。 只需要添加一些代码行,就可以几乎毫不费力的将你的 Expert Advisor 从一个自动程序转换为自动交易和信息系统。
MQL5 细则手册:在 MQL5 中开发多交易品种波动指标
MQL5 细则手册:在 MQL5 中开发多交易品种波动指标

MQL5 细则手册:在 MQL5 中开发多交易品种波动指标

本文将探讨如何开发多交易品种波动指标。对于 MQL5 开发新手来说,开发多交易品种指标可能有些难度,本文将帮他们理清开发过程。开发多交易品种指标的主要问题:其它交易品种的数据与当前交易品种之间的同步;缺乏某些指标数据;以及确定既定时间表“真实”柱的起点。本文将密切关注以上所有问题。
交易者的工具箱: 设计指标
交易者的工具箱: 设计指标

交易者的工具箱: 设计指标

本文主要介绍设计指标的主要任务,解决方案和自动化。
利用 MetaTrader 5 测试仪实现策略可视化
利用 MetaTrader 5 测试仪实现策略可视化

利用 MetaTrader 5 测试仪实现策略可视化

我们都知道有一个“百闻不如一见”的说法。关于巴黎和威尼斯,有各种各样的书可供您阅读,但是根据想像,您永远都不会懂得夜间漫步于这些神话般城市的街头会有怎样的感受。可视化的诸多优势,可以很容易地投射到我们生活的方方面面,其中就包括市场活动。比如说:基于采用指标的图表的价格分析,当然还有策略测试的可视化。本文中包含对于MetaTrader 5策略测试仪所有可视化功能的描述。
ZUP - 派斯温托通用锯齿形调整浪模式。第 2 部分
ZUP - 派斯温托通用锯齿形调整浪模式。第 2 部分

ZUP - 派斯温托通用锯齿形调整浪模式。第 2 部分

ZUP - 派斯温托通用锯齿形调整浪模式。第 2 部分 - 内嵌工具的说明
使用电子表格建立交易策略
使用电子表格建立交易策略

使用电子表格建立交易策略

本文介绍了使用电子表格(Excel、Calc、Google)分析任何策略的基本原则和方法。所得结果与 MetaTrader 5 测试器进行了比较。
文件操作. 一个重要市场时间可视化的实例
文件操作. 一个重要市场时间可视化的实例

文件操作. 一个重要市场时间可视化的实例

本文展示并展望了使用MQL4在外汇交易市场上做出更加高效的工作.
DoEasy 函数库中的价格(第六十三部分):市场深度及其抽象请求类
DoEasy 函数库中的价格(第六十三部分):市场深度及其抽象请求类

DoEasy 函数库中的价格(第六十三部分):市场深度及其抽象请求类

在本文中,我将着手开发操控市场深度的功能。 我还将创建市场深度抽象订单对象,及其衍生类。
MQL5 酷宝书:利用自定义品种进行交易策略压力测试
MQL5 酷宝书:利用自定义品种进行交易策略压力测试

MQL5 酷宝书:利用自定义品种进行交易策略压力测试

本文研究一种利用自定义品种进行交易策略压力测试的方法。 为此目的,将创建一个自定义品种类。 此类用于接收源自第三方的报价数据,以及更改品种属性。 根据所完成操作的结果,我们将研究若干选项,并在这些选项下测试交易策略。
轻松快捷开发 MetaTrader 程序的函数库 (第 三十部分) :延后交易请求 - 管理请求对象
轻松快捷开发 MetaTrader 程序的函数库 (第 三十部分) :延后交易请求 - 管理请求对象

轻松快捷开发 MetaTrader 程序的函数库 (第 三十部分) :延后交易请求 - 管理请求对象

在上一篇文章中,我们遵照函数库对象的一般概念创建了相对应的延后请求对象类。 本次,我们将着手允许管理延后请求对象的类。
图形界面 VII: 表格控件 (第一章)
图形界面 VII: 表格控件 (第一章)

图形界面 VII: 表格控件 (第一章)

MetaTrader 图形界面系列的第七部分处理的是三种表格类型:文本标签型,编辑框型,以及绘制型。另一种重要并且常用的控件是页面,它使您可以显示/隐藏成组的其他控件并且在您的MQL应用程序中开发有效利用空间的界面。
基于 .Net 框架和 C# 开发图形界面(第二部分):另外的图形元素
基于 .Net 框架和 C# 开发图形界面(第二部分):另外的图形元素

基于 .Net 框架和 C# 开发图形界面(第二部分):另外的图形元素

本文是之前发表的“基于.NET框架和C为EA交易和指标开发图形界面”的后续部分,它引入了新的图形元素来创建图形界面。
用于轻松快速开发 MetaTrader 程序的函数库(第三部分)。 市价订单和仓位的集合,搜索和排序
用于轻松快速开发 MetaTrader 程序的函数库(第三部分)。 市价订单和仓位的集合,搜索和排序

用于轻松快速开发 MetaTrader 程序的函数库(第三部分)。 市价订单和仓位的集合,搜索和排序

在第一部分中,我们曾创建了一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 再者,我们实现了历史订单和成交的集合。 我们的下一步是创建一个类,用来针对订单、成交和仓位的集合进行选择和排序。 我们将实现名为引擎(Engine)的基准函数库对象,并向函数库中添加市价订单和仓位的集合。
轻松快捷开发 MetaTrader 程序的函数库(第五部分):交易事件集合类,向程序发送事件
轻松快捷开发 MetaTrader 程序的函数库(第五部分):交易事件集合类,向程序发送事件

轻松快捷开发 MetaTrader 程序的函数库(第五部分):交易事件集合类,向程序发送事件

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台上的程序开发。 在第四部分中,我们测试了在帐户上跟踪交易事件。 在本文中,我们将开发交易事件类,并将它们置于事件集合当中。 从那里,它们将被发送到 Engine (引擎)库的基准对象,并控制程序图表。
使用标准库类和Google Chart API 创建信息板
使用标准库类和Google Chart API 创建信息板

使用标准库类和Google Chart API 创建信息板

MQL5 编程语言主要针对自动化交易系统的创建以及复杂的技术分析工具。除此之外,它还允许我们创建有趣的信息系统以跟踪市场情况,并实现了与交易者的回路连接。本文会讲述 MQL5标准库的各个组件,并向大家展示它们为达各自目的的实际应用示例。还会呈示一个使用 Google Chart API 创建图表的例子。
MQL5 代码自动生成文档
MQL5 代码自动生成文档

MQL5 代码自动生成文档

大多数 Java 代码编写者熟悉可通过 JavaDocs 创建的自动生成文档。其思路是以一种半结构化的方式向代码添加注释,然后可以将这些注释提取到易于导航的帮助文件。C++ 世界也有若干文档自动生成器,其中微软的 SandCastle 和 Doxygen 是两款领先产品。本文说明使用 Doxygen,从 MQL5 代码的结构化注释创建 HTML 帮助文件。试验非常成功,我认为 Doxygen 从 MQL5 代码生成的帮助文档会增加很多价值。
交易之间的停顿
交易之间的停顿

交易之间的停顿

文章解决的问题:当一定数量的智能交易在MТ 4客户端运行时,如何很好的安排交易之间的停顿。 在终端和MQL 4程序中用户需要的基本技能。
图形界面 X: 多行文本框中的字词回卷算法 (集成编译 12)
图形界面 X: 多行文本框中的字词回卷算法 (集成编译 12)

图形界面 X: 多行文本框中的字词回卷算法 (集成编译 12)

我们继续开发多行文本框控件。这次我们的任务是实现一个自动的文字回卷, 以防发生文本框宽度溢出, 或者如果出现机会, 将文本逆卷到上一行。
ZUP - 派斯温托通用锯齿形调整浪模式。第 1 部分
ZUP - 派斯温托通用锯齿形调整浪模式。第 1 部分

ZUP - 派斯温托通用锯齿形调整浪模式。第 1 部分

本文简要描述了指标 ZUP(派斯温托通用锯齿形调整浪模式)的基本原理。文章还描述了 ZUP 中内置的各个锯齿形调整浪指标。
preview
神经网络在交易中的实际应用 Python (第一部分)

神经网络在交易中的实际应用 Python (第一部分)

在本文中,我们将分析一个基于Python的深层神经网络编程的交易系统的分步实现。这将使用谷歌开发的 TensorFlow 机器学习库执行。我们还将使用 Keras 库来描述神经网络。
对冲 Expert Advisor 编码基础
对冲 Expert Advisor 编码基础

对冲 Expert Advisor 编码基础

本文给出了对冲 Expert Advisor 的示例。作者将选择自己喜欢的对冲对,即 EURJPY 与 GBPJPY。此对冲对的运作方式始终相同,能较为方便地设置对冲订单类型。
在 MQL5 中使用对象指针
在 MQL5 中使用对象指针

在 MQL5 中使用对象指针

默认情况下,MQL5 中的所有对象都通过引用传递,但还有使用对象指针的可能性。然而,由于对象可能没有初始化,我们必须执行指针检查。在这种情况下,MQL5程序可能会因为关键性错误而终止并卸载。自动创建的对象不会引起此类错误,因此就此意义而言它们十分安全。通过本文,我们将理解对象引用和对象指针之间的差异,并思考如何编写使用指针的安全代码。
MQL5 Cookbook: 把交易历史写入文件以及为每个交易品种在Excel中创建余额图表
MQL5 Cookbook: 把交易历史写入文件以及为每个交易品种在Excel中创建余额图表

MQL5 Cookbook: 把交易历史写入文件以及为每个交易品种在Excel中创建余额图表

当在各种论坛做沟通时,我经常使用我自己的测试结果作为例子,这些结果显示为Microsoft Excel中的图表截图。很多时候都有人问我这些图表是怎样创建的,最终,我现在有时间在本文中解释其中的全部了。
统计估计
统计估计

统计估计

对某个序列的统计参数进行估计非常重要,因为大多数数学模型和方法均基于不同的假设。例如,正态分布规律或离差值(或其他参数)就是这样。因此,在分析和预测时间序列时,我们需要一个简单方便的工具,用于快速清晰地估计主要统计参数。本文简要说明了一个随机序列的最简单统计参数,以及其可视分析的几种方法。本文还说明了如何在 MQL5 中实现这些方法,以及使用 Gnuplot 应用程序对计算结果进行可视化的方法。