MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
非交易 EA 的测试指标
非交易 EA 的测试指标

非交易 EA 的测试指标

全部指标可以分为两组:静态指标(一旦显示后始终保持不变,不随新报价变化)和动态指标(仅显示当前时刻的状态,新价格出现时要完全重新绘制)。静态指标的效力在图表上直接可见。但如何检验动态指标的有效性呢?这是本文要探讨的问题。
preview
利用回归衡量度评估 ONNX 模型

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

回归是一项依据未标记样本预测真实数值的任务。 所谓的回归衡量度则是用来评估回归模型的预测准确性。
preview
DoEasy 函数库中的时间序列(第五十一部分):复合多周期、多品种标准指标

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

在本文中,会完成多周期、多品种标准指标对象的开发。 以 Ichimoku Kinko Hyo 标准指标为例,分析复合自定义指标的创建,该指标含有辅助绘制缓冲区,可在图表上显示数据。
DoEasy 库中的其他类(第七十二部分):跟踪并记录集合中的图表对象参数
DoEasy 库中的其他类(第七十二部分):跟踪并记录集合中的图表对象参数

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

在本文中,我将完成图表对象类及其集合的操控。 我还将实现图表属性及其窗口变化的自动跟踪,以及把新参数保存到对象属性。 如此修订允许在未来实现整个图表集合的事件功能。
preview
神经网络变得轻松(第九部分):操作归档

神经网络变得轻松(第九部分):操作归档

我们已经经历了很长一段路,并且函数库中的代码越来越庞大。 这令跟踪所有连接和依赖性变得难以维护。 因此,我建议为先前创建的代码创建文档,并保持伴随每个新步骤进行更新。 正确准备的文档将有助我们看到操作的完整性。
preview
在MQL5中构建自适应的自动化交易系统(EA)

在MQL5中构建自适应的自动化交易系统(EA)

建立前瞻性的EA,并根据任何市场进行调整。
DoEasy 函数库中的图形(第七十六部分):会话窗对象和预定义的颜色主题
DoEasy 函数库中的图形(第七十六部分):会话窗对象和预定义的颜色主题

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

在本文中,我所述的概念将涵盖构建各种函数库 GUI 设计主题,创建会话窗对象,它是图形元素类对象的衍生后代,并为创建函数库图形对象的阴影准备数据,以及进一步开发功能。
DoEasy 库中的其他类(第六十九部分):图表对象集合类
DoEasy 库中的其他类(第六十九部分):图表对象集合类

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

在本文里,我启动图表对象集合类的开发。 该类存储图表对象及其子窗口和指标的集合列表,从而提供操控任何选定图表及其子窗口的能力,亦或同时处理多个图表列表。
preview
使用MQL5和Python集成经纪商API与智能交易系统

使用MQL5和Python集成经纪商API与智能交易系统

在本文中,我们将探讨如何将MQL5与Python相结合,以执行与经纪商相关的操作。想象一下,您有一个持续运行的智能交易系统(EA),它托管在虚拟专用服务器(VPS)上,并代表您执行交易。在某个阶段,EA 管理资金的能力变得至关重要。这包括为您的交易账户入金和发起出金等操作。在本文中,我们将阐明这些功能的优势和具体实现方法,从而确保将资金管理无缝地集成到您的交易策略中。敬请关注!
preview
MQL5 酷宝书 — 宏观经济事件数据库

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

本文讨论了基于 SQLite 引擎处理数据库的可能性。 形成的 CDatabase 类就是为了方便和有效地运用 OOP 原则。 随后它会参与宏观经济事件数据库的创建和管理。 本文提供了使用 CDatabase 类的多种方法的示例。
preview
种群优化算法:蝙蝠算法(BA)

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

在本文中,我将研究蝙蝠算法(BA),它在平滑函数上表现出良好的收敛性。
preview
威廉·江恩(William Gann)方法(第二部分):创建江恩宫格指标

威廉·江恩(William Gann)方法(第二部分):创建江恩宫格指标

我们将基于“江恩九宫格”创建一个指标,该指标通过时间和价格方格构建而成。我们将提供指标代码,并在平台上针对不同的时间区间,对该指标进行测试。
DoEasy 函数库中的时间序列(第四十八部分):在单一子窗口里基于一个缓冲区的多周期、多品种指标
DoEasy 函数库中的时间序列(第四十八部分):在单一子窗口里基于一个缓冲区的多周期、多品种指标

DoEasy 函数库中的时间序列(第四十八部分):在单一子窗口里基于一个缓冲区的多周期、多品种指标

本文研究了一个示例,该示例使用单个指标缓冲区来创建多品种、多周期标准指标,以便在指标子窗口中进行构造和操作。 我会准备库类,以便在程序主窗口中与标准指标一起操作,并有多个缓冲区来显示其数据。
preview
处理时间(第二部分):函数

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

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

测试程序中的断点:这是可能的!

本文探讨了通过测试程序时的断点仿真,显示的调试信息。
preview
手动交易的风险管理

手动交易的风险管理

在本文中,我们将详细探讨如何从头编写手动交易的风险管理类。这个类也可以被用作自动化程序的算法交易者继承的基类。
preview
MQL5 简介(第 2 部分):浏览预定义变量、通用函数和控制流语句

MQL5 简介(第 2 部分):浏览预定义变量、通用函数和控制流语句

通过我们的 MQL5 系列第二部分,开启一段启迪心灵的旅程。这些文章不仅是教程,还是通往魔法世界的大门,在那里,编程新手和魔法师将团结在一起。是什么让这段旅程变得如此神奇?我们的 MQL5 系列第二部分以令人耳目一新的简洁性脱颖而出,使复杂的概念变得通俗易懂。与我们互动,我们会回答您的问题,确保您获得丰富和个性化的学习体验。让我们建立一个社区,让理解 MQL5 成为每个人的冒险。欢迎来到魔法世界!
MQL5 Cookbook: 处理自定义图表事件
MQL5 Cookbook: 处理自定义图表事件

MQL5 Cookbook: 处理自定义图表事件

本文研究在 MQL5 环境里设计和开发自定义图表事件的内容。一种事件分类的例程也可以在这里找到,当然,还有事件类,以及自定义事件处理器类的程序代码。
使用 MQL4 的 HTML 引导
使用 MQL4 的 HTML 引导

使用 MQL4 的 HTML 引导

HTML 是当今最广泛使用的文件类型之一。MetaTrader 4 客户终端允许你将语句、测试和优化报告保存为 .htm 文件。有时需要从这些位于 MQL4 程序的文件中获取信息。本文描述了如何从 HTML 获得标记结构和内容的一个形式。
preview
为EA交易提供指标的现成模板(第2部分):交易量和比尔威廉姆斯指标

为EA交易提供指标的现成模板(第2部分):交易量和比尔威廉姆斯指标

在本文中,我们将研究交易量和比尔威廉姆斯指标类别的标准指标。我们将创建现成的模板,用于EA中的指标使用——声明和设置参数、指标初始化和析构,以及从EA中的指示符缓冲区接收数据和信号。
将指标代码转移至 Expert Advisor 代码。Expert Advisor 和指标函数的总体结构方案
将指标代码转移至 Expert Advisor 代码。Expert Advisor 和指标函数的总体结构方案

将指标代码转移至 Expert Advisor 代码。Expert Advisor 和指标函数的总体结构方案

本文详细介绍将指标代码转移至 Expert Advisor 代码的方式,并详细介绍编写 Expert Advisor 的过程,在此过程中,不调用任何自定义指标,且整个程序代码用于计算 Expert Advisor 中的必要指标值。本文提供 Expert Advisor 更改的总体方案,以及基于自定义指标构建指标函数的想法。本文面向拥有使用 MQL4 语言进行编程的经验的读者。
通过"单元测试"的帮助来提高代码质量
通过"单元测试"的帮助来提高代码质量

通过"单元测试"的帮助来提高代码质量

就算是简单程序也会经常出现看似难以置信的错误。 “我怎么会编出这种东西?”是我们发现这种错误时的第一反应。 “我应该如何避免它?”则是较少会映入脑海的第二个问题。 编写完美无缺的代码是不可能的,特别是在大型项目里,但可通过技术手段及时检测出这些错误。 本文介绍如何借助通用的“单元测试”方法来提高 MQL4 代码质量。
开发回放系统 — 市场模拟(第 10 部分):仅用真实数据回放
开发回放系统 — 市场模拟(第 10 部分):仅用真实数据回放

开发回放系统 — 市场模拟(第 10 部分):仅用真实数据回放

在此,我们将查看如何在回放系统中使用更可靠的数据(交易跳价),而不必担心它是否被调整。
在 MQL4.Community上轻松简单地公布影音图像
在 MQL4.Community上轻松简单地公布影音图像

在 MQL4.Community上轻松简单地公布影音图像

通常通过展示总是会比文字描述收益更多。我们在本文中提供一个简单的方法。通过使用CamStudio创建影音图像在上 MQL4.community 论坛公布。
preview
如何开发各种类型的追踪止损并将其加入到EA中

如何开发各种类型的追踪止损并将其加入到EA中

在本文中,我们将探讨用于便捷创建各种追踪止损的类,并学习如何将追踪止损加入到EA中。
preview
如何在MQL5的EA中实现自优化

如何在MQL5的EA中实现自优化

MQL5中EA自优化的分步指南。我们将涵盖稳健的优化逻辑、参数选择的最佳实践,以及如何通过回测重构策略。此外,还将讨论诸如分步优化等高级方法,以增强您的交易方法。
DoEasy 函数库中的图形(第九十部分):标准图形对象事件。 基本功能
DoEasy 函数库中的图形(第九十部分):标准图形对象事件。 基本功能

DoEasy 函数库中的图形(第九十部分):标准图形对象事件。 基本功能

在本文中,我将实现跟踪标准图形对象事件的基本功能。 我将从图形对象上的双击事件开始。
preview
MQL5 交易工具包(第 1 部分):开发仓位管理 EX5 库

MQL5 交易工具包(第 1 部分):开发仓位管理 EX5 库

了解如何创建面向开发人员的工具包,使用 MQL5 管理各种仓位操作。在本文中,我将演示如何创建一个函数库 (ex5),以执行从简单到高级的仓位管理操作,包括自动处理和报告使用 MQL5 处理仓位管理任务时出现的各种错误。
preview
StringFormat(). 回顾和现成的例子

StringFormat(). 回顾和现成的例子

本文继续介绍PrintFormat()函数。我们将简要介绍使用StringFormat()格式化字符串及其在程序中的进一步使用。我们还将编写模板,在终端日志中显示交易品种数据。这篇文章对初学者和有经验的开发人员都很有用。
图形界面 X: 升级渲染表格及代码优化 (集成编译 10)
图形界面 X: 升级渲染表格及代码优化 (集成编译 10)

图形界面 X: 升级渲染表格及代码优化 (集成编译 10)

我们继续为渲染表格 (CCanvasTable) 完善新的功能。表格现在将具有: 当悬浮时高亮显示; 为每个单元格添加一个图标数组的能力, 以及一种切换它们的方法; 在运行时设置或修改单元格文本的能力等等。
preview
DoEasy. 控件 (第 2 部分): 操控 CPanel 类

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

在本文中,我将剔除一些与操控图形元素相关的错误,并继续开发 CPanel 控件。 尤其是,我将实现为所有面板文本对象设置默认字体参数的方法。
懒惰是进步的动力,或者如何交互性的使用图形
懒惰是进步的动力,或者如何交互性的使用图形

懒惰是进步的动力,或者如何交互性的使用图形

用于跟趋势线、斐波那契水平和手动置于图表上的图标交互作用的指标。可以让你绘制斐波那契水平的颜色区域、显示价格交叉趋势线的时刻以及管理“价格标签”对象。
preview
情绪分析与深度学习在交易策略中的应用以及使用Python进行回测

情绪分析与深度学习在交易策略中的应用以及使用Python进行回测

在本文中,我们将介绍如何使用Python中的情绪分析和ONNX模型,并将它们应用于EA中。使用一个脚本运行TensorFlow训练的ONNX模型,以进行深度学习预测;而通过另一个脚本获取新闻标题,并使用人工智能技术量化情绪。
DoEasy 函数库中的图形(第八十一部分):将图形集成到函数库对象之中
DoEasy 函数库中的图形(第八十一部分):将图形集成到函数库对象之中

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

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

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

在本文中,我将研究为终端的抽象标准图形对象创建衍生后代对象。 该类对象定义了所有图形对象通用的属性。 因此,它只是某个种类的图形对象。 为了阐明它与真实图形对象的从属关系,我们需要在衍生后代对象类中设置该图形对象特定的固有属性。
preview
掌握 MQL5:从入门到精通(第六部分):开发 EA 交易的基础知识

掌握 MQL5:从入门到精通(第六部分):开发 EA 交易的基础知识

本文继续针对初学者的系列文章。在这里我们将讨论开发 EA 交易的基本原则。我们将创建两个 EA:第一个 EA 不使用指标进行交易,使用挂单,第二个 EA 将基于标准 MA 指标,以当前价格开仓。在这里,我假设你不再是一个完全的初学者,并且对前几篇文章中的材料有相对较好的掌握。
preview
多交易品种多周期指标中的颜色缓冲区

多交易品种多周期指标中的颜色缓冲区

在本文中,我们将回顾多交易品种、多周期指标中指标缓冲区的结构,并在图表上组织这些指标的彩色缓冲区的显示。
DoEasy 函数库中的图形(第八十部分):“几何动画框”对象类
DoEasy 函数库中的图形(第八十部分):“几何动画框”对象类

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

在本文中,我将优化前几篇文章中的类代码,并创建几何动画框对象类,允许我们绘制给定顶点数的正多边形。
preview
从头开始开发智能交易系统(第 27 部分):面向未来((II)

从头开始开发智能交易系统(第 27 部分):面向未来((II)

我们迈进更完整的图表上的直接订单系统。 在本文中,我将展示一种修复订单系统的方法,或者更确切地说,令其更直观。
preview
逆公允价值缺口(IFVG)交易策略

逆公允价值缺口(IFVG)交易策略

当价格回到先前确定的公允价值缺口位置,且未表现出预期的支撑或阻力反应,而是无视该缺口时,便出现了逆公允价值缺口(IFVG)。这种“无视”现象可能预示着市场方向的潜在转变,并为反向交易提供优势。在本文中,我将介绍自己开发的量化方法,以及如何将IFVG作为一种策略,应用于MetaTrader 5智能交易系统(EA)中。