MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
如何使用 MetaTrader 和 Google Sheets 创建交易日志

如何使用 MetaTrader 和 Google Sheets 创建交易日志

使用 MetaTrader 和 Google Sheets 创建交易日志!您将学习如何通过 HTTP POST 同步您的交易数据,并使用 HTTP 请求来获取它。最后,您有一个交易日志,可以帮助您有效地跟踪您的交易。
preview
在任何市场中获得优势(第五部分):联邦储备经济数据库(FRED)欧元兑美元( EURUSD)可替代数据

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

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

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

在本文中,我将在 TabControl WinForms 对象中放置滚动标题控件的按钮,以防标题栏不适配控件的尺寸。 此外,我还将实现单击裁剪过的选项卡标题时,标题栏的平移。
preview
在MQL5中创建交易管理员面板(第四部分):登录安全层

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

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

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

本文是‘Connexus’库开发系列的开篇之作,旨在为MQL5环境下的HTTP请求提供便利支持。该项目的目的是为终端用户提供这个机会,并展示如何使用这个辅助库。我打算尽可能地简化,以便于学习,从而为进一步开发提供可能性。
preview
结合基本面和技术分析策略在MQL5中的实现(适合初学者)

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

在本文中,我们将讨论如何将趋势跟踪和基本面原则无缝整合到一个EA中,以构建一个更加稳健的交易策略。本文将展示任何人都可以轻松上手,使用MQL5构建定制化交易算法的过程。
preview
使用Python和MQL5进行多品种分析(第三部分):三角汇率

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

交易者常常因虚假信号而面临资金回撤,而等待确认信号又可能导致错失交易机会。本文介绍了一种三角交易策略,该策略利用白银兑美元(XAGUSD)和白银兑欧元(XAGEUR)的价格,以及欧元兑美元(EURUSD)的汇率,来过滤市场噪音。通过利用跨市场关系,交易者可以揭示隐藏的市场情绪,并实时优化交易入场点。
preview
自定义指标:为净额结算账户绘制部分入场、出场和反转交易

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

在本文中,我们将探讨在MQL5中创建指标的一种非标准方法。我们的目标不是专注于趋势或图表形态,而是管理我们自己的仓位,包括部分入场和出场。我们将广泛使用动态矩阵以及一些与交易历史和未平仓头寸相关的交易函数,以在图表上显示这些交易发生的位置。
preview
为智能系统制定品质因数

为智能系统制定品质因数

在本文中,我们将见识到如何制定一个品质得分,并由您的智能系统从策略测试器返回。 我们将查看两种著名的计算方法 — Van Tharp 和 Sunny Harris。
preview
重塑经典策略(第三部分):预测新高与新低

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

在系列文章的第三部分中,我们将通过实证分析经典交易策略,探讨如何利用人工智能进行优化。本次研究聚焦于运用线性判别分析模型(LDA)预测价格走势中的更高高点与更低低点。
preview
从零开始在MQL5中实现移动平均线:简单明了

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

我们将通过简单的示例,探究移动平均线的计算原理,同时了解优化指标计算(包括移动平均线计算)的方法。
preview
将您自己的 LLM 集成到 EA 中(第 3 部分):使用 CPU 训练自己的 LLM

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

在人工智能飞速发展的今天,大语言模型(LLM)是人工智能的重要组成部分,所以我们应该思考如何将强大的 LLM 融入到我们的算法交易中。对于大多数人来说,很难根据他们的需求微调这些强大的模型,在本地部署它们,然后将它们应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。
preview
重构经典策略(第十三部分):最小化均线交叉的滞后性

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

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

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

动态多货币对EA利用正负相关性来优化EA的交易表现。通过分析实时市场数据,它识别并利用货币对之间的相关性。
preview
种群优化算法:细菌觅食优化 — 遗传算法(BFO-GA)

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

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

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

在本文中,我们将继续开发 DoEasy 库的图形元素,并添加表单对象控件的垂直滚动功能,以及将来需要的一些实用函数和方法。
preview
从基础到中级:变量(I)

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

许多初学者很难理解为什么他们的代码没有按他们预期的方式运行。让代码真正发挥作用的因素有很多。代码能够正常运行,不仅仅是因为它包含了一系列不同的函数和操作。今天,我邀请您学习如何正确地编写真正的代码,而不是简单地复制粘贴代码段。这里呈现的材料仅供教学目的。在任何情况下,这些应用不应该被用于学习和掌握所介绍概念之外的其他目的。
preview
构建一个用于实现带约束条件的自定义最大值的通用优化公式(GOF)

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

在这篇文章中,我们将介绍一种在MetaTrader 5终端的设置选项卡中选择“自定义最大值”时,实现具有多个目标和约束的优化问题的方法。举例来说,优化问题可以是:最大化利润因子、净利润和恢复因子,同时满足以下条件:回撤小于10%,连续亏损次数少于5次,每周交易次数多于5次。
preview
最负盛名的人工协作搜索算法的改进版本(AXSm)

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

在这里,我们将探讨 ACS 算法的演变:三种修改旨在改善收敛特性和算法效率。对最领先的优化算法之一进行修订改版。从数据矩阵修改到种群形成的革命性方法。
preview
在市场中获得优势

在市场中获得优势

学习如何在你希望交易的市场中占据先机,无论你目前的交易水平如何。
preview
开发一款波段交易入场监控智能交易系统(EA)

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

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

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

在本文中,我们将介绍交易风险管理的基础知识,并学习如何创建第一个函数来计算交易的适当手数以及止损。此外,我们将详细介绍这些功能的工作原理,解释每个步骤。我们的目标是清楚地了解如何在自动交易中应用这些概念。最后,我们将通过创建一个包含文件的简单脚本来将所有内容付诸实践。
preview
用于时间序列挖掘的数据标签(第 6 部分):使用 ONNX 在 EA 中应用和测试

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

本系列文章介绍了几种时间序列标注方法,可以创建符合大多数人工智能模型的数据,根据需要进行有针对性的数据标注可以使训练好的人工智能模型更符合预期的设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
价格行为分析工具包开发(第11部分):基于Heikin Ashi(平均K线)信号的智能交易系统(EA)

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

MQL5为开发者提供了无限可能,助您构建高度定制化的自动化交易系统。您是否知道,它甚至能执行复杂的数学运算?本文将介绍如何将日本Heikin-Ashi(平均K线)技术转化为自动化交易的策略。
preview
化学反应优化 (CRO) 算法(第二部分):汇编和结果

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

在第二部分中,我们将把化学运算符整合到一个算法中,并对其结果进行详细分析。让我们来看看化学反应优化 (CRO) 方法是如何解决测试函数的复杂问题的。
preview
MQL5 交易工具包(第 4 部分):开发历史管理 EX5 库

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

通过详细的分步方法创建扩展的历史管理 EX5 库,学习如何使用 MQL5 检索、处理、分类、排序、分析和管理已平仓头寸、订单和交易历史。
preview
DoEasy. 控件 (第 20 部分): SplitContainer WinForms 对象

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

在本文中,我将启动开发模拟 MS Visual Studio工具包的 SplitContainer 控件。 此控件由两个垂直或水平可移动隔板分开的面板组成。
preview
美元和欧元指数图表 — MetaTrader 5 服务示例

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

我们将以 MetaTrader 5 服务为例,探讨创建和更新美元指数 (USDX) 和欧元指数 (EURX) 图表。启动服务时,我们将检查所需合成工具的存在,必要时创建它,并将其放置在市场观察窗口中。随后将创建合成工具的分钟和分时报价历史记录,然后创建所创建工具的图表。
preview
大爆炸-大坍缩(BBBC)算法

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

本文介绍了大爆炸-大坍缩方法,该方法包含两个关键阶段:随机点的循环生成,以及将这些点压缩至最优解。该方法结合了探索与精炼过程,使我们能够逐步找到更优的解,并开拓新的优化可能性。
preview
DoEasy. 控件(第三十部分):动画态滚动条控件

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

在本文中,我将继续开发滚动条(ScrollBar)控件,并开始实现鼠标交互功能。 此外,我将扩展鼠标状态标志和事件的列表。
preview
DoEasy. 控件 (第 23 部分): 改进 TabControl 和 SplitContainer WinForms 对象

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

在本文中,我将添加与 WinForms 对象工作区域边界相关的新鼠标事件,并修复 TabControl 和 SplitContainer 控件功能中的一些瑕疵。
preview
使用Python和MQL5进行特征工程(第四部分):基于UMAP回归的K线模式识别

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

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

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

在今天的文章中,我们将分析汇率走势与政府债券之间的关系。债券是固定收益证券中最受欢迎的形式之一,将成为我们讨论的重点。加入我们,一起探索是否可以利用人工智能技术改进一种经典策略。
preview
您应当知道的 MQL5 向导技术(第 16 部分):配合本征向量进行主成分分析

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

本文所见的主成分分析,是数据分析中的一种降维技术,文中还有如何配合本征值和向量来实现它。一如既往,我们瞄向的是开发一个可在 MQL5 向导中使用的原型专业信号类。
preview
价格行为分析工具包开发(第二部分):分析注释脚本

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

秉承我们简化价格行为分析的核心理念,我们很高兴推出又一款可显著提升市场分析能力、助力您做出精准决策的工具。该工具可展示关键技术指标(如前一日价格、重要支撑阻力位、成交量),并在图表上自动生成可视化标记。
preview
开发回放系统 — 市场模拟(第 17 部分):跳价和更多跳价(I)

开发回放系统 — 市场模拟(第 17 部分):跳价和更多跳价(I)

于此,我们将见识到如何实现一些非常有趣的东西,但同时也会因某些可能十分令人困惑的关键点而极其困难。可能发生的最糟糕的事情是,一些自诩专业人士的交易者却对这些概念在资本市场中的重要性一无所知。好吧,尽管我们在这里专注于编程,但理解市场交易中涉及的一些问题,对于我们将要实现的内容至关重要。
preview
迁移至 MQL5 Algo Forge(第 1 部分):创建主存储库

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

在 MetaEditor 中处理项目时,开发人员经常需要管理代码版本。MetaQuotes 最近宣布迁移到 GIT,并推出具有代码版本控制和协作功能的 MQL5 Algo Forge。在本文中,我们将讨论如何更有效地使用新的和以前存在的工具。
preview
MQL5 中的 SQLite 功能示例:按交易品种及 Magic 编码展示交易统计信息的仪表盘

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

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

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

了解如何利用MQL5精准预测标普500指数,结合经典技术分析以增强稳定性,并将算法与经过时间验证的原则相结合,以获得稳健的市场洞察。
DoEasy 函数库中的图形(第九十四部分):移动和删除复合图形对象
DoEasy 函数库中的图形(第九十四部分):移动和删除复合图形对象

DoEasy 函数库中的图形(第九十四部分):移动和删除复合图形对象

在本文中,我将启动开发各种复合图形对象事件。 我们还将部分研究移动和删除复合图形对象。 实际上,在此,我还会把前一篇文章中实现的东西进行微调。