MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
神经网络变得简单(第 86 部分):U-形变换器

神经网络变得简单(第 86 部分):U-形变换器

我们继续研究时间序列预测算法。在本文中,我们将讨论另一种方法:U-形变换器。
preview
从基础到中级:数组和字符串(三)

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

本文从两个方面进行探讨。首先,标准库如何将二进制值转换为其他表示形式,如八进制、十进制和十六进制。其次,我们将讨论如何使用我们已经获得的知识,根据秘密短语确定密码的宽度。
preview
从基础到中级:模板和类型名称 (五)

从基础到中级:模板和类型名称 (五)

在本文中,我们将探讨模板的最后一个简单用例,并讨论在代码中使用 typename 的好处和必要性。虽然这篇文章乍一看可能有点复杂,但为了以后使用模板和 typename,正确理解它很重要。
preview
创建 MQL5-Telegram 集成 EA 交易(第 4 部分):模块化代码函数以增强可重用性

创建 MQL5-Telegram 集成 EA 交易(第 4 部分):模块化代码函数以增强可重用性

在本文中,我们将现有的用于从 MQL5 向 Telegram 发送消息和截图的代码重构为可重复使用的模块化函数。这将简化流程,实现跨多个实例的更高效执行和更轻松的代码管理。
preview
您应当知道的 MQL5 向导技术(第 49 部分):搭配近端政策优化的强化学习

您应当知道的 MQL5 向导技术(第 49 部分):搭配近端政策优化的强化学习

近端政策优化是强化学习中的另一种算法,通常以网络形式以非常小的增量步幅更新政策,以便确保模型的稳定性。我们以向导汇编的智能系统来试验其作用,如同我们之前的文章一样。
preview
开发回放系统(第 66 部分):玩转服务(七)

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

在本文中,我们将实现第一个解决方案,该解决方案使我们能够确定何时在图表上出现新的柱形。此解决方案适用于各种情况。了解它的发展将有助于你掌握几个重要方面。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
群体算法的混合 -顺序结构和并行结构

群体算法的混合 -顺序结构和并行结构

在这里,我们将深入探讨优化算法混合的三个主要类型:策略混合、顺序混合和并行混合。我们将结合并测试相关的优化算法进行一系列实验。
preview
您应当知道的 MQL5 向导技术(第 52 部分):加速器振荡器

您应当知道的 MQL5 向导技术(第 52 部分):加速器振荡器

加速器振荡指标是另一款比尔·威廉姆斯(Bill Williams)指标,它跟踪价格动量的加速,而不光是其速度。尽管很像我们在最近的一篇文章中回顾的动量(Awesome)振荡器,但它更专注于加速度,而不仅是速度,来寻求避免滞后效应。我们一如既往地验证我们可从中获得哪些形态,以及每种形态由向导汇编到智能交易系统后,在交易中具有的意义。
preview
您应当知道的 MQL5 向导技术(第 18 部分):配合本征向量进行神经架构搜索

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

神经架构搜素,是一种判定理想神经网络设置的自动化方式,在面对许多选项和大型测试数据集时可能是一个加分项。我们试验了当本征向量搭配时,如何令这个过程更加高效。
preview
您应当知道的 MQL5 向导技术(第 51 部分):配以 SAC 的强化学习

您应当知道的 MQL5 向导技术(第 51 部分):配以 SAC 的强化学习

柔性参与者评论者是一种利用 3 个神经网络的强化学习算法。一名参与者网络和 2 个评论者网络。这些机器学习模型按主从伙伴关系配对,其中所建模评论者能提升参与者网络的预测准确性。在这些序列中引入 ONNX 的同时,我们探讨了如何将这些思路作为由向导汇编的智能系统的自定义信号,推进测试。
preview
数据科学和机器学习(第 32 部分):保持您的 AI 模型更新,在线学习

数据科学和机器学习(第 32 部分):保持您的 AI 模型更新,在线学习

在瞬息万变的交易世界中,适应市场变化不仅是一种选择 — 而且是一种必要。每天都有新的形态和趋势出现,即使是最先进的机器学习模型,也难以面对不断变化的条件保持有效。在本文中,我们将探讨如何通过自动重训练,令您的模型保持相关性、及对新市场数据的响应能力。
preview
您应当知道的 MQL5 向导技术(第 50 部分):动量振荡器

您应当知道的 MQL5 向导技术(第 50 部分):动量振荡器

动量振荡器是另一个用于衡量动量的比尔·威廉姆斯(Bill Williams)指标。它能生成多个信号,因此我们像之前的文章一样,利用 MQL5 向导类和汇编,在形态基础上审查这些信号。
preview
您应当知道的 MQL5 向导技术(第 29 部分):继续学习率与 MLP

您应当知道的 MQL5 向导技术(第 29 部分):继续学习率与 MLP

我们主要验证自适应学习率,圆满考察学习率对智能系统性能的敏感性。这些学习率旨在在训练过程中针对层中的每个参数进行自定义,故我们评估潜在收益相较于预期的性能损失。
preview
开发回放系统(第 67 部分):完善控制指标

开发回放系统(第 67 部分):完善控制指标

在本文中,我们将看看通过一点代码改进可以实现什么。这一改进旨在简化我们的代码,更多地使用 MQL5 库调用,最重要的是,使其在我们未来可能开发的其他项目中更加稳定、安全和易于使用。
preview
您应当知道的 MQL5 向导技术(第 23 部分):CNNs

您应当知道的 MQL5 向导技术(第 23 部分):CNNs

卷积神经网络是另一种机器学习算法,倾向于专门将多维数据集分解为关键组成部分。我们看看典型情况下这是如何达成的,并探索为交易者在其它 MQL5 向导信号类中的可能应用。
preview
在 MQL5 中提升数值预测的集成方法

在 MQL5 中提升数值预测的集成方法

在本文中,我们展示了在 MQL5 中实现多种集成学习方法,并检验了它们在不同场景下的有效性。
preview
从基础到中级:变量(II)

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

今天,我们将探讨如何使用静态变量。这个问题常常让许多程序员感到困惑,无论是初学者还是有一定经验的开发者,因为使用这一机制时需要遵循一些特定的建议。本文旨在为教学目的提供材料。在任何情况下,应用程序都应仅用于学习和掌握所介绍的概念。
preview
将 MQL5 与数据处理包集成 (第 2 部分):机器学习和预测分析

将 MQL5 与数据处理包集成 (第 2 部分):机器学习和预测分析

在我们关于将 MQL5 与数据处理包集成的系列文章中,我们深入研究了机器学习和预测分析的强大组合。我们将探索如何将 MQL5 与流行的机器学习库无缝连接,以便为金融市场提供复杂的预测模型。
preview
时间演化旅行算法(TETA)

时间演化旅行算法(TETA)

这是我自己的算法。本文表阐述受平行宇宙和时间流概念启发的时间演化旅行算法(TETA)。该算法的基本思路是,尽管传统意义上的时间旅行是不可能的,但我们能够选择一系列事件来导致不同的现实。
preview
价格行为分析工具包开发(第九部分):外部数据流

价格行为分析工具包开发(第九部分):外部数据流

本文将利用专为高级分析而设计的外部库,探索一个全新的分析维度。这些库(如pandas)提供了强大的工具,用于处理和解读复杂数据,使交易者能够更深入地洞察市场动态。通过整合此类技术,我们能够整合原始数据与可执行策略之间的差距。加入我们,共同为这一创新方法奠定基础,并释放技术与交易专业知识相结合的潜力。
preview
从基础到中级:按值传递还是按引用传递

从基础到中级:按值传递还是按引用传递

在本文中,我们将实际了解按值传递和按引用传递之间的区别。虽然这看起来很简单,很常见,不会造成任何问题,但许多经验丰富的程序员经常因为这个小细节而在处理代码时遇到真正的失败。知道何时、如何以及为什么使用按值传递或按引用传递将对我们作为程序员的生活产生巨大的影响。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
开发回放系统(第 73 部分):不寻常的通信(二)

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

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

开发回放系统(第 78 部分):新 Chart Trade(五)

在本文中,我们将研究如何实现部分接收方代码。在这里我们将实现一个 EA 交易来测试和了解协议交互是如何工作的。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
交易中的神经网络:通过Adam-mini优化减少内存消耗

交易中的神经网络:通过Adam-mini优化减少内存消耗

提高模型训练和收敛效率的一个方向是改进优化方法。Adam-mini是一种自适应优化方法,旨在改进基础的Adam算法。
preview
从基础到中级:模板和类型名称(一)

从基础到中级:模板和类型名称(一)

在本文中,我们开始考虑许多初学者避免的概念之一。这与模板不是一个容易的话题有关,因为许多人不理解模板的基本原理:函数和过程的重载。
preview
开发回放系统(第 64 部分):玩转服务(五)

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

在本文中,我们将介绍如何修复代码中的两个错误。然而,我将尝试以一种有助于初学者程序员理解事情并不总是如你所愿的方式解释它们。无论如何,这是一个学习的机会。此处提供的内容仅用于教育目的。本应用程序不应被视为最终文件,其目的除了探讨所提出的概念之外,不应有任何其它用途。
preview
交易中的神经网络:免掩码注意力方式预测价格走势

交易中的神经网络:免掩码注意力方式预测价格走势

在本文中,我们将讨论免掩码注意力变换器(MAFT)方法,及其在交易领域的应用。不同于传统的变换器,即处理序列时需要数据掩码,MAFT 通过消除掩码需求来优化注意力过程,显著改进了计算效率。
preview
群体算法的基类作为高效优化的支柱

群体算法的基类作为高效优化的支柱

该文章代表了一种独特的研究尝试,旨在将多种群体算法组合成一个类,以简化优化方法的应用。这种方法不仅为开发新算法(包括混合变体)开辟了机会,而且还创建了一个通用的基本测试平台。它成为根据特定任务选择最佳算法的关键工具。
preview
探索达瓦斯箱体突破策略中的高级机器学习技术

探索达瓦斯箱体突破策略中的高级机器学习技术

达瓦斯箱体突破策略由尼古拉斯·达瓦斯(Nicolas Darvas)提出,是一种技术交易方法:当股价突破预设的"箱体"区间上沿时,视为潜在买入信号,表明强劲的上升动能。本文将以该策略为例,探讨三种高级机器学习技术的应用。其中包括:利用机器学习模型直接生成交易信号(而非仅过滤交易);采用连续型信号(而非离散型信号);使用基于不同时间框架训练的模型进行交易验证。
preview
交易中的神经网络:受控分段(终章)

交易中的神经网络:受控分段(终章)

我们继续上一篇文章中开启的工作,使用 MQL5 构建 RefMask3D 框架。该框架旨在全面研究点云中的多模态互动和特征分析,随后基于自然语言提供的描述进行目标对象识别。
preview
交易中的神经网络:受控分段

交易中的神经网络:受控分段

在本文中。我们将讨论一种复杂的多模态交互分析和特征理解的方法。
preview
交易中的神经网络:超点变换器(SPFormer)

交易中的神经网络:超点变换器(SPFormer)

在本文中,我们概述一种基于“超点变换器”(SPFormer) 的三维物体分段方法,其剔除了对中间数据聚合的需求。这加快了分段过程,并提高了模型的性能。
preview
使用 MQL5 经济日历进行交易(第三部分):添加货币、重要性和时间过滤器

使用 MQL5 经济日历进行交易(第三部分):添加货币、重要性和时间过滤器

在本文中,我们将在 MQL5 经济日历仪表板中添加过滤器,以便通过货币、重要性和时间来细化新闻事件的显示。我们首先为每个类别建立过滤标准,然后将这些标准集成到仪表板中,以仅显示相关事件。最后,我们确保每个过滤器都能动态更新,为交易者提供专注的、实时的经济信息。
preview
MQL5 交易工具包(第 5 部分):使用仓位函数扩展历史管理 EX5 库

MQL5 交易工具包(第 5 部分):使用仓位函数扩展历史管理 EX5 库

了解如何创建可导出的 EX5 函数,以高效查询和保存历史仓位数据。在本分步指南中,我们将通过开发检索最近平仓的关键属性的模块来扩展历史管理 EX5 库。这些属性包括净利润、交易持续时间、基于点的止损、止盈、利润值以及其他各种重要细节。
preview
重构经典策略(第十四部分):高胜率交易形态

重构经典策略(第十四部分):高胜率交易形态

高胜率交易形态在交易圈内广为人知,但遗憾的是,其定义始终缺乏明确标准。本文将通过实证研究与算法建模,为高胜率形态构建量化定义框架,并探索其识别与运用方法。借助梯度提升树模型,我们演示如何系统性优化任意交易策略的性能,同时以更精准、可解释的方式向计算机传达交易指令的核心逻辑。
preview
在任何市场中获得优势(第三部分):Visa消费指数

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

在大数据的世界里,有数以百万计的备选数据集,它们有可能提升我们的交易策略。在这一系列文章中,我们将帮助您识别最有信息量的公开数据集。
preview
矩阵分解:更实用的建模

矩阵分解:更实用的建模

您可能没有注意到,矩阵建模有点奇怪,因为只指定了列,而不是行和列。在阅读执行矩阵分解的代码时,这看起来非常奇怪。如果您希望看到列出的行和列,那么在尝试分解时可能会感到困惑。此外,这种矩阵建模方法并不是最好的。这是因为当我们以这种方式对矩阵建模时,会遇到一些限制,迫使我们使用其他方法或函数,而如果以更合适的方式建模,这些方法或函数是不必要的。
preview
基于主成分的特征选择与降维

基于主成分的特征选择与降维

本文深入探讨了改进型前向选择成分分析(Forward Selection Component Analysis,FSCA)算法的实现,该算法灵感源自Luca Puggini和Sean McLoone在《前向选择成分分析:算法与应用》一文中所提出的研究。
preview
循环孤雌生殖算法(CPA)

循环孤雌生殖算法(CPA)

本文提出了一种新的群体优化算法——循环孤雌生殖算法(CPA),其灵感源自蚜虫独特的生殖策略。该算法融合了两种生殖机制:孤雌生殖(无性繁殖)与有性生殖,并借助蚜虫的群体结构以及群体间的迁徙能力。算法的核心特点包括:在不同生殖策略之间自适应切换和通过“迁飞”机制实现群体间的信息交换。
preview
您应当知道的 MQL5 向导技术(第 34 部分):采用非常规 RBM 进行价格嵌入

您应当知道的 MQL5 向导技术(第 34 部分):采用非常规 RBM 进行价格嵌入

受限玻尔兹曼(Boltzmann)机是一种神经网络形式,开发于 1980 年代中叶,当时的计算资源非常昂贵。在其初创时,它依赖于 Gibbs 采样,以及对比散度来降低维度,或捕获输入训练数据集上的隐藏概率/属性。我们验证当 RBM 为预测多层感知器“嵌入”价格时,反向传播如何执行类似的操作。