MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
在MQL5中置换价格柱

在MQL5中置换价格柱

在这篇文章中,我们提出了一种置换价格柱的算法,并详细说明了如何使用置换测试来识别策略性能被编造来欺骗 EA 交易的潜在买家的情况。
preview
MetaTrader 中的 Multibot(第二部分):改进的动态模板

MetaTrader 中的 Multibot(第二部分):改进的动态模板

在开发上一篇文章的主题时,我决定创建一个更灵活、功能更强大的模板,该模板具有更大的功能,可以有效地用于自由职业,也可以作为开发多货币和多时段 EA 的基础,并能够与外部解决方案集成。
preview
结合基本面和技术分析策略在MQL5中的实现(适合初学者)

结合基本面和技术分析策略在MQL5中的实现(适合初学者)

在本文中,我们将讨论如何将趋势跟踪和基本面原则无缝整合到一个EA中,以构建一个更加稳健的交易策略。本文将展示任何人都可以轻松上手,使用MQL5构建定制化交易算法的过程。
preview
重塑经典策略(第三部分):预测新高与新低

重塑经典策略(第三部分):预测新高与新低

在系列文章的第三部分中,我们将通过实证分析经典交易策略,探讨如何利用人工智能进行优化。本次研究聚焦于运用线性判别分析模型(LDA)预测价格走势中的更高高点与更低低点。
preview
在任何市场中获得优势(第四部分):CBOE欧元和黄金波动率指数

在任何市场中获得优势(第四部分):CBOE欧元和黄金波动率指数

我们将分析芝加哥期权交易所(CBOE)整理的替代数据,以提高我们的深度神经网络在预测XAUEUR货币对时的准确性。
preview
自定义指标:为净额结算账户绘制部分入场、出场和反转交易

自定义指标:为净额结算账户绘制部分入场、出场和反转交易

在本文中,我们将探讨在MQL5中创建指标的一种非标准方法。我们的目标不是专注于趋势或图表形态,而是管理我们自己的仓位,包括部分入场和出场。我们将广泛使用动态矩阵以及一些与交易历史和未平仓头寸相关的交易函数,以在图表上显示这些交易发生的位置。
preview
DoEasy. 控件 (第 18 部分): TabControl 中滚动选项卡的功能

DoEasy. 控件 (第 18 部分): TabControl 中滚动选项卡的功能

在本文中,我将在 TabControl WinForms 对象中放置滚动标题控件的按钮,以防标题栏不适配控件的尺寸。 此外,我还将实现单击裁剪过的选项卡标题时,标题栏的平移。
preview
为智能系统制定品质因数

为智能系统制定品质因数

在本文中,我们将见识到如何制定一个品质得分,并由您的智能系统从策略测试器返回。 我们将查看两种著名的计算方法 — Van Tharp 和 Sunny Harris。
preview
Connexus入门(第一部分):如何使用WebRequest函数?

Connexus入门(第一部分):如何使用WebRequest函数?

本文是‘Connexus’库开发系列的开篇之作,旨在为MQL5环境下的HTTP请求提供便利支持。该项目的目的是为终端用户提供这个机会,并展示如何使用这个辅助库。我打算尽可能地简化,以便于学习,从而为进一步开发提供可能性。
preview
在任何市场中获得优势(第五部分):联邦储备经济数据库(FRED)欧元兑美元( EURUSD)可替代数据

在任何市场中获得优势(第五部分):联邦储备经济数据库(FRED)欧元兑美元( EURUSD)可替代数据

在今天的讨论中,我们使用了圣路易斯联邦储备银行(St. Louis Federal Reserve)提供的关于广义美元指数以及其他一系列宏观经济指标的可替代日数据,来预测欧元兑美元(EURUSD)未来的汇率。遗憾的是,尽管数据似乎具有近乎完美的相关性,但我们在模型准确性方面未能实现任何实质性提升,这可能暗示投资者最好采用常规的市场价格数据。
preview
在MQL5中创建交易管理员面板(第四部分):登录安全层

在MQL5中创建交易管理员面板(第四部分):登录安全层

想象一下,一个恶意入侵者潜入了交易管理员房间,获取了用于向全球数百万交易者传递有价值信息的计算机和管理员面板的访问权限。这种入侵可能导致灾难性后果,例如未经授权发送误导性信息或随意点击按钮触发意外操作。在本次讨论中,我们将探究MQL5中的安全措施以及在管理员面板中实施的新安全功能,以防范这些威胁。通过增强安全协议,我们旨在保护通信渠道并维护全球交易社区的可信度。在本文的讨论中了解更多见解。
preview
重构经典策略(第十三部分):最小化均线交叉的滞后性

重构经典策略(第十三部分):最小化均线交叉的滞后性

在我们交易者社区中,均线交叉策略已是广为人知,然而,自该策略诞生以来,其核心思想却几乎一成未变。在本次讨论中,我们将为您呈现对原策略的一项微调,其目的在于最小化该交易策略中存在的滞后性。所有原策略的爱好者们,不妨根据我们今天将要探讨的见解,来重新审视并改进这一策略。通过使用两条周期相同的移动平均线,我们可以在不违背策略基本原则的前提下,显著减少交易策略的滞后。
preview
使用Python和MQL5进行多品种分析(第三部分):三角汇率

使用Python和MQL5进行多品种分析(第三部分):三角汇率

交易者常常因虚假信号而面临资金回撤,而等待确认信号又可能导致错失交易机会。本文介绍了一种三角交易策略,该策略利用白银兑美元(XAGUSD)和白银兑欧元(XAGEUR)的价格,以及欧元兑美元(EURUSD)的汇率,来过滤市场噪音。通过利用跨市场关系,交易者可以揭示隐藏的市场情绪,并实时优化交易入场点。
preview
创建动态多货币对EA(第1部分):货币正相关性与负相关性

创建动态多货币对EA(第1部分):货币正相关性与负相关性

动态多货币对EA利用正负相关性来优化EA的交易表现。通过分析实时市场数据,它识别并利用货币对之间的相关性。
preview
构建动态多品种EA(第三部分):均值回归与动量策略

构建动态多品种EA(第三部分):均值回归与动量策略

在本文中,我们将继续讲解构建动态多品种智能交易系统(EA)的第三部分内容,重点聚焦于均值回归策略与动量交易策略的融合。我们将详细拆解如何检测价格对均值的偏离(通过Z-分数)并据此执行交易,以及如何在多个外汇对上测算动量,以此确定交易方向。
preview
最负盛名的人工协作搜索算法的改进版本(AXSm)

最负盛名的人工协作搜索算法的改进版本(AXSm)

在这里,我们将探讨 ACS 算法的演变:三种修改旨在改善收敛特性和算法效率。对最领先的优化算法之一进行修订改版。从数据矩阵修改到种群形成的革命性方法。
preview
风险管理(第一部分):建立风险管理类的基础知识

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

在本文中,我们将介绍交易风险管理的基础知识,并学习如何创建第一个函数来计算交易的适当手数以及止损。此外,我们将详细介绍这些功能的工作原理,解释每个步骤。我们的目标是清楚地了解如何在自动交易中应用这些概念。最后,我们将通过创建一个包含文件的简单脚本来将所有内容付诸实践。
preview
构建一个用于实现带约束条件的自定义最大值的通用优化公式(GOF)

构建一个用于实现带约束条件的自定义最大值的通用优化公式(GOF)

在这篇文章中,我们将介绍一种在MetaTrader 5终端的设置选项卡中选择“自定义最大值”时,实现具有多个目标和约束的优化问题的方法。举例来说,优化问题可以是:最大化利润因子、净利润和恢复因子,同时满足以下条件:回撤小于10%,连续亏损次数少于5次,每周交易次数多于5次。
preview
将您自己的 LLM 集成到 EA 中(第 3 部分):使用 CPU 训练自己的 LLM

将您自己的 LLM 集成到 EA 中(第 3 部分):使用 CPU 训练自己的 LLM

在人工智能飞速发展的今天,大语言模型(LLM)是人工智能的重要组成部分,所以我们应该思考如何将强大的 LLM 融入到我们的算法交易中。对于大多数人来说,很难根据他们的需求微调这些强大的模型,在本地部署它们,然后将它们应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。
preview
DoEasy.控件(第 33 部分):垂直滚动条

DoEasy.控件(第 33 部分):垂直滚动条

在本文中,我们将继续开发 DoEasy 库的图形元素,并添加表单对象控件的垂直滚动功能,以及将来需要的一些实用函数和方法。
preview
开发一款波段交易入场监控智能交易系统(EA)

开发一款波段交易入场监控智能交易系统(EA)

随着年末临近,长期交易者往往会回顾市场历史数据,分析市场行为与趋势,以期预测未来可能的走势。本文将探讨如何使用MQL5开发一款长期交易入场监控智能交易系统(EA)。该系统的开发旨在解决因手动交易和缺乏自动化监控系统而导致的长期交易机会错失问题。我们将以交易量最为活跃的货币对之一为例,有效制定策略并开发我们的解决方案。
preview
在市场中获得优势

在市场中获得优势

学习如何在你希望交易的市场中占据先机,无论你目前的交易水平如何。
preview
种群优化算法:细菌觅食优化 — 遗传算法(BFO-GA)

种群优化算法:细菌觅食优化 — 遗传算法(BFO-GA)

本文释义了一种解决优化问题的新方式,即把细菌觅食优化(BFO)算法和遗传算法(GA)中所用的技术结合到混合型 BFO-GA 算法当中。它用细菌群落来全局搜索最优解,并用遗传运算器来优调局部最优值。与原始的 BFO 不同,细菌现在可以突变,并继承基因。
preview
从基础到中级:变量(I)

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

许多初学者很难理解为什么他们的代码没有按他们预期的方式运行。让代码真正发挥作用的因素有很多。代码能够正常运行,不仅仅是因为它包含了一系列不同的函数和操作。今天,我邀请您学习如何正确地编写真正的代码,而不是简单地复制粘贴代码段。这里呈现的材料仅供教学目的。在任何情况下,这些应用不应该被用于学习和掌握所介绍概念之外的其他目的。
preview
MQL5 交易工具包(第 4 部分):开发历史管理 EX5 库

MQL5 交易工具包(第 4 部分):开发历史管理 EX5 库

通过详细的分步方法创建扩展的历史管理 EX5 库,学习如何使用 MQL5 检索、处理、分类、排序、分析和管理已平仓头寸、订单和交易历史。
preview
用于时间序列挖掘的数据标签(第 6 部分):使用 ONNX 在 EA 中应用和测试

用于时间序列挖掘的数据标签(第 6 部分):使用 ONNX 在 EA 中应用和测试

本系列文章介绍了几种时间序列标注方法,可以创建符合大多数人工智能模型的数据,根据需要进行有针对性的数据标注可以使训练好的人工智能模型更符合预期的设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
美元和欧元指数图表 — MetaTrader 5 服务示例

美元和欧元指数图表 — MetaTrader 5 服务示例

我们将以 MetaTrader 5 服务为例,探讨创建和更新美元指数 (USDX) 和欧元指数 (EURX) 图表。启动服务时,我们将检查所需合成工具的存在,必要时创建它,并将其放置在市场观察窗口中。随后将创建合成工具的分钟和分时报价历史记录,然后创建所创建工具的图表。
preview
化学反应优化 (CRO) 算法(第二部分):汇编和结果

化学反应优化 (CRO) 算法(第二部分):汇编和结果

在第二部分中,我们将把化学运算符整合到一个算法中,并对其结果进行详细分析。让我们来看看化学反应优化 (CRO) 方法是如何解决测试函数的复杂问题的。
preview
大爆炸-大坍缩(BBBC)算法

大爆炸-大坍缩(BBBC)算法

本文介绍了大爆炸-大坍缩方法,该方法包含两个关键阶段:随机点的循环生成,以及将这些点压缩至最优解。该方法结合了探索与精炼过程,使我们能够逐步找到更优的解,并开拓新的优化可能性。
preview
使用Python和MQL5进行特征工程(第四部分):基于UMAP回归的K线模式识别

使用Python和MQL5进行特征工程(第四部分):基于UMAP回归的K线模式识别

降维技术被广泛用于提升机器学习模型的性能。让我们来讨论一项被称为“统一流形逼近与投影”的相对较新的技术(UMAP)。这项新技术的开发旨在针对性地克服传统方法在数据中产生伪影和失真的局限性。UMAP是一种强大的降维技术,它能以一种新颖而有效的方式帮助我们将相似的K线进行分组,从而降低在样本外数据上的错误率,并提升我们的交易表现。
preview
DoEasy. 控件 (第 20 部分): SplitContainer WinForms 对象

DoEasy. 控件 (第 20 部分): SplitContainer WinForms 对象

在本文中,我将启动开发模拟 MS Visual Studio工具包的 SplitContainer 控件。 此控件由两个垂直或水平可移动隔板分开的面板组成。
preview
DoEasy. 控件(第三十部分):动画态滚动条控件

DoEasy. 控件(第三十部分):动画态滚动条控件

在本文中,我将继续开发滚动条(ScrollBar)控件,并开始实现鼠标交互功能。 此外,我将扩展鼠标状态标志和事件的列表。
preview
价格行为分析工具包开发(第二部分):分析注释脚本

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

秉承我们简化价格行为分析的核心理念,我们很高兴推出又一款可显著提升市场分析能力、助力您做出精准决策的工具。该工具可展示关键技术指标(如前一日价格、重要支撑阻力位、成交量),并在图表上自动生成可视化标记。
preview
迁移至 MQL5 Algo Forge(第 1 部分):创建主存储库

迁移至 MQL5 Algo Forge(第 1 部分):创建主存储库

在 MetaEditor 中处理项目时,开发人员经常需要管理代码版本。MetaQuotes 最近宣布迁移到 GIT,并推出具有代码版本控制和协作功能的 MQL5 Algo Forge。在本文中,我们将讨论如何更有效地使用新的和以前存在的工具。
preview
您应当知道的 MQL5 向导技术(第 16 部分):配合本征向量进行主成分分析

您应当知道的 MQL5 向导技术(第 16 部分):配合本征向量进行主成分分析

本文所见的主成分分析,是数据分析中的一种降维技术,文中还有如何配合本征值和向量来实现它。一如既往,我们瞄向的是开发一个可在 MQL5 向导中使用的原型专业信号类。
preview
DoEasy. 控件 (第 23 部分): 改进 TabControl 和 SplitContainer WinForms 对象

DoEasy. 控件 (第 23 部分): 改进 TabControl 和 SplitContainer WinForms 对象

在本文中,我将添加与 WinForms 对象工作区域边界相关的新鼠标事件,并修复 TabControl 和 SplitContainer 控件功能中的一些瑕疵。
preview
将 MQL5 与数据处理包集成(第 4 部分):大数据处理

将 MQL5 与数据处理包集成(第 4 部分):大数据处理

本部分探讨了将 MQL5 与强大的数据处理工具集成的高级技术,重点是高效处理大数据,以增强交易分析和决策。
preview
智能系统健壮性测试

智能系统健壮性测试

在策略开发中,有许多错综复杂的细节需要考虑,对于初学交易者其中许多都未予重视。如是结果,众多交易者,包括我自己,都不得不历经苦难来学习这些教训。本文基于我观察到的大多数初学交易者在 MQL5 上开发策略时常见的陷阱。它将提供一系列提示、技巧、和示例,帮助辨别不合格的 EA,并以一种易于实现的方式来测试我们自己 EA 的稳健性。目标是教导读者,帮助他们未来购买 EA 时避免遭遇骗局,以及预防他们自己开发策略时的错误。
preview
重构经典策略(第七部分):基于USDJPY的外汇市场与主权债务分析

重构经典策略(第七部分):基于USDJPY的外汇市场与主权债务分析

在今天的文章中,我们将分析汇率走势与政府债券之间的关系。债券是固定收益证券中最受欢迎的形式之一,将成为我们讨论的重点。加入我们,一起探索是否可以利用人工智能技术改进一种经典策略。
preview
MQL5 中的 SQLite 功能示例:按交易品种及 Magic 编码展示交易统计信息的仪表盘

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

本文将介绍如何创建一个指标型仪表盘,按账户、交易品种及交易策略展示交易统计信息。我们将以官方文档及数据库相关文章中的示例为基础,逐步实现完整程序。