MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
DoEasy. 控件(第三十部分):动画态滚动条控件

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

在本文中,我将继续开发滚动条(ScrollBar)控件,并开始实现鼠标交互功能。 此外,我将扩展鼠标状态标志和事件的列表。
preview
在 MQL5 中创建交易管理员面板(第一部分):构建消息接口

在 MQL5 中创建交易管理员面板(第一部分):构建消息接口

本文讨论了为 MetaTrader 5 创建一个消息接口,旨在帮助系统管理员在平台内直接与其他交易者进行沟通。MQL5 最近与社交平台的整合使得信号能够通过不同渠道快速广播。想象一下,只需点击“是”或“否”就能确认发送信号。继续阅读以了解更多信息。
preview
在MQL5中创建交易管理员面板(第六部分):多功能界面(一)

在MQL5中创建交易管理员面板(第六部分):多功能界面(一)

交易管理员的角色不仅限于Telegram通信,他们还可以参与各种控制活动,包括订单管理、持仓跟踪和界面定制。在本文中,我们将分享有关扩展程序以支持MQL5中多种功能的实用见解。此次更新旨在克服当前管理员面板主要聚焦于通信这一局限,使其能够处理更广泛的任务。
preview
市场轮廓指标

市场轮廓指标

在本文中,我们将探讨市场轮廓指标。我们将探究这个名称背后隐藏的内容,尝试理解其运行原理,并分析其程序代码(MarketProfile)。
preview
使用Python和MQL5进行多交易品种分析(第一部分):纳斯达克集成电路制造商

使用Python和MQL5进行多交易品种分析(第一部分):纳斯达克集成电路制造商

加入我们的讨论,了解如何利用人工智能(AI)优化您的仓位规模和订单数量,以最大化您的投资组合回报。我们将展示如何通过算法识别一个最优的投资组合,并根据您的回报预期或风险承受能力来调整投资组合。在本次讨论中,我们将使用SciPy库和MQL5语言,利用所拥有的全部数据创建一个最优且多样化的投资组合。
preview
最负盛名的人工协作搜索算法的改进版本(AXSm)

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

在这里,我们将探讨 ACS 算法的演变:三种修改旨在改善收敛特性和算法效率。对最领先的优化算法之一进行修订改版。从数据矩阵修改到种群形成的革命性方法。
preview
开发回放系统 — 市场模拟(第 17 部分):跳价和更多跳价(I)

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

于此,我们将见识到如何实现一些非常有趣的东西,但同时也会因某些可能十分令人困惑的关键点而极其困难。可能发生的最糟糕的事情是,一些自诩专业人士的交易者却对这些概念在资本市场中的重要性一无所知。好吧,尽管我们在这里专注于编程,但理解市场交易中涉及的一些问题,对于我们将要实现的内容至关重要。
preview
开发先进的 ICT 交易系统:在指标中实现订单区块

开发先进的 ICT 交易系统:在指标中实现订单区块

在本文中,我们将学习如何创建一个指标来检测、绘制订单区块并提醒订单块的缓解。我们还将详细研究如何在图表上识别这些区块,设置准确的提醒,并使用矩形可视化它们的位置,以更好地了解价格行为。该指标将成为遵循聪明钱概念和内圈交易者(ICT,Inner Circle Trader)方法的交易者的关键工具。
preview
DoEasy. 控件 (第 20 部分): SplitContainer WinForms 对象

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

在本文中,我将启动开发模拟 MS Visual Studio工具包的 SplitContainer 控件。 此控件由两个垂直或水平可移动隔板分开的面板组成。
preview
化学反应优化 (CRO) 算法(第二部分):汇编和结果

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

在第二部分中,我们将把化学运算符整合到一个算法中,并对其结果进行详细分析。让我们来看看化学反应优化 (CRO) 方法是如何解决测试函数的复杂问题的。
DoEasy 函数库中的图形(第九十四部分):移动和删除复合图形对象
DoEasy 函数库中的图形(第九十四部分):移动和删除复合图形对象

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

在本文中,我将启动开发各种复合图形对象事件。 我们还将部分研究移动和删除复合图形对象。 实际上,在此,我还会把前一篇文章中实现的东西进行微调。
preview
种群优化算法:细菌觅食优化 — 遗传算法(BFO-GA)

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

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

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

本系列文章介绍了几种时间序列标注方法,可以创建符合大多数人工智能模型的数据,根据需要进行有针对性的数据标注可以使训练好的人工智能模型更符合预期的设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
DoEasy. 控件 (第 28 部分): 进度条控件中的柱线样式

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

在本文中,我将开发进度条控件的柱线显示样式和说明文本。
DoEasy. 控件 (第 32 部分): 水平滚动条,鼠标轮滚动
DoEasy. 控件 (第 32 部分): 水平滚动条,鼠标轮滚动

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

在本文中,我们将完成水平滚动条对象功能的开发。我们还将令移动滚动条滑块和旋转鼠标滚轮来滚动容器的内容成为可能,以及考虑到 MQL5 中的新订单执行策略,和新的运行时错误代码,在函数库里相应添加。
preview
重构经典策略(第七部分):基于USDJPY的外汇市场与主权债务分析

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

在今天的文章中,我们将分析汇率走势与政府债券之间的关系。债券是固定收益证券中最受欢迎的形式之一,将成为我们讨论的重点。加入我们,一起探索是否可以利用人工智能技术改进一种经典策略。
preview
从新手到专家:MQL5中的协作式调试指南

从新手到专家:MQL5中的协作式调试指南

问题解决法能为掌握复杂技能(如MQL5编程)构建高效路径。该方法让您在专注攻克问题的同时,潜移默化地提升技能水平。解决的难题越多,大脑积累的专业知识就越深厚。就我个人而言,调试是精通编程最有效的途径。本文将带你逐步梳理代码清理流程,并探讨将杂乱程序转化为简洁高效代码的核心技巧。阅读本文,洞悉其中的宝贵见解。
preview
在MQL5中创建交易管理员面板(第三部分):扩展内置类以进行主题管理(II)

在MQL5中创建交易管理员面板(第三部分):扩展内置类以进行主题管理(II)

在本文的讨论中,我们将逐步扩展现有的对话框库,以纳入主题管理逻辑。此外,我们将把主题切换方法整合到管理员面板项目中使用的 CDialog、CEdit 和 CButton 类中。继续阅读,获取更多深入的了解。
preview
在MQL5中创建交易管理员面板(第四部分):登录安全层

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

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

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

我们将分析芝加哥期权交易所(CBOE)整理的替代数据,以提高我们的深度神经网络在预测XAUEUR货币对时的准确性。
preview
DoEasy.控件(第 33 部分):垂直滚动条

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

在本文中,我们将继续开发 DoEasy 库的图形元素,并添加表单对象控件的垂直滚动功能,以及将来需要的一些实用函数和方法。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 7 部分):依据动量振荡器指标的之字折线

如何利用 MQL5 创建简单的多币种智能交易系统(第 7 部分):依据动量振荡器指标的之字折线

本文中的多货币智能系统是利用之字折线(ZigZag)指标的自动交易系统,该指标依据动量振荡器过滤、或彼此过滤信号。
preview
MetaTrader 中的 Multibot(第二部分):改进的动态模板

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

在开发上一篇文章的主题时,我决定创建一个更灵活、功能更强大的模板,该模板具有更大的功能,可以有效地用于自由职业,也可以作为开发多货币和多时段 EA 的基础,并能够与外部解决方案集成。
preview
从基础到中级:变量(I)

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

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

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

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

GIT:它是什么?

在本文中,我将为开发人员介绍一个非常重要的工具。如果您不熟悉 GIT,请阅读本文,以了解它是什么以及如何在 MQL5 中使用它。
preview
为智能系统制定品质因数

为智能系统制定品质因数

在本文中,我们将见识到如何制定一个品质得分,并由您的智能系统从策略测试器返回。 我们将查看两种著名的计算方法 — Van Tharp 和 Sunny Harris。
preview
美元和欧元指数图表 — MetaTrader 5 服务示例

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

我们将以 MetaTrader 5 服务为例,探讨创建和更新美元指数 (USDX) 和欧元指数 (EURX) 图表。启动服务时,我们将检查所需合成工具的存在,必要时创建它,并将其放置在市场观察窗口中。随后将创建合成工具的分钟和分时报价历史记录,然后创建所创建工具的图表。
preview
开发回放系统(第 53 部分):事情变得复杂(五)

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

在本文中,我们将介绍一个很少有人了解的重要话题:定制事件。危险。这些要素的优缺点。对于希望成为 MQL5 或其他语言专业程序员的人来说,本主题至关重要。在此,我们将重点介绍 MQL5 和 MetaTrader 5。
preview
种群优化算法:进化策略,(μ,λ)-ES 和 (μ+λ)-ES

种群优化算法:进化策略,(μ,λ)-ES 和 (μ+λ)-ES

本文研究一套称为进化策略(ES)的优化算法。它们是最早使用进化原理来寻找最优解的种群算法之一。我们将针对传统的 ES 变体实现变更,并修改算法的测试函数和测试台方法。
preview
您应当知道的 MQL5 向导技术(第 16 部分):配合本征向量进行主成分分析

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

本文所见的主成分分析,是数据分析中的一种降维技术,文中还有如何配合本征值和向量来实现它。一如既往,我们瞄向的是开发一个可在 MQL5 向导中使用的原型专业信号类。
preview
自定义指标:为净额结算账户绘制部分入场、出场和反转交易

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

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

种群优化算法:鸟群算法(BSA)

本文探讨了受自然界鸟类集群行为启发而产生的基于鸟群的算法(BSA)。BSA中的个体采用不同的搜索策略,包括在飞行、警戒和觅食行为之间的切换,使得该算法具有多面性。它利用鸟类集群、交流、适应性、领导与跟随等规则来高效地找到最优解。
preview
开发回放系统(第 59 部分):新的未来

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

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

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

本文是以 MQL5 实现范畴论系列的续篇。于此,我们验证在开发交易系统的平仓策略时,图论如何与幺半群和其它数据结构集成。
preview
DoEasy. 控件 (第 19 部分): 在 TabControl 中滚动选项卡、WinForms 对象事件

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

在本文中,我将创建的功能是利用滚动按钮在 TabControl 中滚动选项卡标题。 该功能旨在将选项卡标题从控件的任一侧拖放到单行之中。
preview
结合基本面和技术分析策略在MQL5中的实现(适合初学者)

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

在本文中,我们将讨论如何将趋势跟踪和基本面原则无缝整合到一个EA中,以构建一个更加稳健的交易策略。本文将展示任何人都可以轻松上手,使用MQL5构建定制化交易算法的过程。
preview
MQL5 交易工具包(第 2 部分):扩展和实现仓位管理 EX5 库

MQL5 交易工具包(第 2 部分):扩展和实现仓位管理 EX5 库

了解如何在 MQL5 代码或项目中导入和使用 EX5 库。在这篇续文中,我们将通过向现有库中添加更多仓位管理功能并创建两个 EA 交易系统来扩展 EX5 库。第一个例子将使用可变指数动态平均(Variable Index Dynamic Average,VIDYA)技术指标来开发追踪止损交易策略 EA 交易,而第二个例子将利用交易面板来监控、开仓、平仓和修改仓位。这两个例子将演示如何使用和实现升级后的 EX5 仓位管理库。
preview
种群优化算法:二进制遗传算法(BGA)。第 I 部分

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

在本文中,我们将探讨二进制遗传和其它种群算法中所用的各种方法。我们将见识到算法的主要组成部分,例如选择、交叠和突变,以及它们对优化的影响。此外,我们还将研究数据表示方法,及其对优化结果的影响。
preview
基于转移熵的时间序列因果分析

基于转移熵的时间序列因果分析

在本文中,我们讨论了如何将统计因果关系应用于识别预测变量。我们将探讨因果关系与传递熵(Transfer Entropy, TE)之间的联系,并展示用于检测两个变量之间信息方向性传递的MQL5代码。