MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
多层感知器和反向传播算法(第二部分):利用 Python 实现并与 MQL5 集成

多层感知器和反向传播算法(第二部分):利用 Python 实现并与 MQL5 集成

有一个 Python 程序包可用于开发与 MQL 的集成,它提供了大量机会,例如数据探索、创建和使用机器学习模型。 集成在 MQL5 内置的 Python,能够创建各种解决方案,从简单的线性回归、到深度学习模型。 我们来看看如何设置和准备开发环境,以及如何使用一些机器学习函数库。
DoEasy 函数库中的图形(第八十六部分):图形对象集合 - 管理属性修改
DoEasy 函数库中的图形(第八十六部分):图形对象集合 - 管理属性修改

DoEasy 函数库中的图形(第八十六部分):图形对象集合 - 管理属性修改

在本文中,我将研究跟踪属性值的修改,以及删除和重命名函数库中的图形对象。
更好的程序员(第 05 部分):如何成为更迅捷的开发人员
更好的程序员(第 05 部分):如何成为更迅捷的开发人员

更好的程序员(第 05 部分):如何成为更迅捷的开发人员

每位开发人员都希望能够更快地编写代码,且能够更快、更有效地编写代码并非只是少数人与生俱来的特殊能力。 这项技能是可通过学习提升的,这就是我在本文中尝试传授的内容。
DoEasy 函数库中的图形(第八十五部分):图形对象集合 - 添加新创建的对象
DoEasy 函数库中的图形(第八十五部分):图形对象集合 - 添加新创建的对象

DoEasy 函数库中的图形(第八十五部分):图形对象集合 - 添加新创建的对象

在本文中,我将完成抽象图形对象类的衍生后代类的开发,并开始实现将这些对象存储在集合类中的能力。 特别是,我将开发把新创建的标准图形对象添加到集合类的功能。
DoEasy 函数库中的图形(第八十四部分):抽象标准图形对象的衍生后代类
DoEasy 函数库中的图形(第八十四部分):抽象标准图形对象的衍生后代类

DoEasy 函数库中的图形(第八十四部分):抽象标准图形对象的衍生后代类

在本文中,我将研究为终端的抽象标准图形对象创建衍生后代对象。 该类对象定义了所有图形对象通用的属性。 因此,它只是某个种类的图形对象。 为了阐明它与真实图形对象的从属关系,我们需要在衍生后代对象类中设置该图形对象特定的固有属性。
DoEasy 函数库中的图形(第八十三部分):抽象标准图形对象类
DoEasy 函数库中的图形(第八十三部分):抽象标准图形对象类

DoEasy 函数库中的图形(第八十三部分):抽象标准图形对象类

在本文中,我将创建抽象图形对象类。 该对象用作创建标准图形对象类的基础。 图形对象拥有多种属性。 因此,在实际创建抽象图形对象类之前,我还需要做很多的准备工作。 这项工作包括在函数库的枚举中设置属性。
preview
探索创建多彩烛条的选项

探索创建多彩烛条的选项

在本文中,我将探讨创建烛条自定义指标的可能性,并指出它们的优缺点。
DoEasy 函数库中的图形(第八十二部分):函数库对象重构和图形对象集合
DoEasy 函数库中的图形(第八十二部分):函数库对象重构和图形对象集合

DoEasy 函数库中的图形(第八十二部分):函数库对象重构和图形对象集合

在本文中,我将通过为每个对象分配唯一类型来改进所有库对象,并继续开发库图形对象集合类。
更好的程序员(第 04 部分):如何成为更迅捷的开发人员
更好的程序员(第 04 部分):如何成为更迅捷的开发人员

更好的程序员(第 04 部分):如何成为更迅捷的开发人员

每位开发人员都希望能够更快地编写代码,且能够更快、更有效地编写代码并非只是少数人与生俱来的特殊能力。 无论有多少年的敲键盘经验,这项技能每位编码员都可以学习。
更好的程序员(第 03 部分):放弃做这 5 件事成为一名成功的 MQL5 程序员
更好的程序员(第 03 部分):放弃做这 5 件事成为一名成功的 MQL5 程序员

更好的程序员(第 03 部分):放弃做这 5 件事成为一名成功的 MQL5 程序员

这是任何想要提高编程职业生涯的从业者必读文章。 本系列文章旨在尽最大可能令您成为最佳程序员,无论您有多少经验。 研讨的思路适用于 MQL5 编程萌新和专业人士。
DoEasy 函数库中的图形(第八十一部分):将图形集成到函数库对象之中
DoEasy 函数库中的图形(第八十一部分):将图形集成到函数库对象之中

DoEasy 函数库中的图形(第八十一部分):将图形集成到函数库对象之中

是时候开始把已创建的对象集成到先前所创建的函数库对象当中了。 这最终将会为每个函数库对象赋予自己的图形对象,便于用户与程序之间的交互。
DoEasy 函数库中的图形(第八十部分):“几何动画框”对象类
DoEasy 函数库中的图形(第八十部分):“几何动画框”对象类

DoEasy 函数库中的图形(第八十部分):“几何动画框”对象类

在本文中,我将优化前几篇文章中的类代码,并创建几何动画框对象类,允许我们绘制给定顶点数的正多边形。
DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象
DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象

DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象

在本文中,我将开发单个的动画框,及其衍生类。 该类允许绘制造型,同时维护,并恢复它们得下层背景。
优秀程序员(第 01 部分):您必须停止做这 5 件事才能成为一名成功的 MQL5 程序员
优秀程序员(第 01 部分):您必须停止做这 5 件事才能成为一名成功的 MQL5 程序员

优秀程序员(第 01 部分):您必须停止做这 5 件事才能成为一名成功的 MQL5 程序员

萌新甚至高级程序员都会有很多坏习惯,这令他们无法在其编程事业中成为最佳的。 我们将在本文中就这些问题予以讨论并定位。 对于所有梦想成为优秀 MQL5 开发者的人来说,这篇文章都是必读的。
DoEasy 函数库中的图形(第七十八部分):函数库中的动画原理。 图片切分
DoEasy 函数库中的图形(第七十八部分):函数库中的动画原理。 图片切分

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

在本文中,我将定义会在函数库某些部分中用到的动画原理。 我还将开发一个类,复制图像的一部分,并将其粘贴到会话窗对象上的指定位置,它是为了保留和恢复叠加图像位置的会话窗背景部分。
DoEasy 函数库中的图形(第七十七部分):阴影对象类
DoEasy 函数库中的图形(第七十七部分):阴影对象类

DoEasy 函数库中的图形(第七十七部分):阴影对象类

在本文中,我将为阴影对象创建一个单独类,它是图形元素对象的衍生后代,并加入渐变填充对象背景的功能。
DoEasy 函数库中的图形(第七十六部分):会话窗对象和预定义的颜色主题
DoEasy 函数库中的图形(第七十六部分):会话窗对象和预定义的颜色主题

DoEasy 函数库中的图形(第七十六部分):会话窗对象和预定义的颜色主题

在本文中,我所述的概念将涵盖构建各种函数库 GUI 设计主题,创建会话窗对象,它是图形元素类对象的衍生后代,并为创建函数库图形对象的阴影准备数据,以及进一步开发功能。
preview
聚类分析(第一部分):精通指标线的斜率

聚类分析(第一部分):精通指标线的斜率

聚类分析是人工智能最重要的元素之一。 在本文中,我尝试应用指标斜率的聚类分析来获得阈值,据其判定行情是横盘、亦或跟随趋势。
DoEasy 函数库中的图形(第七十五部分):处理基本图形元素图元和文本的方法
DoEasy 函数库中的图形(第七十五部分):处理基本图形元素图元和文本的方法

DoEasy 函数库中的图形(第七十五部分):处理基本图形元素图元和文本的方法

在本文中,我将继续开发由 CCanvas 标准库类提供强力支持的所有函数库图形对象的基准图形元素类。 我将创建绘制图元和在图形元素对象上显示文本的方法。
DoEasy 函数库中的图形(第七十四部分):由 CCanvas 类提供强力支持的基本图形元素
DoEasy 函数库中的图形(第七十四部分):由 CCanvas 类提供强力支持的基本图形元素

DoEasy 函数库中的图形(第七十四部分):由 CCanvas 类提供强力支持的基本图形元素

在本文中,我将重修上一篇文章中构建的图形对象概念,并准备由标准库 CCanvas 类提供强力支持的函数库所有图形对象的基类。
DoEasy 函数库中的图形(第七十三部分):图形元素的交互窗对象
DoEasy 函数库中的图形(第七十三部分):图形元素的交互窗对象

DoEasy 函数库中的图形(第七十三部分):图形元素的交互窗对象

这篇文章开辟了函数库一个新的操控图形的大章节。 在本文中,我将创建鼠标状态对象、所有图形元素的基准对象、以及函数库图形元素的交互窗对象类。
DoEasy 库中的其他类(第七十二部分):跟踪并记录集合中的图表对象参数
DoEasy 库中的其他类(第七十二部分):跟踪并记录集合中的图表对象参数

DoEasy 库中的其他类(第七十二部分):跟踪并记录集合中的图表对象参数

在本文中,我将完成图表对象类及其集合的操控。 我还将实现图表属性及其窗口变化的自动跟踪,以及把新参数保存到对象属性。 如此修订允许在未来实现整个图表集合的事件功能。
来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数
来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数

来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数

这些来自专业程序员关于方法、技术和辅助工具的一些提示,可令编程变得更轻松。 我们将讨论终端重启(关闭)后如何恢复参数。 所有示例都是来自我的 Cayman 项目的真实工作代码片段。
DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件
DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件

DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件

在本文中,我将创建一些跟踪图表对象事件的功能 — 添加/删除品种图表和图表子窗口,以及添加/删除/更改图表窗口中的指标。
DoEasy 库中的其他类(第七十部分):扩展功能并自动更新图表对象集合
DoEasy 库中的其他类(第七十部分):扩展功能并自动更新图表对象集合

DoEasy 库中的其他类(第七十部分):扩展功能并自动更新图表对象集合

在本文中,我将扩展图表对象的功能,并编排图表导航、创建屏幕截图、以及为图表保存和应用模板。 此外,我还将实现图表对象集合、其窗口和其内指标的自动更新。
preview
来自专业程序员的提示(第一部分):代码存储、调试和编译。 操控项目和日志

来自专业程序员的提示(第一部分):代码存储、调试和编译。 操控项目和日志

这些提示来自专业程序员,涵盖有关方法、技术和辅助工具,能够令编程更轻松。
DoEasy 库中的其他类(第六十九部分):图表对象集合类
DoEasy 库中的其他类(第六十九部分):图表对象集合类

DoEasy 库中的其他类(第六十九部分):图表对象集合类

在本文里,我启动图表对象集合类的开发。 该类存储图表对象及其子窗口和指标的集合列表,从而提供操控任何选定图表及其子窗口的能力,亦或同时处理多个图表列表。
DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类
DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类

DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类

在本文中,我将继续开发图表对象类。 我将添加含有可用指标列表的图表窗口对象列表。
DoEasy 库中的其他类(第六十七部分):图表对象类
DoEasy 库中的其他类(第六十七部分):图表对象类

DoEasy 库中的其他类(第六十七部分):图表对象类

在本文中,我将创建图表对象类(单个交易金融产品图表),并改进 MQL5 信号对象的集合类,以便在更新列表时也能为存储在集合中的每个信号对象更新其所有参数。
preview
神经网络变得轻松(第十三部分):批次常规化

神经网络变得轻松(第十三部分):批次常规化

在上一篇文章中,我们开始研究旨在提高神经网络训练品质的方法。 在本文中,我们将继续这个主题,并会研讨另一种方法 — 批次数据常规化。
DoEasy 函数库中的其他类(第六十六部分):MQL5.com 信号集合类
DoEasy 函数库中的其他类(第六十六部分):MQL5.com 信号集合类

DoEasy 函数库中的其他类(第六十六部分):MQL5.com 信号集合类

在本文中,我将针对 MQL5.com 信号服务创建信号集合类,拥有能够管理信号的函数。 此外,我将改进“市场深度”快照对象类,来显示 DOM 的总买卖量。
preview
实用且奇特的自动交易技术

实用且奇特的自动交易技术

在本文中,我将演示一些非常有趣且实用的自动交易技术。 其中一些可能您很熟悉。 我将尝试覆盖最有趣的方法,并解释为什么它们值得使用。 此外,我将展示这些技术在实战中的适用性。 我们将创建智能交易系统,并依据历史报价来测试全部所述技术。
preview
神经网络变得轻松(第十二部分):舍弃

神经网络变得轻松(第十二部分):舍弃

作为研究神经网络的下一步,我建议研究在神经网络训练过程中提高收敛性的方法。 有若干种这样的方法。 在本文中,我们将研究其中之一,名为“舍弃”。
DoEasy 函数库中的价格(第六十五部分):市场深度集合并操控 MQL5.com 信号的类
DoEasy 函数库中的价格(第六十五部分):市场深度集合并操控 MQL5.com 信号的类

DoEasy 函数库中的价格(第六十五部分):市场深度集合并操控 MQL5.com 信号的类

在本文中,我将创建所有品种的市场深度集合类,并着手开发创建信号对象类来操控 MQL5.com 信号服务的功能。
DoEasy 函数库中的价格(第六十四部分):市场深度,DOM 快照类和快照序列对象
DoEasy 函数库中的价格(第六十四部分):市场深度,DOM 快照类和快照序列对象

DoEasy 函数库中的价格(第六十四部分):市场深度,DOM 快照类和快照序列对象

在本文中,我将创建两个类(DOM 快照对象类,和 DOM 快照序列对象类),并测试 DOM 数据序列的创建。
DoEasy 函数库中的价格(第六十三部分):市场深度及其抽象请求类
DoEasy 函数库中的价格(第六十三部分):市场深度及其抽象请求类

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

在本文中,我将着手开发操控市场深度的功能。 我还将创建市场深度抽象订单对象,及其衍生类。
DoEasy 函数库中的价格(第六十二部分):实时更新即时报价序列,为操控市场深度做准备
DoEasy 函数库中的价格(第六十二部分):实时更新即时报价序列,为操控市场深度做准备

DoEasy 函数库中的价格(第六十二部分):实时更新即时报价序列,为操控市场深度做准备

在本文中,我将实现即时报价数据的实时更新,并为操控市场深度的品种对象类(DOM 本身将在下一篇文章中实现)做准备。
DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合
DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合

DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合

鉴于程序在其运行时可能会用到不同的品种,因此应为每个品种创建一个单独的列表。 在本文中,我将把这些列表合并到一个即时报价数据集合。 实际上,这将是一个常规列表,基于指向标准库 CObject 类及其衍生类实例指针的动态数组。
preview
多层感知机与反向传播算法

多层感知机与反向传播算法

这两种方法的普及性日益增加,因此在 Matlab、R、Python、C++ 等领域开发了大量的库,它们接收到一个训练集作为输入,并自动为问题创建合适的网络。让我们试着理解基本的神经网络类型是如何工作的(包括单神经元感知机和多层感知机)。我们将探讨一个令人兴奋的算法,它负责网络训练 - 梯度下降和反向传播。现有的复杂模型往往基于这样简单的网络模型。
DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表
DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表

DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表

在本文中,我将创建存储单一品种即时报价数据的列表,并在 EA 中检查其创建状态,以及检索所需数据。 每个所用品种各自的即时报价数据列表将来会构成即时报价数据集合。