MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
掌握 MQL5:从入门到精通(第五部分):基本控制流操作符

掌握 MQL5:从入门到精通(第五部分):基本控制流操作符

本文探讨了用于修改程序执行流程的关键操作符:条件语句、循环和 switch 语句。利用这些操作符将使我们创建的函数表现得更加“智能”。
preview
价格行为分析工具包开发(第二部分):分析注释脚本

价格行为分析工具包开发(第二部分):分析注释脚本

秉承我们简化价格行为分析的核心理念,我们很高兴推出又一款可显著提升市场分析能力、助力您做出精准决策的工具。该工具可展示关键技术指标(如前一日价格、重要支撑阻力位、成交量),并在图表上自动生成可视化标记。
preview
从基础到中级:BREAK 和 CONTINUE 语句

从基础到中级:BREAK 和 CONTINUE 语句

在本文中,我们将学习如何在循环中使用 RETURN、BREAK 和 CONTINUE 语句。了解每个语句在循环执行流程中的作用对于处理更复杂的应用程序非常重要。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
重塑经典策略(第六部分):多时间框架分析

重塑经典策略(第六部分):多时间框架分析

在这一系列文章中,我们重新审视经典策略,看看是否可以利用人工智能(AI)对其进行改进。在本文中,我们将研究流行的多时间框架分析策略,以判断该策略是否可以通过人工智能得到增强。
preview
DoEasy. 控件 (第 19 部分): 在 TabControl 中滚动选项卡、WinForms 对象事件

DoEasy. 控件 (第 19 部分): 在 TabControl 中滚动选项卡、WinForms 对象事件

在本文中,我将创建的功能是利用滚动按钮在 TabControl 中滚动选项卡标题。 该功能旨在将选项卡标题从控件的任一侧拖放到单行之中。
preview
MQL5 中的范畴论 (第 11 部分):图论

MQL5 中的范畴论 (第 11 部分):图论

本文是以 MQL5 实现范畴论系列的续篇。于此,我们验证在开发交易系统的平仓策略时,图论如何与幺半群和其它数据结构集成。
preview
S&P 500交易策略在MQL5中的实现(适合初学者)

S&P 500交易策略在MQL5中的实现(适合初学者)

了解如何利用MQL5精准预测标普500指数,结合经典技术分析以增强稳定性,并将算法与经过时间验证的原则相结合,以获得稳健的市场洞察。
preview
价格行为分析工具包开发(第十八部分):四分位理论(3)——四分位看板

价格行为分析工具包开发(第十八部分):四分位理论(3)——四分位看板

本文中,我们在原有四分位脚本的基础上新增 "四分位看板"(Quarters Board) 工具,该工具让您无需返回代码即可直接在图表上切换四分位水平。您可以轻松启用或禁用特定水平,EA还会提供趋势方向注释,帮助您更好地理解市场走势。
preview
MQL5 中的 SQLite 功能示例:按交易品种及 Magic 编码展示交易统计信息的仪表盘

MQL5 中的 SQLite 功能示例:按交易品种及 Magic 编码展示交易统计信息的仪表盘

本文将介绍如何创建一个指标型仪表盘,按账户、交易品种及交易策略展示交易统计信息。我们将以官方文档及数据库相关文章中的示例为基础,逐步实现完整程序。
preview
基于MQL5和Python的自优化EA(第六部分):利用深度双重下降算法

基于MQL5和Python的自优化EA(第六部分):利用深度双重下降算法

传统的机器学习教导从业者要警惕不要使模型陷入过度拟合。然而,这种观念正受到哈佛大学研究人员最新发表的学术见解的挑战。他们发现,看似过拟合的情形在某些情况下可能是由于提前终止训练过程导致的。我们将展示如何利用研究论文中发表的观点,来改进我们使用人工智能预测市场行为的方式。
preview
从零开始在MQL5中实现移动平均线:简单明了

从零开始在MQL5中实现移动平均线:简单明了

我们将通过简单的示例,探究移动平均线的计算原理,同时了解优化指标计算(包括移动平均线计算)的方法。
preview
DoEasy.服务功能(第 2 部分):孕线形态

DoEasy.服务功能(第 2 部分):孕线形态

本文将继续探讨 DoEasy 库中的价格形态。我们还将创建价格行为形态中的 "孕线"(Inside Bar)形态类。
preview
开发回放系统(第 75 部分):新 Chart Trade(二)

开发回放系统(第 75 部分):新 Chart Trade(二)

在本文中,我们将讨论 C_ChartFloatingRAD 类。这就是 Chart Trade 发挥作用的原因。然而,解释并未就此结束,我们将在下一篇文章中完成它,因为这篇文章的内容相当广泛,需要深入理解。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
群体优化算法:抵抗陷入局部极值(第一部分)

群体优化算法:抵抗陷入局部极值(第一部分)

本文介绍了一个独特的实验,旨在研究群体优化算法在群体多样性较低时有效逃脱局部最小值并达到全局最大值的能力。朝着这个方向努力将进一步了解哪些特定算法可以使用用户设置的坐标作为起点成功地继续搜索,以及哪些因素会影响它们的成功。
preview
开发回放系统(第 45 部分):Chart Trade 项目(四)

开发回放系统(第 45 部分):Chart Trade 项目(四)

本文的主要目的是介绍和解释 C_ChartFloatingRAD 类。我们有一个 Chart Trade 指标,它的工作方式非常有趣。您可能已经注意到了,图表上的对象数量仍然很少,但我们却获得了预期的功能。指标中的数值是可以编辑的。问题是,这怎么可能呢?这篇文章将使答案变得更加清晰。
preview
种群优化算法:二进制遗传算法(BGA)。第 II 部分

种群优化算法:二进制遗传算法(BGA)。第 II 部分

在本文中,我们将继续研究二进制遗传算法(BGA),它模拟自然界生物遗传物质中发生的自然过程。
preview
一种采用纯MQL5语言实现的基于能量学习的特征选择算法

一种采用纯MQL5语言实现的基于能量学习的特征选择算法

本文介绍了一种在学术论文《FREL:一种稳定的特征选择算法》中描述的特征选择算法的实现,该算法被称为基于正则化能量的特征加权学习。
preview
开发回放系统(第 41 部分):启动第二阶段(二)

开发回放系统(第 41 部分):启动第二阶段(二)

如果到目前为止,你觉得一切都很好,那就说明你在开始开发应用程序时,并没有真正考虑到长远的问题。随着时间的推移,你将不再需要为新的应用程序编程,只需让它们协同工作即可。让我们看看如何完成鼠标指标的组装。
preview
跨邻域搜索(ANS)

跨邻域搜索(ANS)

本文揭示了跨邻域搜索(ANS)算法的潜力,作为重要的一步,旨在开发灵活且智能的优化方法,使其能够在搜索空间中考虑问题的具体特性和环境的动态变化。
preview
从基础到中级:定义(一)

从基础到中级:定义(一)

在这篇文章中,我们将做一些许多人会觉得奇怪和完全脱离上下文的事情,但如果使用得当,这将使你的学习更加有趣:我们将能够根据这里显示的内容构建非常有趣的东西。这将使您更好地理解 MQL5 语言的语法。此处提供的材料仅用于教育目的。它不应以任何方式被视为最终应用程序。其目的不是探索所提出的概念。
preview
从基础到中级:变量 (III):

从基础到中级:变量 (III):

今天,我们将学习如何使用预定义的 MQL5 语言变量和常量。此外,我们将分析另一种特殊类型的变量:函数。知道如何正确使用这些变量可能意味着一个有效的应用程序和一个无效的应用程序之间的区别。为了理解这里介绍的内容,有必要理解前几篇文章中讨论的材料。
preview
价格行为分析工具开发(第二十八部分):开盘区间突破工具

价格行为分析工具开发(第二十八部分):开盘区间突破工具

交易时段伊始,市场方向往往晦暗不明,唯有价格突破开盘区间后,趋势才逐渐显现。本文将详解如何利用MQL5编写一款EA,自动识别与分析开盘区间突破,为日内交易提供精准、经得起数据验证的入场信号。
preview
在MQL5中创建交易管理员面板(第八部分):分析面板

在MQL5中创建交易管理员面板(第八部分):分析面板

今天,我们将深入探讨如何在管理员面板EA的一个集成专用窗口中,加入有用的交易指标。本次讨论的重点是使用MQL5实现一个分析面板,并强调其所提供数据对交易管理员的价值。其影响主要体现在教学意义上,因为整个开发过程能提炼出宝贵的经验教训,使新手和经验丰富的开发者都能从中受益。此功能展示了我们开发的系列工具在为交易经理配备先进软件工具方面所提供的无限可能。此外,作为对交易管理员面板能力的持续扩展,我们将探讨PieChart(饼图)和ChartCanvas(图表画布)类的实现。
preview
在 MQL5 中创建交易管理员面板(第五部分):双因素认证(2FA)

在 MQL5 中创建交易管理员面板(第五部分):双因素认证(2FA)

今天,我们将讨论如何增强当前正在开发的交易管理员面板的安全性。我们将探讨如何在新的安全策略中实施 MQL5,并将 Telegram API 集成到双因素认证(2FA)中。本次讨论将提供有关 MQL5 在加强安全措施方面的应用的宝贵见解。此外,我们还将研究 MathRand 函数,重点关注其功能以及如何在我们构建的安全框架中有效利用它。继续阅读以了解更多信息!
preview
从新手到专家:自动几何分析系统

从新手到专家:自动几何分析系统

几何形态为交易者提供了一种简洁的方式来解读价格走势。许多分析师手工绘制趋势线、矩形和其他形状,然后根据他们看到的形态做出交易决策。在本文中,我们探索了一种自动化的替代方案:利用 MQL5 来检测和分析最流行的几何形态。我们将分解方法论,讨论实现细节,并强调自动形态识别如何提高交易者的市场洞察力。
preview
风险管理(第一部分):建立风险管理类的基础知识

风险管理(第一部分):建立风险管理类的基础知识

在本文中,我们将介绍交易风险管理的基础知识,并学习如何创建第一个函数来计算交易的适当手数以及止损。此外,我们将详细介绍这些功能的工作原理,解释每个步骤。我们的目标是清楚地了解如何在自动交易中应用这些概念。最后,我们将通过创建一个包含文件的简单脚本来将所有内容付诸实践。
preview
价格行为分析工具包开发(第11部分):基于Heikin Ashi(平均K线)信号的智能交易系统(EA)

价格行为分析工具包开发(第11部分):基于Heikin Ashi(平均K线)信号的智能交易系统(EA)

MQL5为开发者提供了无限可能,助您构建高度定制化的自动化交易系统。您是否知道,它甚至能执行复杂的数学运算?本文将介绍如何将日本Heikin-Ashi(平均K线)技术转化为自动化交易的策略。
preview
使用MQL5中的动态时间规整进行模式识别

使用MQL5中的动态时间规整进行模式识别

在本文中,我们探讨了动态时间规整(Dynamic Time Warping,DTW)作为识别金融时间序列中预测模式的一种方法。我们将深入了解其工作原理,并在纯MQL5语言中展示其实现方法。
preview
开发回放系统(第 70 部分):取得正确的时间(三)

开发回放系统(第 70 部分):取得正确的时间(三)

在本文中,我们将了解如何正确有效地使用 CustomBookAdd 函数。尽管它看起来很简单,但它有许多细微差别。例如,它允许您告诉鼠标指标自定义交易品种是否正在竞价、交易或市场是否关闭。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
让新闻交易轻松上手(第二部分):风险管理

让新闻交易轻松上手(第二部分):风险管理

在本文,我们将把继承引入到我们之前的代码和新代码中。我们将引入一种新的数据库设计以提高效率。此外,还将创建一个风险管理类来处理容量计算。
preview
从基础到中级:定义(二)

从基础到中级:定义(二)

在本文中,我们将继续了解 #define 指令,但这次我们将重点关注它的第二种使用形式,即创建宏。由于这个主题可能有点复杂,我们决定使用我们已经研究了一段时间的应用程序。希望您喜欢今天的文章。
preview
开发回放系统(第 58 部分):重返服务工作

开发回放系统(第 58 部分):重返服务工作

在回放/模拟器服务的开发和改进暂停之后,我们正在恢复该工作。现在我们已经放弃使用终端全局变量等资源,我们将不得不完全重组其中的一些部分。别担心,我们会详细解释这个过程,这样每个人都可以关注我们服务的发展。
preview
重思经典策略(第八部分):基于美元兑加元(USDCAD)探讨外汇市场与贵金属

重思经典策略(第八部分):基于美元兑加元(USDCAD)探讨外汇市场与贵金属

在本系列文章中,我们将重新审视一些广为人知的交易策略,看看是否能够利用人工智能(AI)来改进它们。请加入我们今天的讨论,一起测试贵金属与货币之间是否存在可靠的关系。
preview
事后交易分析:在策略测试器中选择尾随停止和新的止损位

事后交易分析:在策略测试器中选择尾随停止和新的止损位

我们继续在策略测试器中分析已完结成交的主题,以便提升交易品质。我们看看使用不同的尾随停止如何改变我们现有的交易结果。
preview
DoEasy. 控件 (第 22 部分): SplitContainer。 修改已创建对象的属性

DoEasy. 控件 (第 22 部分): SplitContainer。 修改已创建对象的属性

在本文中,我将实现更改新近创建的 SplitContainer 控件的属性和外观的功能。
preview
接受者操作特征(ROC)曲线入门

接受者操作特征(ROC)曲线入门

ROC 曲线是用于评估分类器性能的图形工具。尽管 ROC 图形相对简单,但在实践中使用它们时,仍存在一些常见的误解和误区。本文旨在为那些希望理解分类器性能评估的交易者提供一份关于 ROC 图形的入门介绍。
preview
头脑风暴优化算法(第一部分):聚类

头脑风暴优化算法(第一部分):聚类

在本文中,我们将探讨一种受自然现象“头脑风暴”启发的新型优化方法——头脑风暴优化(Brain Storm Optimization,简称BSO)。我们还将讨论BSO方法所应用的一种解决多模态优化问题的新方法。该方法能够在无需预先确定子种群数量的情况下,找到多个最优解。此外,我们还会考虑K-Means和K-Means++聚类方法。
preview
基于MQL5和Python的自优化EA(第五部分):深度马尔可夫模型

基于MQL5和Python的自优化EA(第五部分):深度马尔可夫模型

在本次讨论中,我们将把一个简单的马尔可夫链应用于相对强弱指标(RSI),以观察指标穿过关键水平后的价格行为。我们得出结论,当RSI处于11-20区间时,会产生最强的买入信号;而当RSI处于71-80区间时,会产生最强的卖出信号,这在新西兰元兑日元(NZDJPY)货币对上表现得尤为明显。我们将展示如何通过对数据的处理和分析,直接从您所拥有的数据中构建出最优的交易策略。此外,我们还将展示如何训练一个深度神经网络,使其能够最优地利用转移矩阵。
preview
基于Python和MQL5的特征工程(第一部分):为长期 AI 模型预测移动平均线

基于Python和MQL5的特征工程(第一部分):为长期 AI 模型预测移动平均线

移动平均线无疑是我们的 AI 模型进行预测的最佳指标。然而,我们可以通过严谨数据变换来进一步提高其准确性。本文将展示如何构建能够预测更远范围的AI模型,超越您目前所实现的水平,同时不会显著降低准确率。移动平均线的实用性确实令人惊叹。
preview
开发回放系统(第 44 部分):Chart Trader 项目(三)

开发回放系统(第 44 部分):Chart Trader 项目(三)

在上一篇文章中,我介绍了如何操作模板数据以便在 OBJ_CHART 中使用。在那篇文章中,我只是概述了这一主题,并没有深入探讨细节,因为在那个版本中,这项工作是以非常简单的方式完成的。这样做是为了更容易解释内容,因为尽管很多事情表面上很简单,但其中有些并不那么明显,如果不了解最简单、最基本的部分,就无法真正理解全局。