MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
DoEasy 函数库中的图形(第八十部分):“几何动画框”对象类
DoEasy 函数库中的图形(第八十部分):“几何动画框”对象类

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

在本文中,我将优化前几篇文章中的类代码,并创建几何动画框对象类,允许我们绘制给定顶点数的正多边形。
使用HTML和CSS替换的记录(Log)文件
使用HTML和CSS替换的记录(Log)文件

使用HTML和CSS替换的记录(Log)文件

本文中我们将讲述编写一个简单而功能强大的制作html文件的实例, 在过程中我们会学习调整它们的显示, 以及如何在您的EA交易和脚本程序中轻松实现和使用它们.
DoEasy 函数库中的图形(第八十三部分):抽象标准图形对象类
DoEasy 函数库中的图形(第八十三部分):抽象标准图形对象类

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

在本文中,我将创建抽象图形对象类。 该对象用作创建标准图形对象类的基础。 图形对象拥有多种属性。 因此,在实际创建抽象图形对象类之前,我还需要做很多的准备工作。 这项工作包括在函数库的枚举中设置属性。
DoEasy 函数库中的图形(第八十六部分):图形对象集合 - 管理属性修改
DoEasy 函数库中的图形(第八十六部分):图形对象集合 - 管理属性修改

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

在本文中,我将研究跟踪属性值的修改,以及删除和重命名函数库中的图形对象。
preview
种群优化算法:灰狼优化器(GWO)

种群优化算法:灰狼优化器(GWO)

我们来研究一种最新的现代优化算法 — 灰狼优化。 测试函数的原始行为令该算法成为以前研究过的算法中最有趣的算法之一。 这是训练神经网络的顶级算法之一,具有许多变量的平滑函数。
DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表
DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表

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

在本文中,我将创建存储单一品种即时报价数据的列表,并在 EA 中检查其创建状态,以及检索所需数据。 每个所用品种各自的即时报价数据列表将来会构成即时报价数据集合。
如何编写快速非重绘锯齿形调整浪
如何编写快速非重绘锯齿形调整浪

如何编写快速非重绘锯齿形调整浪

本文提出了一种编写锯齿形调整浪类型指标的相当通用的方法。这个方法包含了许多已经描述的锯齿形调整浪,你可以相对容易的创建新的锯齿形调整浪。
preview
利用回归衡量度评估 ONNX 模型

利用回归衡量度评估 ONNX 模型

回归是一项依据未标记样本预测真实数值的任务。 所谓的回归衡量度则是用来评估回归模型的预测准确性。
DoEasy 库中的其他类(第六十七部分):图表对象类
DoEasy 库中的其他类(第六十七部分):图表对象类

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

在本文中,我将创建图表对象类(单个交易金融产品图表),并改进 MQL5 信号对象的集合类,以便在更新列表时也能为存储在集合中的每个信号对象更新其所有参数。
preview
处理时间(第二部分):函数

处理时间(第二部分):函数

自动判定经纪商时移和 GMT。 与其请求您的经纪商的支持,您可能会从他们那里得到一个不充分的答案(他们很愿意解释时间错位),我们只需自行查看在时间变化的几周内他们如何计算价格 — 但手工操作极其繁琐,我们让程序来做这件事 — 毕竟这就是为什么我们要有一台 PC。
通过 RSS 馈送发送交易信号
通过 RSS 馈送发送交易信号

通过 RSS 馈送发送交易信号

将交易信号作为 RSS 馈送发出是当下与你社区成员沟通的流行方式,在此我要向你介绍我对这种方式的个人理解。
DoEasy 函数库中的时间序列(第四十四部分):指标缓冲区对象类集合
DoEasy 函数库中的时间序列(第四十四部分):指标缓冲区对象类集合

DoEasy 函数库中的时间序列(第四十四部分):指标缓冲区对象类集合

本文介绍如何创建指标缓冲区对象类的集合。 我计划测试为指标创建和操控任意数量缓冲区的能力(在 MQL 指标中可以创建的最大缓冲区数量为 512)。
更好的程序员(第 06 部分):9 个导致有效编码的习惯
更好的程序员(第 06 部分):9 个导致有效编码的习惯

更好的程序员(第 06 部分):9 个导致有效编码的习惯

并非有关编写代码的所有事情总是导致有效编码。 在我的从业经历中,我发现了一些会导致有效编码的习惯。 我们将在本文中详细讨论其中的一些。 对于每一位想要以更少的麻烦来提高自己编写复杂算法的能力的程序员来说,这是一篇必须阅读的文章。
preview
DoEasy. 控件 (第 10 部分): WinForms 对象 — 动画界面

DoEasy. 控件 (第 10 部分): WinForms 对象 — 动画界面

现在是时候实现动画图形界面功能,方便用户与对象的交互了。 为了让更复杂的对象能正确工作,还需要新功能。
嘉盛市场可否预测?如何制定自己的交易策略?
嘉盛市场可否预测?如何制定自己的交易策略?

嘉盛市场可否预测?如何制定自己的交易策略?

每个开始进入嘉盛的人都会尝试回答这些问题。但是,并非每个人都找到了答案,甚至在经过了多年的努力钻研和寻找之后仍未找到答案。我个人已经回答了上述问题以及本文提到的很多其他问题。根据这些答案,制定了一种高效交易策略的方式。
preview
MQL5 酷宝书 — 宏观经济事件数据库

MQL5 酷宝书 — 宏观经济事件数据库

本文讨论了基于 SQLite 引擎处理数据库的可能性。 形成的 CDatabase 类就是为了方便和有效地运用 OOP 原则。 随后它会参与宏观经济事件数据库的创建和管理。 本文提供了使用 CDatabase 类的多种方法的示例。
DoEasy 函数库中的图形(第八十二部分):函数库对象重构和图形对象集合
DoEasy 函数库中的图形(第八十二部分):函数库对象重构和图形对象集合

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

在本文中,我将通过为每个对象分配唯一类型来改进所有库对象,并继续开发库图形对象集合类。
preview
DoEasy. 控件 (第 2 部分): 操控 CPanel 类

DoEasy. 控件 (第 2 部分): 操控 CPanel 类

在本文中,我将剔除一些与操控图形元素相关的错误,并继续开发 CPanel 控件。 尤其是,我将实现为所有面板文本对象设置默认字体参数的方法。
preview
种群优化算法:蝙蝠算法(BA)

种群优化算法:蝙蝠算法(BA)

在本文中,我将研究蝙蝠算法(BA),它在平滑函数上表现出良好的收敛性。
preview
DoEasy 函数库中的时间序列(第五十部分):多周期、多品种带位移的标准指标

DoEasy 函数库中的时间序列(第五十部分):多周期、多品种带位移的标准指标

在文章里,我们将改进函数库的方法,以便正确显示多品种、多周期的标准指标,即那些在当前品种图表上显示曲线,并可在设置中指定位移的指标。 同样,我们按照标准指标的操纵方法进行排序,并在最终的指标程序里将多余的代码移至函数库区域。
preview
从头开始开发智能交易系统(第 17 部分):访问 web 上的数据(III)

从头开始开发智能交易系统(第 17 部分):访问 web 上的数据(III)

在本文中,我们将继续研究如何从 web 获取数据,并在智能系统中使用它。 这次我们将着手开发一个替代系统。
preview
利用对象轻松制作复杂指标

利用对象轻松制作复杂指标

本文提供了一种创建复杂指标的方法,同时还避免了在处置多个作图板、缓冲区、和/或组合来自多个来源的数据时出现的问题。
preview
以 MQL5 实现 ARIMA 训练算法

以 MQL5 实现 ARIMA 训练算法

在本文中,我们将实现一种算法,该算法应用了 Box 和 Jenkins 的自回归集成移动平均模型,并采用了函数最小化的 Powells 方法。 Box 和 Jenkins 表示,大多数时间序列可以由两个框架中之一个或两个来建模。
preview
种群优化算法:细菌觅食优化(BFO)

种群优化算法:细菌觅食优化(BFO)

大肠杆菌觅食策略激发出科学家创建 BFO 优化算法的灵感。 该算法包含原创思路和有前景的优化方法,值得深入研究。
preview
开发回放系统 — 市场模拟(第 05 部分):加入预览

开发回放系统 — 市场模拟(第 05 部分):加入预览

我们已设法开发了一套以逼真和可访问的方式来实现市场回放的系统。 现在,我们继续我们的项目,并添加数据,从而提升回放行为。
preview
DoEasy 函数库中的时间序列(第五十二部分):多周期、多品种单缓冲区标准指标的跨平台性质

DoEasy 函数库中的时间序列(第五十二部分):多周期、多品种单缓冲区标准指标的跨平台性质

在本文中,研究创建多品种、多周期标准指标的“建仓/派发”。 略微改进指标依托的函数库类,以便从老旧的 MetaTrader 4 平台切换到 MetaTrader 5 时,基于该函数库开发的程序均可正常运行。
使用 Skype 发送来自 Expert Advisor 的消息
使用 Skype 发送来自 Expert Advisor 的消息

使用 Skype 发送来自 Expert Advisor 的消息

本文介绍如何使用 Skype 将来自 Expert Advisor 的内部消息和短信发送给移动电话。
DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件
DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件

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

在本文中,我将创建一些跟踪图表对象事件的功能 — 添加/删除品种图表和图表子窗口,以及添加/删除/更改图表窗口中的指标。
preview
利用 MQL5 实现 Janus 因子

利用 MQL5 实现 Janus 因子

加里·安德森(Gary Anderson)基于他称之为Janus因子的理论,开发了一套市场分析方法。 该理论描述了一套可揭示趋势和评估市场风险的指标。 在本文中,我们将利用 mql5 实现这些工具。
preview
在 Linux 上利用 C++ 多线程支持开发 MetaTrader 5 概念验证 DLL

在 Linux 上利用 C++ 多线程支持开发 MetaTrader 5 概念验证 DLL

我们将开始探索如何仅基于 Linux 系统开发 MetaTrader 5 平台的步骤和工作流程,其中最终产品能在 Windows 和 Linux 系统上无缝运行。 我们将了解 Wine 和 Mingw;两者都是制作跨平台开发任务的基本工具。 特别是 Mingw 的线程实现(POSIX 和 Win32),我们在选择追随哪一个时需要仔细考虑。 然后,我们构建一个能在 MQL5 代码中所用的概念验证 DLL,最后比较两种线程实现的性能。 这一切都是为了您的基金能进一步扩张自己。 阅读本文后,您应该可以轻松地在 Linux 上构建 MT 相关工具。
分组文件的操作
分组文件的操作

分组文件的操作

有时候需要对一组文件执行相同的操作。如果你有包含在一组中的文件列表,则没有问题。但是,如果你需要自己制作列表,问题就出现了:“我该如何去做呢?”文本提出了利用 kernel32.dll 中包含的 FindFirstFile() 和 FindNextFile() 函数实现的方法。
DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象
DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象

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

在本文中,我将开发单个的动画框,及其衍生类。 该类允许绘制造型,同时维护,并恢复它们得下层背景。
preview
DoEasy. 控件(第 4 部分):面板控件,Padding(填充)和 Dock(驻靠)参数

DoEasy. 控件(第 4 部分):面板控件,Padding(填充)和 Dock(驻靠)参数

在本文中,我将实现处理 Padding(填充,元素所有侧边的内部缩进/边距)和 Dock(驻靠)参数(对象在其容器中的定位方式)。
preview
DoEasy 函数库中的图形(第九十八部分):移动扩展的标准图形对象的轴点

DoEasy 函数库中的图形(第九十八部分):移动扩展的标准图形对象的轴点

在本文中,我将继续扩展的标准图形对象的开发,创建移动复合图形对象轴点的功能,通过控制点来管理图形对象轴点坐标。
preview
DoEasy. 控件 (第 26 部分): 完成 ToolTip(工具提示)WinForms 对象,并转移至 ProgressBar(进度条)开发

DoEasy. 控件 (第 26 部分): 完成 ToolTip(工具提示)WinForms 对象,并转移至 ProgressBar(进度条)开发

在本文中,我将完成 ToolTip(工具提示)控件的开发,并启动 ProgressBar(进度条) WinForms 对象开发。 在处理对象时,我将针对控件及其组件开发动画处理的通用功能。
preview
DoEasy 函数库中的时间序列(第五十七部分):指标缓冲区数据对象

DoEasy 函数库中的时间序列(第五十七部分):指标缓冲区数据对象

在本文中,开发一个对象,其中包含一个指标的一个缓冲区的所有数据。 这些对象对于存储指标缓冲区的数据序列将是必需的。 在其的辅助下,才有可能对任何指标的缓冲区数据,以及其他类似数据进行排序和比较。
preview
DoEasy 函数库中的时间序列(第五十五部分):指标集合类

DoEasy 函数库中的时间序列(第五十五部分):指标集合类

本文继续开发指标对象类及其集合。 为每个指标对象创建其描述和正确的集合类,从而实现无错存储,并从集合列表中获取指标对象。
preview
群体优化算法:粒子群(PSO)

群体优化算法:粒子群(PSO)

在本文中,我将研究流行的粒子群优化(PSO)算法。 之前,我们曾讨论过优化算法的重要特征,如收敛性、收敛率、稳定性、可伸缩性,并开发了一个测试台,并研究了最简单的 RNG 算法。
preview
为EA交易提供指标的现成模板(第3部分):趋势指标

为EA交易提供指标的现成模板(第3部分):趋势指标

在这篇参考文章中,我们将研究趋势指标类别中的标准指标。我们将创建现成的模板,用于EA中的指标使用——声明和设置参数、指标初始化和析构,以及从EA中的指示符缓冲区接收数据和信号。
preview
从头开始开发智能交易系统(第 29 部分):谈话平台

从头开始开发智能交易系统(第 29 部分):谈话平台

在本文中,我们将学习如何让 MetaTrader 5 平台谈话。 我们如何才能让 EA 更有趣呢? 金融市场交易往往过于无聊和单调,但我们能够令这项工作少些无趣。 请注意,对于那些经历过上瘾等问题的人来说,这个项目可能是危险的。 然而,在一般情况下,它只会让事情聊胜于无。