MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
最负盛名的人工协作搜索算法的改进版本(AXSm)

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

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

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

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

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

在本文中,我将添加与 WinForms 对象工作区域边界相关的新鼠标事件,并修复 TabControl 和 SplitContainer 控件功能中的一些瑕疵。
preview
种群优化算法:细菌觅食优化 — 遗传算法(BFO-GA)

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

本文释义了一种解决优化问题的新方式,即把细菌觅食优化(BFO)算法和遗传算法(GA)中所用的技术结合到混合型 BFO-GA 算法当中。它用细菌群落来全局搜索最优解,并用遗传运算器来优调局部最优值。与原始的 BFO 不同,细菌现在可以突变,并继承基因。
preview
用于时间序列挖掘的数据标签(第 6 部分):使用 ONNX 在 EA 中应用和测试

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

本系列文章介绍了几种时间序列标注方法,可以创建符合大多数人工智能模型的数据,根据需要进行有针对性的数据标注可以使训练好的人工智能模型更符合预期的设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
结合基本面和技术分析策略在MQL5中的实现(适合初学者)

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

在本文中,我们将讨论如何将趋势跟踪和基本面原则无缝整合到一个EA中,以构建一个更加稳健的交易策略。本文将展示任何人都可以轻松上手,使用MQL5构建定制化交易算法的过程。
preview
DoEasy. 控件(第三十部分):动画态滚动条控件

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

在本文中,我将继续开发滚动条(ScrollBar)控件,并开始实现鼠标交互功能。 此外,我将扩展鼠标状态标志和事件的列表。
preview
MetaTrader 中的 Multibot(第二部分):改进的动态模板

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

在开发上一篇文章的主题时,我决定创建一个更灵活、功能更强大的模板,该模板具有更大的功能,可以有效地用于自由职业,也可以作为开发多货币和多时段 EA 的基础,并能够与外部解决方案集成。
preview
DoEasy. 控件 (第 20 部分): SplitContainer WinForms 对象

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

在本文中,我将启动开发模拟 MS Visual Studio工具包的 SplitContainer 控件。 此控件由两个垂直或水平可移动隔板分开的面板组成。
preview
重塑经典策略(第三部分):预测新高与新低

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

在系列文章的第三部分中,我们将通过实证分析经典交易策略,探讨如何利用人工智能进行优化。本次研究聚焦于运用线性判别分析模型(LDA)预测价格走势中的更高高点与更低低点。
preview
重构经典策略(第七部分):基于USDJPY的外汇市场与主权债务分析

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

在今天的文章中,我们将分析汇率走势与政府债券之间的关系。债券是固定收益证券中最受欢迎的形式之一,将成为我们讨论的重点。加入我们,一起探索是否可以利用人工智能技术改进一种经典策略。
preview
开发回放系统 — 市场模拟(第 17 部分):跳价和更多跳价(I)

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

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

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

在第二部分中,我们将把化学运算符整合到一个算法中,并对其结果进行详细分析。让我们来看看化学反应优化 (CRO) 方法是如何解决测试函数的复杂问题的。
preview
美元和欧元指数图表 — MetaTrader 5 服务示例

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

我们将以 MetaTrader 5 服务为例,探讨创建和更新美元指数 (USDX) 和欧元指数 (EURX) 图表。启动服务时,我们将检查所需合成工具的存在,必要时创建它,并将其放置在市场观察窗口中。随后将创建合成工具的分钟和分时报价历史记录,然后创建所创建工具的图表。
preview
重构经典策略(第十三部分):最小化均线交叉的滞后性

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

在我们交易者社区中,均线交叉策略已是广为人知,然而,自该策略诞生以来,其核心思想却几乎一成未变。在本次讨论中,我们将为您呈现对原策略的一项微调,其目的在于最小化该交易策略中存在的滞后性。所有原策略的爱好者们,不妨根据我们今天将要探讨的见解,来重新审视并改进这一策略。通过使用两条周期相同的移动平均线,我们可以在不违背策略基本原则的前提下,显著减少交易策略的滞后。
preview
自定义指标:为净额结算账户绘制部分入场、出场和反转交易

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

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

GIT:它是什么?

在本文中,我将为开发人员介绍一个非常重要的工具。如果您不熟悉 GIT,请阅读本文,以了解它是什么以及如何在 MQL5 中使用它。
preview
流动性攫取交易策略

流动性攫取交易策略

流动性攫取交易策略是智能资金概念(SMC)的核心组成部分,旨在识别并利用市场中机构投资者的操作行为。该策略聚焦于高流动性区域(如支撑位或阻力位),在这些区域,大额订单可引发价格波动,随后市场恢复原有趋势。本文将详细阐释流动性攫取的概念,并概述如何在MQL5中开发流动性攫取交易策略的智能交易系统(EA)。
preview
您应当知道的 MQL5 向导技术(第 16 部分):配合本征向量进行主成分分析

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

本文所见的主成分分析,是数据分析中的一种降维技术,文中还有如何配合本征值和向量来实现它。一如既往,我们瞄向的是开发一个可在 MQL5 向导中使用的原型专业信号类。
preview
Connexus入门(第一部分):如何使用WebRequest函数?

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

本文是‘Connexus’库开发系列的开篇之作,旨在为MQL5环境下的HTTP请求提供便利支持。该项目的目的是为终端用户提供这个机会,并展示如何使用这个辅助库。我打算尽可能地简化,以便于学习,从而为进一步开发提供可能性。
preview
开发基于订单簿的交易系统(第一部分):指标

开发基于订单簿的交易系统(第一部分):指标

市场深度无疑是执行快速交易的一个非常重要的因素,特别是在高频交易(HFT)算法中。在本系列文章中,我们将探讨这种类型的交易事件,这些事件可以通过经纪商在许多可交易的交易品种上获得。我们将从一个指标开始,您可以在其中自定义直接显示在图表上的直方图的调色板、位置和大小。我们还将研究如何生成 BookEvent 事件,以在特定条件下测试指标。未来文章的其他可能主题包括如何存储价格分布数据以及如何在策略测试器中使用它。
DoEasy 函数库中的图形(第九十四部分):移动和删除复合图形对象
DoEasy 函数库中的图形(第九十四部分):移动和删除复合图形对象

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

在本文中,我将启动开发各种复合图形对象事件。 我们还将部分研究移动和删除复合图形对象。 实际上,在此,我还会把前一篇文章中实现的东西进行微调。
preview
开发一款波段交易入场监控智能交易系统(EA)

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

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

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

使用 MetaTrader 和 Google Sheets 创建交易日志!您将学习如何通过 HTTP POST 同步您的交易数据,并使用 HTTP 请求来获取它。最后,您有一个交易日志,可以帮助您有效地跟踪您的交易。
preview
DoEasy. 控件 (第 28 部分): 进度条控件中的柱线样式

DoEasy. 控件 (第 28 部分): 进度条控件中的柱线样式

在本文中,我将开发进度条控件的柱线显示样式和说明文本。
preview
创建动态多货币对EA(第1部分):货币正相关性与负相关性

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

动态多货币对EA利用正负相关性来优化EA的交易表现。通过分析实时市场数据,它识别并利用货币对之间的相关性。
preview
大爆炸-大坍缩(BBBC)算法

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

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

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

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

开发回放系统(第 59 部分):新的未来

正确理解不同的想法可以让我们事半功倍。在本文中,我们将探讨为什么在服务与图表交互之前需要配置模板。此外,如果我们改进鼠标指标,这样我们就可以用它做更多的事情呢?
preview
开发回放系统(第 53 部分):事情变得复杂(五)

开发回放系统(第 53 部分):事情变得复杂(五)

在本文中,我们将介绍一个很少有人了解的重要话题:定制事件。危险。这些要素的优缺点。对于希望成为 MQL5 或其他语言专业程序员的人来说,本主题至关重要。在此,我们将重点介绍 MQL5 和 MetaTrader 5。
DoEasy. 控件 (第 32 部分): 水平滚动条,鼠标轮滚动
DoEasy. 控件 (第 32 部分): 水平滚动条,鼠标轮滚动

DoEasy. 控件 (第 32 部分): 水平滚动条,鼠标轮滚动

在本文中,我们将完成水平滚动条对象功能的开发。我们还将令移动滚动条滑块和旋转鼠标滚轮来滚动容器的内容成为可能,以及考虑到 MQL5 中的新订单执行策略,和新的运行时错误代码,在函数库里相应添加。
preview
开发回放系统(第 76 部分):新 Chart Trade(三)

开发回放系统(第 76 部分):新 Chart Trade(三)

在本文中,我们将看看上一篇文章中缺少的 DispatchMessage 代码是如何工作的。我们还会介绍下一篇文章的主题。因此,在继续下一个主题之前,了解这段代码的工作原理非常重要。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
无政府社会优化(ASO)算法

无政府社会优化(ASO)算法

本文中,我们将了解无政府社会优化(Anarchic Society Optimization,ASO)算法,并探讨一个基于无政府社会(一个摆脱中央权力和各种等级制度的异常社会交互系统)中参与者非理性与冒险行为的算法是如何能够探索解空间并避免陷入局部最优陷阱的。本文提出了一种适用于连续问题和离散问题的统一ASO结构。
preview
为智能系统制定品质因数

为智能系统制定品质因数

在本文中,我们将见识到如何制定一个品质得分,并由您的智能系统从策略测试器返回。 我们将查看两种著名的计算方法 — Van Tharp 和 Sunny Harris。
preview
构建一个用于实现带约束条件的自定义最大值的通用优化公式(GOF)

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

在这篇文章中,我们将介绍一种在MetaTrader 5终端的设置选项卡中选择“自定义最大值”时,实现具有多个目标和约束的优化问题的方法。举例来说,优化问题可以是:最大化利润因子、净利润和恢复因子,同时满足以下条件:回撤小于10%,连续亏损次数少于5次,每周交易次数多于5次。
preview
MQL5 交易工具包(第 4 部分):开发历史管理 EX5 库

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

通过详细的分步方法创建扩展的历史管理 EX5 库,学习如何使用 MQL5 检索、处理、分类、排序、分析和管理已平仓头寸、订单和交易历史。
preview
在 MQL5 中构建自优化EA(第六部分):自适应交易规则(二)

在 MQL5 中构建自优化EA(第六部分):自适应交易规则(二)

本文探讨了如何优化 RSI 的水平和周期,以获得更好的交易信号。我们介绍了估算最优 RSI 值的方法,并使用网格搜索和统计模型来自动选择周期。最后,我们在 MQL5 中实现了该解决方案,同时利用 Python 进行分析。我们的方法力求务实和直接,旨在以简单的方式帮助您解决潜在复杂的问题。
preview
种群优化算法:二进制遗传算法(BGA)。第 I 部分

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

在本文中,我们将探讨二进制遗传和其它种群算法中所用的各种方法。我们将见识到算法的主要组成部分,例如选择、交叠和突变,以及它们对优化的影响。此外,我们还将研究数据表示方法,及其对优化结果的影响。
preview
精通日志记录(第一部分):MQL5中的基础概念与入门步骤

精通日志记录(第一部分):MQL5中的基础概念与入门步骤

欢迎开启另一段探索之旅!本文是一个特别系列的开篇之作,我们将逐步创建一个专为MQL5语言开发者量身定制的日志操作库。
preview
黑洞算法(BHA)

黑洞算法(BHA)

黑洞算法(BHA)利用黑洞引力原理来优化解。在本文中,我们将考察 BHA 如何在避免局部极端情况的同时,吸引最佳解,以及为什么该算法已成为解决复杂问题的强大工具。学习简单的思路如何在优化世界带来令人印象深刻的结果。