MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
Connexus观察者模式(第8部分):添加一个观察者请求

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

在本系列文章的最后一篇中,我们探讨了观察者模式(Observer Pattern) 在Connexus库中的实现,同时对文件路径和方法名进行了必要的重构优化。该系列文章完整地记录了Connexus库的开发过程——这是一个专为简化复杂应用中的HTTP通信而设计的工具库。
preview
从基础到中级:IF ELSE

从基础到中级:IF ELSE

在本文中,我们将讨论如何使用 IF 操作符及其伴随者 ELSE。这个语句是所有编程语言中最为重要且最有意义的语句。然而,尽管它易于使用,但如果我们没有使用它的经验以及与之相关的概念,它有时会令人困惑。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
从基础到中级:数组和字符串(一)

从基础到中级:数组和字符串(一)

在今天的文章中,我们将开始探索一些特殊的数据类型。首先,我们将定义什么是字符串,并解释如何使用一些基本过程。这将使我们能够处理这类数据,这可能很有趣,尽管有时对初学者来说有点困惑。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
开发回放系统(第 73 部分):不寻常的通信(二)

开发回放系统(第 73 部分):不寻常的通信(二)

在本文中,我们将探讨如何在指标和服务之间实时传输信息,并了解为什么在更改时间框架时可能会出现问题以及如何解决这些问题。作为奖励,您将可以访问回放/模拟应用程序的最新版本。
preview
Connexus助手(第五部分):HTTP方法和状态码

Connexus助手(第五部分):HTTP方法和状态码

在本文中,我们将了解HTTP方法和状态码,这是网络上客户端与服务器之间通信的两个非常重要的部分。了解每种方法的作用,可以让您更精确地发出请求,告知服务器您想要执行的操作,从而提高效率。
preview
在MQL5中创建交易管理员面板(第七部分):可信任用户、密码恢复与加密技术

在MQL5中创建交易管理员面板(第七部分):可信任用户、密码恢复与加密技术

每次刷新图表、通过管理面板EA添加新交易品种或重启终端时触发的安全提示,可能会让人感觉繁琐。在本次讨论中,我们将探索并实现一项功能,该功能通过跟踪登录尝试次数来识别可信用户。在达到一定次数的失败尝试后,应用程序将切换至高级登录流程,该流程还为可能忘记密码的用户提供密码恢复功能。此外,我们还将介绍如何将加密技术有效集成到管理面板中,以增强安全性。
preview
从基础到中级:FOR 语句

从基础到中级:FOR 语句

在本文中,我们将了解 FOR 语句最基本的概念。了解这里将显示的所有内容非常重要。与我们迄今为止讨论的其他语句不同,FOR 语句有一些怪癖,很快就会变得非常复杂。所以不要让这样的事情堆积起来,尽快开始学习和练习。
preview
开发回放系统(第 60 部分):玩转服务(一)

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

很长一段时间以来,我们一直在研究指标,但现在是时候让服务重新工作了,看看图表是如何根据提供的数据构建的。然而,由于整个事情并没有那么简单,我们必须注意了解前方等待我们的是什么。
preview
将 MQL5 与数据处理包集成(第 3 部分):增强的数据可视化

将 MQL5 与数据处理包集成(第 3 部分):增强的数据可视化

在本文中,我们将通过结合交互性、分层数据和动态元素等功能,超越基本图表,实现增强的数据可视化,使交易者能够更有效地探索趋势、形态和相关性。
preview
交易中的神经网络:降低锐度强化变换器效率(终章)

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

SAMformer 为长期时间序列预测中变换器模型的主要缺点,譬如训练复杂性,及小型数据集的普适能力差,提供了解决方案。其浅层架构和锐度感知优化有助于避免次优的局部最小值。在本文中,我们将继续利用 MQL5 实现方式,并评估其实用价值。
preview
从基础到中级:联合(一)

从基础到中级:联合(一)

在这篇文章中,我们将探讨什么是联合。在这里,通过实验,我们将分析可以使用联合的第一种构造。然而,这里展示的只是后续文章将涵盖的一组概念和信息的核心部分。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
因果网络分析(CNA)、随机模型最优控制(SMOC)和纳什博弈论结合深度学习的示例

因果网络分析(CNA)、随机模型最优控制(SMOC)和纳什博弈论结合深度学习的示例

我们将向之前发布的文章中的三个例子里加入深度学习,并与之前的版本进行比较。目标是学习如何将深度学习(DL)应用于其他EA。
preview
Connexus请求解析(第六部分):创建HTTP请求与响应

Connexus请求解析(第六部分):创建HTTP请求与响应

在Connexus库系列文章的第六篇中,我们将聚焦于完整的HTTP请求,涵盖构成请求的各个组件。我们将创建一个表示整个请求的类,这将有助于将之前创建的各个类整合在一起。
preview
从基础到中级:数组(四)

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

在本文中,我们将看看如何做一些与 C、C++ 和 Java 等语言中实现的非常相似的事情。我说的是在函数或过程中传递几乎无限数量的参数。虽然这似乎是一个相当高级的主题,但在我看来,任何理解了前面概念的人都可以很容易地实现这里展示的内容。只要它们真的被正确理解。
preview
迁移至 MQL5 Algo Forge(第 1 部分):创建主存储库

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

在 MetaEditor 中处理项目时,开发人员经常需要管理代码版本。MetaQuotes 最近宣布迁移到 GIT,并推出具有代码版本控制和协作功能的 MQL5 Algo Forge。在本文中,我们将讨论如何更有效地使用新的和以前存在的工具。
preview
基于通用 MLP 逼近器的EA

基于通用 MLP 逼近器的EA

本文介绍了一种在交易 EA 中使用神经网络的简单且易于实现的方法,该方法不需要深厚的机器学习知识。该方法免除了对目标函数进行归一化的步骤,同时克服了“权重爆炸”和“网络停滞”等问题,并提供了直观的训练过程和结果的可视化控制。
preview
《精通日志记录(第二部分):格式化日志》

《精通日志记录(第二部分):格式化日志》

在本文中,我们将探讨如何在类库中创建和应用日志格式化工具。我们将从格式化工具的基本结构讲起,一直到样例的实现。到本文结束时,您将掌握在该库中格式化日志的必要知识,并理解其背后的工作原理。
preview
从基础到中级:数组(一)

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

本文是迄今为止所讨论的内容与新的研究阶段之间的过渡。要理解这篇文章,您需要阅读前面的文章。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
使用 LSTM 神经网络创建时间序列预测:规范化价格和令牌化时间

使用 LSTM 神经网络创建时间序列预测:规范化价格和令牌化时间

本文概述了一种使用每日范围对市场数据进行归一化并训练神经网络以增强市场预测的简单策略。开发的模型可以与现有的技术分析框架结合使用,也可以单独使用,以帮助预测整体市场方向。任何技术分析师都可以进一步完善本文中概述的框架,以开发适用于手动和自动交易策略的模型。
preview
开发回放系统(第 71 部分):取得正确的时间(四)

开发回放系统(第 71 部分):取得正确的时间(四)

在本文中,我们将研究如何实现上一篇文章中所示的与回放/模拟服务相关的内容。就像生活中的许多其他事情一样,问题必然会出现。这次的情况也不例外。在这篇文章中,我们将继续改进。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
开发回放系统(第 74 部分):新 Chart Trade(一)

开发回放系统(第 74 部分):新 Chart Trade(一)

在本文中,我们将修改本系列关于 Chart Trade 中显示的最后一段代码。这些变化对于使代码适应当前的回放/模拟系统模型是必要的。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
在MQL5中实现基于经济日历新闻事件的突破型智能交易系统(EA)

在MQL5中实现基于经济日历新闻事件的突破型智能交易系统(EA)

重大经济数据发布前后市场波动率通常显著上升,为突破交易策略提供了理想的环境。在本文中,我们将阐述基于经济日历的突破策略的实现过程。我们将全面覆盖从创建用于解析和存储日历数据的类,到利用这些数据开发符合实际的回测系统,最终实现实盘交易执行代码的完整流程。
preview
从基础到中级:运算符优先级

从基础到中级:运算符优先级

这绝对是纯理论上最难解释的问题。这就是为什么你需要练习我们在这里讨论的所有内容。虽然这起初看起来很简单,但操作符的话题只有在实践中结合不断的教育才能理解。
preview
使用MQL5和Python集成经纪商API与智能交易系统

使用MQL5和Python集成经纪商API与智能交易系统

在本文中,我们将探讨如何将MQL5与Python相结合,以执行与经纪商相关的操作。想象一下,您有一个持续运行的智能交易系统(EA),它托管在虚拟专用服务器(VPS)上,并代表您执行交易。在某个阶段,EA 管理资金的能力变得至关重要。这包括为您的交易账户入金和发起出金等操作。在本文中,我们将阐明这些功能的优势和具体实现方法,从而确保将资金管理无缝地集成到您的交易策略中。敬请关注!
preview
掌握 MQL5:从入门到精通(第六部分):开发 EA 交易的基础知识

掌握 MQL5:从入门到精通(第六部分):开发 EA 交易的基础知识

本文继续针对初学者的系列文章。在这里我们将讨论开发 EA 交易的基本原则。我们将创建两个 EA:第一个 EA 不使用指标进行交易,使用挂单,第二个 EA 将基于标准 MA 指标,以当前价格开仓。在这里,我假设你不再是一个完全的初学者,并且对前几篇文章中的材料有相对较好的掌握。
preview
从基础到中级:数组和字符串(二)

从基础到中级:数组和字符串(二)

在本文中,我将展示,尽管我们仍处于编程的一个非常基本的阶段,但我们已经可以实现一些有趣的应用程序。在这种情况下,我们将创建一个相当简单的密码生成器。通过这种方式,我们将能够应用到目前为止已经解释过的一些概念。此外,我们将研究如何为一些具体问题制定解决方案。
preview
开发回放系统(第 75 部分):新 Chart Trade(二)

开发回放系统(第 75 部分):新 Chart Trade(二)

在本文中,我们将讨论 C_ChartFloatingRAD 类。这就是 Chart Trade 发挥作用的原因。然而,解释并未就此结束,我们将在下一篇文章中完成它,因为这篇文章的内容相当广泛,需要深入理解。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
日志记录精通指南(第三部分):探索日志处理器(Handlers)实现方案

日志记录精通指南(第三部分):探索日志处理器(Handlers)实现方案

在本文中,我们将探索日志库中"处理器"(handlers)的概念,理解其工作原理,并创建三种基础实现:控制台、数据库和文件。我们将覆盖从处理器的基本结构到实际测试,为后续文章中的完整功能实现奠定基础。