MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
人工协作搜索算法 (ACS)

人工协作搜索算法 (ACS)

人工协作搜索算法ACS (Artificial Cooperative Search) 是一种创新方法,它利用二进制矩阵和基于互利共生与合作的多个动态种群来快速准确地找到最优解。ACS在捕食者与猎物问题上的独特处理方法使其能够在数值优化问题中取得卓越成果。
preview
掌握 MQL5:从入门到精通(第五部分):基本控制流操作符

掌握 MQL5:从入门到精通(第五部分):基本控制流操作符

本文探讨了用于修改程序执行流程的关键操作符:条件语句、循环和 switch 语句。利用这些操作符将使我们创建的函数表现得更加“智能”。
preview
矩阵分解:更实用的建模

矩阵分解:更实用的建模

您可能没有注意到,矩阵建模有点奇怪,因为只指定了列,而不是行和列。在阅读执行矩阵分解的代码时,这看起来非常奇怪。如果您希望看到列出的行和列,那么在尝试分解时可能会感到困惑。此外,这种矩阵建模方法并不是最好的。这是因为当我们以这种方式对矩阵建模时,会遇到一些限制,迫使我们使用其他方法或函数,而如果以更合适的方式建模,这些方法或函数是不必要的。
preview
神经网络变得简单(第 91 部分):频域预测(FreDF)

神经网络变得简单(第 91 部分):频域预测(FreDF)

我们继续探索时间序列在频域中的分析和预测。在本文中,我们将领略一种在频域中预测数据的新方法,它可被加到我们之前研究过的众多算法当中。
preview
使用MQL5和Python构建自优化的EA(第四部分):模型堆叠

使用MQL5和Python构建自优化的EA(第四部分):模型堆叠

今天,我们将展示如何构建能够从自身错误中学习的AI驱动的交易应用程序。我们将展示一种称为堆叠(stacking)的技术,我们使用2个模型来做出1个预测。第一个模型通常是较弱的学习器,而第二个模型通常是更强大的模型,它学习较弱学习器的残差。我们的目标是创建一个模型集成,以期获得更高的准确性。
preview
HTTP和Connexus(第2部分):理解HTTP架构和库设计

HTTP和Connexus(第2部分):理解HTTP架构和库设计

本文探讨了HTTP协议的基础知识,涵盖了主要方法(GET、POST、PUT、DELETE)、状态码以及URL的结构。此外,还介绍了Conexus库的构建起点,以及CQueryParam和CURL类,这些类用于在HTTP请求中操作URL和查询参数。
preview
开发基于订单簿的交易系统(第一部分):指标

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

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

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

我们将解决图表 ID 问题,同时开始为用户提供使用个人模板对所需资产进行分析和模拟的能力。此处提供的材料仅用于教学目的,不应被视为除学习和掌握所提供概念以外的任何目的的应用。
preview
在MQL5中创建交易管理员面板(第二部分):增强响应性和快速消息传递

在MQL5中创建交易管理员面板(第二部分):增强响应性和快速消息传递

在本文中,我们将增强之前创建过的管理面板的响应性。此外,我们还将探讨在交易信号背景下快速消息传递的重要性。
preview
开发回放系统(第 54 部分):第一个模块的诞生

开发回放系统(第 54 部分):第一个模块的诞生

在本文中,我们将探讨如何将多个真正功能模块中的第一个组合在一起,用于回放/模拟器系统,这些模块也将用于其他用途。我们现在说的是鼠标模块。
preview
开发回放系统(第 47 部分):Chart Trade 项目(六)

开发回放系统(第 47 部分):Chart Trade 项目(六)

最后,我们的 Chart Trade 指标开始与 EA 互动,以交互方式传输信息。因此,在本文中,我们将对该指标进行改进,使其功能足以与任何 EA 配合使用。这样,我们就可以访问 Chart Trade 指标,并像实际连接 EA 一样使用它。不过,我们将以比以前更有趣的方式来实现这一目标。
preview
从基础到中级:Include 指令

从基础到中级:Include 指令

在今天的文章中,我们将讨论一个在 MQL5 中可以找到的各种代码中广泛使用的编译指令。虽然这里对这个指令的解释相当肤浅,但重要的是你要开始了解如何使用它,因为随着你进入更高层次的编程,它很快就会变得不可或缺。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
Connexus的头(第三部分):掌握HTTP请求头的使用方法

Connexus的头(第三部分):掌握HTTP请求头的使用方法

我们继续开发Connexus库。在本章中,我们探讨HTTP协议中请求头的概念,解释它们是什么、它们的用途以及如何在请求中使用它们。我们将涵盖用于与API通信的主要头信息,并展示了如何在库中配置它们的实例。
preview
在MQL5中创建交易管理员面板(第三部分):通过视觉样式设计增强图形用户界面(1)

在MQL5中创建交易管理员面板(第三部分):通过视觉样式设计增强图形用户界面(1)

在本文中,我们将专注于使用MQL5为交易管理员面板的图形用户界面(GUI)进行视觉样式设计与优化。我们将探讨MQL5中可用的各种技术和功能,这些技术和功能允许对界面进行定制和优化,确保它既能满足交易者的需求,又能保持吸引人的外观。
preview
基于MQL5和Python的自优化EA(第五部分):深度马尔可夫模型

基于MQL5和Python的自优化EA(第五部分):深度马尔可夫模型

在本次讨论中,我们将把一个简单的马尔可夫链应用于相对强弱指标(RSI),以观察指标穿过关键水平后的价格行为。我们得出结论,当RSI处于11-20区间时,会产生最强的买入信号;而当RSI处于71-80区间时,会产生最强的卖出信号,这在新西兰元兑日元(NZDJPY)货币对上表现得尤为明显。我们将展示如何通过对数据的处理和分析,直接从您所拥有的数据中构建出最优的交易策略。此外,我们还将展示如何训练一个深度神经网络,使其能够最优地利用转移矩阵。
preview
开发回放系统(第 62 部分):玩转服务(三)

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

在本文中,我们将开始解决在使用真实数据时可能影响应用程序性能的分时报价过量问题。这种过量通常会干扰在相应窗口构建一分钟柱形所需的正确时间。
preview
开发回放系统(第 55 部分):控制模块

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

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

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

今天,我们将探讨如何使用静态变量。这个问题常常让许多程序员感到困惑,无论是初学者还是有一定经验的开发者,因为使用这一机制时需要遵循一些特定的建议。本文旨在为教学目的提供材料。在任何情况下,应用程序都应仅用于学习和掌握所介绍的概念。
preview
适应性社会行为优化(ASBO):两阶段演变

适应性社会行为优化(ASBO):两阶段演变

我们继续探讨生物体的社会行为及其对新数学模型 ASBO(适应性社会行为优化)开发的影响。我们将深入研究两阶段演变,测试算法并得出结论。正如在自然界中,一群生物体共同努力生存一样,ASBO 使用集体行为原理来解决复杂的优化问题。
preview
您应当知道的 MQL5 向导技术(第 18 部分):配合本征向量进行神经架构搜索

您应当知道的 MQL5 向导技术(第 18 部分):配合本征向量进行神经架构搜索

神经架构搜素,是一种判定理想神经网络设置的自动化方式,在面对许多选项和大型测试数据集时可能是一个加分项。我们试验了当本征向量搭配时,如何令这个过程更加高效。
preview
开发回放系统(第 63 部分):玩转服务(四)

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

在本文中,我们将最终解决一分钟柱形上的分时报价模拟问题,以便它们能够与真实分时报价共存。这将帮助我们避免将来出现问题。此处提供的材料仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
重构MQL5中的经典策略(第三部分):富时100指数预测

重构MQL5中的经典策略(第三部分):富时100指数预测

在本系列文章中,我们将重新审视一些知名的交易策略,以探究是否可以利用AI来改进这些策略。在今天的文章中,我们将研究富时100指数,并尝试使用构成该指数的部分个股来预测该指数。
preview
在任何市场中获得优势(第三部分):Visa消费指数

在任何市场中获得优势(第三部分):Visa消费指数

在大数据的世界里,有数以百万计的备选数据集,它们有可能提升我们的交易策略。在这一系列文章中,我们将帮助您识别最有信息量的公开数据集。
preview
在MQL5中创建交易管理员面板(第四部分):登录安全层

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

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

从基础到中级:WHILE 和 DO WHILE 语句

在本文中,我们将对第一个循环语句进行实用且非常直观的介绍。尽管许多初学者在面对创建循环的任务时感到害怕,但知道如何正确安全地完成它只能通过经验和练习来实现。但谁知道呢,也许我可以通过向你展示在代码中使用循环时的主要问题和预防措施来减少你的麻烦和痛苦。
preview
从基础到中级:IF ELSE

从基础到中级:IF ELSE

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

在Python和MQL5中应用局部特征选择

本文探讨了Narges Armanfard等人在论文《数据分类的局部特征选择》中介绍的一种特征选择算法。该算法使用Python实现,用于构建二元分类器模型,这些模型可以与MetaTrader 5应用程序集成以进行推理。
preview
Connexus中的正文(第四部分):添加HTTP请求正文

Connexus中的正文(第四部分):添加HTTP请求正文

在本文中,我们探讨了HTTP请求中的正文概念,这对于发送诸如JSON和纯文本之类的数据至关重要。我们讨论并解释了如何正确地使用正文,并结合适当的头部信息。此外,我们还介绍了Connexus库中的ChttpBody类,它将简化对请求正文的处理。
preview
开发回放系统(第 60 部分):玩转服务(一)

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

很长一段时间以来,我们一直在研究指标,但现在是时候让服务重新工作了,看看图表是如何根据提供的数据构建的。然而,由于整个事情并没有那么简单,我们必须注意了解前方等待我们的是什么。
preview
因果网络分析(CNA)、随机模型最优控制(SMOC)和纳什博弈论结合深度学习的示例

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

我们将向之前发布的文章中的三个例子里加入深度学习,并与之前的版本进行比较。目标是学习如何将深度学习(DL)应用于其他EA。
preview
使用 LSTM 神经网络创建时间序列预测:规范化价格和令牌化时间

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

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