MQL4和MQL5编程文章

icon

在众多发表的文章中研究 MQL5语言编程交易策略 的多数由您—我们 MQL5.community的会员所作。文章以类别分组来帮助您迅速找到任何有关MQL5编程问题的答案:集成,测试,交易策略等等。

Follow our 新发表讨论它们在 MQL5.community论坛

添加一个新的文章
最近 | 最佳
preview
使用 MetaTrader 5 Python 构建类似 MQL5 的交易类

使用 MetaTrader 5 Python 构建类似 MQL5 的交易类

MetaTrader 5 Python 包提供了一种使用 Python 语言为 MetaTrader 5 平台构建交易应用程序的简便方法。虽然它是一个强大而有用的工具,但在创建算法交易解决方案方面,该模块不如 MQL5 编程语言那么容易。在本文中,我们将构建类似于 MQL5 中提供的交易类,以创建类似的语法,使在 Python 中创建交易机器人比在 MQL5 中更容易。
preview
开发回放系统(第 55 部分):控制模块

开发回放系统(第 55 部分):控制模块

在本文中,我们将实现一个控制指标,以便它可以集成到我们正在开发的消息系统中。虽然这并不难,但关于这个模块的初始化,有一些细节需要了解。此处提供的材料仅用于教育目的。除了学习和掌握所示的概念外,绝不应将其视为任何目的的应用程序。
preview
交易中的神经网络:层次化向量变换器(终章)

交易中的神经网络:层次化向量变换器(终章)

我们继续研究层次化向量变换器方法。在本文中,我们将完成模型的构造。我们还会在真实历史数据上对其进行训练和测试。
preview
神经Boid优化算法2(NOA2)

神经Boid优化算法2(NOA2)

新型专有优化算法NOA2融合了种群智能原理与神经控制机制。NOA2将神经Boid的运动机制与自适应神经系统结合,使智能体在搜索最优解的过程中能够自我修正其行为。该算法目前正处于积极开发阶段,展现出对于解决复杂优化问题的潜力。
preview
MQL5交易工具(第三部分):构建用于策略交易的多时间周期扫描仪表盘

MQL5交易工具(第三部分):构建用于策略交易的多时间周期扫描仪表盘

在本文中,我们将使用MQL5构建一个多时间周期扫描仪表盘,用于展示实时交易信号。我们设计了一个交互式网格界面,利用多种指标实现信号计算,并添加了关闭按钮。文章结尾将介绍回测结果以及该仪表盘在策略交易中的优势。
preview
创建MQL5交易管理员面板(第九部分):代码组织(1)

创建MQL5交易管理员面板(第九部分):代码组织(1)

这次将深入探讨处理大型代码库时遇到的挑战。我们将探索在MQL5中进行代码组织的最佳实践,并采用一种实用方法来提升我们交易管理面板源代码的可读性和可扩展性。此外,我们致力于开发可复用的代码组件,这些组件有可能为其他开发者在其算法开发过程中带来益处。请继续阅读并参与讨论。
preview
您应当知道的 MQL5 向导技术(第 37 部分):配以线性和 Matérn 内核的高斯过程回归

您应当知道的 MQL5 向导技术(第 37 部分):配以线性和 Matérn 内核的高斯过程回归

线性内核是机器学习中,针对线性回归和支持向量机所用的同类中最简单的矩阵。另一方面,Matérn 内核是我们在之前的文章中讲述的径向基函数的更普遍版本,它擅长映射不如 RBF 假设那样平滑的函数。我们构建了一个自定义信号类,即利用两个内核来预测做多和做空条件。
preview
利用 MQL5 经济日历进行交易(第四部分):在仪表盘中实现实时新闻更新

利用 MQL5 经济日历进行交易(第四部分):在仪表盘中实现实时新闻更新

本文通过实现实时新闻更新来增强我们的经济日历仪表盘,以保持市场信息的时效性和可操作性。我们在 MQL5 中集成了实时数据获取技术,以持续更新仪表盘上的事件,从而提升界面的响应速度。此更新优化确保我们可以直接从仪表盘获取最新的经济新闻,从而基于最新数据优化交易决策。
preview
交易中的神经网络:探索局部数据结构

交易中的神经网络:探索局部数据结构

在嘈杂的条件下有效识别和预存市场数据的局部结构是交易中的一项关键任务。运用自注意力机制在处理这类数据方面展现出可喜的结果;不过,经典方式并未考虑底层结构的局部特征。在本文中,我将引入一种能够协同这些结构依赖关系的算法。
preview
交易中的神经网络:降低锐度强化变换器效率(SAMformer)

交易中的神经网络:降低锐度强化变换器效率(SAMformer)

训练变换器模型需要大量数据,并且往往很困难,因为模型不擅长类推到小型数据集。SAMformer 框架通过避免糟糕的局部最小值来帮助解决这个问题。即使在有限的训练数据集上,也能提升模型的效率。
preview
在MQL5中构建自优化智能交易系统(第七部分):同时利用多个时间周期进行交易

在MQL5中构建自优化智能交易系统(第七部分):同时利用多个时间周期进行交易

在本系列文章中,我们已经探讨了多种确定技术指标最佳使用周期的方法。今天,我们将向读者展示如何反其道而行之,也就是我们不再局限于挑选一个最佳时间周期,而是演示如何有效地利用所有可用周期。这种方法减少了被剔除的数据量,并为机器学习算法提供了常规价格预测以外的应用场景。
preview
市场模拟(第三部分):性能问题

市场模拟(第三部分):性能问题

我们经常需要后退一步,然后继续前进。在本文中,我们将展示所有必要的更改,以确保鼠标和 Chart Trade 指标不会中断。作为奖励,我们还将介绍未来将广泛使用的其他头文件中发生的其他更改。
preview
神经网络变得简单(第 79 部分):在状态上下文中的特征聚合查询(FAQ)

神经网络变得简单(第 79 部分):在状态上下文中的特征聚合查询(FAQ)

在上一篇文章中,我们领略了一种从图像中检测对象的方法。不过,处理静态图像与处理动态时间序列(例如我们所分析的价格动态)有些不同。在本文中,我们将研究检测视频中对象的方法,其可在某种程度上更接近我们正在解决的问题。
preview
从基础到中级:SWITCH 语句

从基础到中级:SWITCH 语句

在本文中,我们将学习如何以最简单、最基本的形式使用 SWITCH 语句。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
数据科学和机器学习(第 38 部分):外汇市场中的 AI 迁移学习

数据科学和机器学习(第 38 部分):外汇市场中的 AI 迁移学习

从 ChatGPT 到自动驾驶汽车,这些占据头条的 AI 突破并非基于孤立模型,而是从各种模型或共同领域积累的知识转化而成。现在,同样“学一次,随处应用”的方式也可帮助我们在算法交易中变换人工智能模型。在本文中,我们会将探讨如何利用从各种工具获取的信息,帮助提升迁移学习的预测效果。
preview
MQL5 交易工具包(第 7 部分):使用最近取消的挂单函数扩展历史管理 EX5 库

MQL5 交易工具包(第 7 部分):使用最近取消的挂单函数扩展历史管理 EX5 库

了解如何完成历史管理 EX5 库中最终模块的创建,重点关注负责处理最近取消的挂单的函数。这将为您提供使用 MQL5 有效检索和存储与已取消挂单相关的关键详细信息的工具。
preview
名义变量的序数编码

名义变量的序数编码

在本文中,我们将讨论并演示如何使用Python和MQL5将名义预测变量转换为适合机器学习算法的数值格式。
preview
从基础到中级:数组(四)

从基础到中级:数组(四)

在本文中,我们将看看如何做一些与 C、C++ 和 Java 等语言中实现的非常相似的事情。我说的是在函数或过程中传递几乎无限数量的参数。虽然这似乎是一个相当高级的主题,但在我看来,任何理解了前面概念的人都可以很容易地实现这里展示的内容。只要它们真的被正确理解。
preview
从 MQL5 向 Discord 发送消息,创建 Discord-MetaTrader 5 机器人

从 MQL5 向 Discord 发送消息,创建 Discord-MetaTrader 5 机器人

与 Telegram 类似,Discord 可以使用其通信 API 以 JSON 格式接收信息和消息。在本文中,我们将探讨如何使用 Discord API 将 MetaTrader 5 的交易信号和更新发送到您的 Discord 交易社区。
preview
将互信息作为渐进特征选择的准则

将互信息作为渐进特征选择的准则

在本文中,我们展示了基于最优预测变量集与目标变量之间互信息渐进特征选择的MQL5实现。
preview
用Python构建一个远程外汇风险管理系统

用Python构建一个远程外汇风险管理系统

我们将用Python构建一个远程外汇风险管理系统,并逐步将其部署到服务器上。在本文中,我们将学习如何通过编程管理外汇风险,以及如何避免外汇账户资金再次损失殆尽。
preview
在 MQL5 中创建交易管理面板(第九部分):代码组织(三):通信模块

在 MQL5 中创建交易管理面板(第九部分):代码组织(三):通信模块

欢迎参与本次深度讨论,我们将揭示 MQL5 界面设计的最新进展,着重介绍重新设计的通信面板,并继续我们关于使用模块化原则构建新管理面板的系列文章。我们将逐步开发 CommunicationsDialog 类,并详细解释如何从 Dialog 类进行继承。此外,在我们的开发过程中,还将利用数组(arrays)和 ListView 类。获取可行的方案,以提升您的 MQL5 开发技能——请阅读本文,并在评论区加入讨论!
preview
神经网络实践:伪逆(I)

神经网络实践:伪逆(I)

今天,我们将开始探讨如何在纯MQL5语言中实现伪逆的计算。即将展示的代码对于初学者来说可能比我预期的要复杂得多,我还在思考如何以简单的方式解释它。所以,现在请将其视为学习一些不寻常代码的机会。请保持冷静和专注。虽然它并不旨在高效或快速应用,但其目标是尽可能具有教育意义。
preview
具有强化学习和灭绝失败个体的进化交易算法(ETARE)

具有强化学习和灭绝失败个体的进化交易算法(ETARE)

在本文中,我介绍了一种创新的交易算法,其针对外汇交易结合了进化算法与深度强化学习。该算法利用低效个体灭绝机制来优化交易策略。
preview
利用 MQL5 经济日历进行交易(第 8 部分):通过智能事件过滤和有针对性的日志来优化新闻驱动策略的回测

利用 MQL5 经济日历进行交易(第 8 部分):通过智能事件过滤和有针对性的日志来优化新闻驱动策略的回测

在本文中,我们利用智能事件过滤和有针对性的日志来优化我们的经济日历,以便在实时和离线模式下实现更快、更清晰的回测。我们简化了事件处理程序,并将日志集中在关键交易和仪表盘事件上,从而增强了策略的可视化效果。这些改进使得对新闻驱动型交易策略进行顺畅的测试和优化成为可能。
preview
基于Python与MQL5的特征工程(第三部分):价格角度(2)——极坐标(Polar Coordinates)法

基于Python与MQL5的特征工程(第三部分):价格角度(2)——极坐标(Polar Coordinates)法

在本文中,我们将第二次尝试将任意市场的价格水平变化转化为对应的角度变化。此次,我们选择了比首次尝试更具数学复杂性的方法,而获得的结果表明,这一调整或许是正确的决策。今天,让我们共同探讨如何通过极坐标以有意义的方式计算价格水平变化所形成的角度,无论您分析的是何种市场。
preview
Connexus观察者模式(第8部分):添加一个观察者请求

Connexus观察者模式(第8部分):添加一个观察者请求

在本系列文章的最后一篇中,我们探讨了观察者模式(Observer Pattern) 在Connexus库中的实现,同时对文件路径和方法名进行了必要的重构优化。该系列文章完整地记录了Connexus库的开发过程——这是一个专为简化复杂应用中的HTTP通信而设计的工具库。
preview
外汇套利交易:分析合成货币的走势及其均值回归

外汇套利交易:分析合成货币的走势及其均值回归

在本文中,我们将使用Python和MQL5来分析合成货币的走势,并探讨当今外汇套利的可行性。我们还会考虑现成的用于分析合成货币的Python代码,并分享更多关于外汇中合成货币是什么的细节。
preview
MQL5 简介(第 16 部分):利用技术图表形态构建 EA 交易

MQL5 简介(第 16 部分):利用技术图表形态构建 EA 交易

本文向初学者介绍如何构建一个 MQL5 EA 交易,该系统可以识别和交易经典的技术图表形态 —— 头肩顶形态。它涵盖了如何利用价格行为来检测形态,如何在图表上绘制形态,如何设置入场点、止损点和止盈点,以及如何根据形态自动执行交易。
preview
财经建模中合成数据的生成式对抗网络(GAN)(第 2 部分):创建测试合成品种

财经建模中合成数据的生成式对抗网络(GAN)(第 2 部分):创建测试合成品种

在本文中,我们将利用生成式对抗网络(GAN)创建一个合成品种,涉及生成逼真的财经数据,即模仿真实市场金融产品(例如 EURUSD)的行为。GAN 模型从历史市场数据中学习形态和波动性,并创建拥有相似特征的合成价格数据。
preview
从基础到中级:FOR 语句

从基础到中级:FOR 语句

在本文中,我们将了解 FOR 语句最基本的概念。了解这里将显示的所有内容非常重要。与我们迄今为止讨论的其他语句不同,FOR 语句有一些怪癖,很快就会变得非常复杂。所以不要让这样的事情堆积起来,尽快开始学习和练习。
preview
从基础到中级:浮点数

从基础到中级:浮点数

本文简要介绍浮点数的概念。由于这篇文章非常复杂,请仔细阅读,不要期望很快掌握浮点数系统。随着时间的推移,当你获得使用它的经验时,它才会变得清晰。但本文将帮助您理解为什么您的应用程序有时会产生与预期不同的结果。
preview
MQL5开发专属调试与性能分析工具(第一部分):高级日志记录

MQL5开发专属调试与性能分析工具(第一部分):高级日志记录

学习如何为MQL5实现一个强大的自定义日志框架,该框架超越简单的Print()语句,支持日志严重级别、多输出处理器和自动文件轮转——所有功能均可动态配置。将单例CLogger与ConsoleLogHandler(控制台日志处理器)和FileLogHandler(文件日志处理器)集成,在“Experts”选项卡和持续的文件中捕获带时间戳的内容日志。通过清晰、可定制的日志格式和集中控制,简化智能交易系统(EA)的调试与性能跟踪工作。
preview
交易中的神经网络:搭配区段注意力的参数效率变换器(终篇)

交易中的神经网络:搭配区段注意力的参数效率变换器(终篇)

在之前的工作中,我们讨论了 PSformer 框架的理论层面,其中包括经典变换器架构的两大创新:参数共享(PS)机制,以及时空区段注意力(SegAtt)。在本文中,我们继续实现所提议方式的 MQL5 版本。
preview
交易中的神经网络:二维连接空间模型(Chimera)

交易中的神经网络:二维连接空间模型(Chimera)

本文将探讨创新的 Chimera 框架:利用神经网络分析多元时间序列的二维状态空间模型。该方法具有高精度和低计算成本,优于传统方式和变换器架构。
preview
交易中的神经网络:基于 ResNeXt 模型的多任务学习

交易中的神经网络:基于 ResNeXt 模型的多任务学习

基于 ResNeXt 的多任务学习框架,优化了金融数据分析,可参考其高维度、非线性、和时间依赖性。使用分组卷积和专用头,令模型能有效从输入数据中提取关键特征。
preview
MQL5中的ARIMA预测指标

MQL5中的ARIMA预测指标

在这篇文章中,我们将在 MQL5 环境中实现一个 ARIMA 预测指标。文章深入探讨了 ARIMA 模型生成预测的机制,并分析了其在外汇市场乃至整个证券市场的适用性。此外,文章还详细阐释了什么是 AR 自回归模型,如何利用自回归模型进行预测,以及自回归机制的具体运作原理。
preview
迁移至 MQL5 Algo Forge(第 2 部分):使用多个存储库

迁移至 MQL5 Algo Forge(第 2 部分):使用多个存储库

在本文中,我们将探讨在公共存储库中组织项目源代码存储的一种可能的方法。我们将把代码分发到不同的分支,为项目开发建立清晰方便的规则。
preview
以 MQL5 实现强化分类任务的融汇方法

以 MQL5 实现强化分类任务的融汇方法

在本文中,我们讲述以 MQL5 实现若干融汇分类器,并讨论了它们在不同状况下的功效。
preview
开发回放系统(第 60 部分):玩转服务(一)

开发回放系统(第 60 部分):玩转服务(一)

很长一段时间以来,我们一直在研究指标,但现在是时候让服务重新工作了,看看图表是如何根据提供的数据构建的。然而,由于整个事情并没有那么简单,我们必须注意了解前方等待我们的是什么。