MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
斐波那契(Fibonacci)数列在外汇交易中的应用(第一部分):探究价格与时间的关系

斐波那契(Fibonacci)数列在外汇交易中的应用(第一部分):探究价格与时间的关系

市场如何遵循基于斐波那契数列的关系?在斐波那契数列中,每个后续数字都等于前两个数字之和(1, 1, 2, 3, 5, 8, 13, 21……),该数列不仅描述了兔子种群的增长情况。我们将考虑毕达哥拉斯的假设,即世间万物都遵循某种数字关系……
preview
创建MQL5交易管理员面板(第九部分):代码组织(1)

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

这次将深入探讨处理大型代码库时遇到的挑战。我们将探索在MQL5中进行代码组织的最佳实践,并采用一种实用方法来提升我们交易管理面板源代码的可读性和可扩展性。此外,我们致力于开发可复用的代码组件,这些组件有可能为其他开发者在其算法开发过程中带来益处。请继续阅读并参与讨论。
preview
从基础到中级:数组(一)

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

本文是迄今为止所讨论的内容与新的研究阶段之间的过渡。要理解这篇文章,您需要阅读前面的文章。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
从基础到中级:运算符优先级

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

这绝对是纯理论上最难解释的问题。这就是为什么你需要练习我们在这里讨论的所有内容。虽然这起初看起来很简单,但操作符的话题只有在实践中结合不断的教育才能理解。
preview
交易中的神经网络:搭配区段注意力的参数效率变换器(终篇)

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

在之前的工作中,我们讨论了 PSformer 框架的理论层面,其中包括经典变换器架构的两大创新:参数共享(PS)机制,以及时空区段注意力(SegAtt)。在本文中,我们继续实现所提议方式的 MQL5 版本。
preview
具有强化学习和灭绝失败个体的进化交易算法(ETARE)

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

在本文中,我介绍了一种创新的交易算法,其针对外汇交易结合了进化算法与深度强化学习。该算法利用低效个体灭绝机制来优化交易策略。
preview
基于Python与MQL5的特征工程(第三部分):价格角度(2)——极坐标(Polar Coordinates)法

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

在本文中,我们将第二次尝试将任意市场的价格水平变化转化为对应的角度变化。此次,我们选择了比首次尝试更具数学复杂性的方法,而获得的结果表明,这一调整或许是正确的决策。今天,让我们共同探讨如何通过极坐标以有意义的方式计算价格水平变化所形成的角度,无论您分析的是何种市场。
preview
从新手到专家:对K线进行编程

从新手到专家:对K线进行编程

在本文中,我们将迈出 MQL5 编程的第一步,即使是完全零基础的初学者也能上手。我们将向您展示,如何将熟悉的 K线形态 转换为一个功能完备的自定义指标。K线形态之所以有价值,是因为它们反映了真实的价格行为,并预示着市场的转变。与其手动扫描图表——这种方法容易出错且效率低下——我们将讨论如何通过一个指标来自动化这个过程,该指标会自动识别并标记出这些形态。在此过程中,我们将探讨一些关键概念,例如索引、时间序列、平均真实波幅(用于在多变的市场波动性中提高准确性),以及如何开发一个可自定义、可复用的 K线形态库,以便在未来的项目中使用。
preview
迁移至 MQL5 Algo Forge(第 2 部分):使用多个存储库

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

在本文中,我们将探讨在公共存储库中组织项目源代码存储的一种可能的方法。我们将把代码分发到不同的分支,为项目开发建立清晰方便的规则。
preview
在 MQL5 中创建交易管理面板(第九部分):代码组织(三):通信模块

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

欢迎参与本次深度讨论,我们将揭示 MQL5 界面设计的最新进展,着重介绍重新设计的通信面板,并继续我们关于使用模块化原则构建新管理面板的系列文章。我们将逐步开发 CommunicationsDialog 类,并详细解释如何从 Dialog 类进行继承。此外,在我们的开发过程中,还将利用数组(arrays)和 ListView 类。获取可行的方案,以提升您的 MQL5 开发技能——请阅读本文,并在评论区加入讨论!
preview
MQL5 交易工具包(第 7 部分):使用最近取消的挂单函数扩展历史管理 EX5 库

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

了解如何完成历史管理 EX5 库中最终模块的创建,重点关注负责处理最近取消的挂单的函数。这将为您提供使用 MQL5 有效检索和存储与已取消挂单相关的关键详细信息的工具。
preview
以 MQL5 实现强化分类任务的融汇方法

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

在本文中,我们讲述以 MQL5 实现若干融汇分类器,并讨论了它们在不同状况下的功效。
preview
神经网络实践:绘制神经元

神经网络实践:绘制神经元

在本文中,我们将构建一个基本神经元。虽然它看起来很简单,许多人可能会认为这段代码完全微不足道,毫无意义,但我希望你在学习这个简单的神经元草图时能玩得开心。不要害怕修改代码,完全理解它才是目标。
preview
您应当知道的 MQL5 向导技术(第 31 部分):选择损失函数

您应当知道的 MQL5 向导技术(第 31 部分):选择损失函数

损失函数是机器学习算法的关键量值,即量化给定参数集相比预期目标的性能来为训练过程提供反馈。我们在 MQL5 自定义向导类中探索该函数的各种格式。
preview
市场模拟(第二部分):跨期订单(二)

市场模拟(第二部分):跨期订单(二)

与上一篇文章中所做的不同,这里我们将使用 EA 交易来测试选择选项。虽然这还不是最终的解决方案,但目前已经足够了。在本文的帮助下,您将能够理解如何实现一种可能的解决方案。
preview
从基础到中级:递归

从基础到中级:递归

在本文中,我们将探讨一个非常有趣且颇具挑战性的编程概念,尽管应该非常谨慎地对待它,因为它的误用或误解会将相对简单的程序变成不必要的复杂程序。但是,当正确使用并完全适应同样合适的情况时,递归成为解决问题的绝佳盟友,否则这些问题会更加费力和耗时。此处提供的材料仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
精通日志记录(第五部分):通过缓存和轮转优化处理程序

精通日志记录(第五部分):通过缓存和轮转优化处理程序

本文通过为处理器添加格式化器、引入用于管理执行周期的 CIntervalWatcher 类、以及采用缓存和文件轮转进行优化,并辅以性能测试和实际示例,从而改进了该日志库。通过这些改进,我们确保了一个高效、可扩展且能适应不同开发场景的日志系统。
preview
财经建模中合成数据的生成式对抗网络(GAN)(第 2 部分):创建测试合成品种

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

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

基于机器学习构建均值回归策略

本文提出了另一种基于机器学习的原创交易系统构建方法,该方法运用聚类分析和交易标注来设计均值回归策略。
preview
辩证搜索(DA)

辩证搜索(DA)

本文介绍了辩证算法(DA),这是一种受辩证法哲学概念启发的新的全局优化方法。该算法利用了人口中独特的划分,将其分为投机思想者和实践思想者。测试表明,在低维问题上,性能令人印象深刻,高达 98%,整体效率为 57.95%。本文解释了这些度量,并详细描述了算法和不同类型函数的实验结果。
preview
从基础到中级:模板和类型名称(二)

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

本文解释了如何处理您可能遇到的最困难的编程情况之一:在同一个函数或过程模板中使用不同的类型。尽管我们大部分时间只关注函数,但这里介绍的所有内容都是有用的,并且可以应用于过程。
preview
优化中自定义准则的新方法(第一部分):激活函数示例

优化中自定义准则的新方法(第一部分):激活函数示例

本系列文章首篇将探讨自定义准则的数学原理,重点聚焦神经网络中使用的非线性函数、MQL5实现代码,以及目标导向与校正偏移量的应用。
preview
集成学习模型中的门控机制

集成学习模型中的门控机制

在本文中,我们继续探讨集成模型,重点讨论“门控”的概念,尤其是门控如何通过整合模型输出来提升预测准确性或模型泛化能力。
preview
在MQL5中创建交易管理员面板(第十一部分):现代化功能通信接口(1)

在MQL5中创建交易管理员面板(第十一部分):现代化功能通信接口(1)

今天,我们将聚焦于升级通信面板的消息交互界面,使其符合现代高性能通信应用的标准。这一改进将通过更新CommunicationsDialog类来实现。欢迎加入本文的探讨与讨论,我们将共同剖析关键要点,并规划使用MQL5推进界面编程的下一步方向。
preview
从基础到中级:数组和字符串(二)

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

在本文中,我将展示,尽管我们仍处于编程的一个非常基本的阶段,但我们已经可以实现一些有趣的应用程序。在这种情况下,我们将创建一个相当简单的密码生成器。通过这种方式,我们将能够应用到目前为止已经解释过的一些概念。此外,我们将研究如何为一些具体问题制定解决方案。
preview
使用 MetaTrader 5 Python 构建类似 MQL5 的交易类

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

MetaTrader 5 Python 包提供了一种使用 Python 语言为 MetaTrader 5 平台构建交易应用程序的简便方法。虽然它是一个强大而有用的工具,但在创建算法交易解决方案方面,该模块不如 MQL5 编程语言那么容易。在本文中,我们将构建类似于 MQL5 中提供的交易类,以创建类似的语法,使在 Python 中创建交易机器人比在 MQL5 中更容易。
preview
在训练中激活神经元的函数:快速收敛的关键?

在训练中激活神经元的函数:快速收敛的关键?

本文研究了在神经网络训练背景下,不同激活函数与优化算法之间的相互作用。我们特别关注了经典的 ADAM 算法及其种群版本在处理多种激活函数(包括振荡的 ACON 和 Snake 函数)时的表现。通过使用一个极简的 MLP (1-1-1) 架构和单个训练样本,我们将激活函数对优化的影响与其他因素隔离开来。文章提出了一种通过激活函数边界来管理网络权重的方法,以及一种权重反射机制,这有助于避免训练中的饱和和停滞问题。
preview
从基础到中级:模板和类型名称(三)

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

在本文中,我们将讨论该主题的第一部分,这对初学者来说并不容易理解。为了避免更加困惑并正确解释这个话题,我们将把解释分为几个阶段。我们将把这篇文章用于第一阶段。然而,尽管在本文末尾,我们似乎已经陷入僵局,但事实上,我们将朝着另一种情况迈出一步,这将在下一篇文章中得到更好的理解。
preview
通过原始代码优化和调整来改进回测结果

通过原始代码优化和调整来改进回测结果

通过优化逻辑、细化计算和减少执行时间来提高回测精度,从而增强 MQL5 代码。微调参数,优化循环,消除低效,以获得更好的性能。
preview
日志记录精通指南(第三部分):探索日志处理器(Handlers)实现方案

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

在本文中,我们将探索日志库中"处理器"(handlers)的概念,理解其工作原理,并创建三种基础实现:控制台、数据库和文件。我们将覆盖从处理器的基本结构到实际测试,为后续文章中的完整功能实现奠定基础。
preview
MQL5交易策略自动化(第十六部分):基于结构突破(BoS)价格行为的午夜区间突破策略

MQL5交易策略自动化(第十六部分):基于结构突破(BoS)价格行为的午夜区间突破策略

本文将介绍如何在MQL5中实现午夜区间突破结合结构突破(BoS)价格行为策略自动化,并详细说明突破检测与交易执行的代码逻辑。我们为入场、止损和止盈设定了精确的风险参数。包含回测与优化方法,助力实战交易。
preview
交易中的神经网络:基于 ResNeXt 模型的多任务学习

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

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

人工部落算法(ATA)

文章提供了 ATA 优化算法关键组成部分和创新的详细讨论,其为一种进化方法,具有独特的双重行为系统,可根据状况进行调整。ATA 结合了个体和社会学习,同时使用交叉进行探索和迁徙,从而在陷入局部最优时找到解。
preview
MQL5中用于预测与分类评估的重采样技术

MQL5中用于预测与分类评估的重采样技术

本文将探讨并实现一种方法:利用单一数据集同时作为训练集和验证集,来评估模型质量。
preview
从基础到中级:模板和类型名称(四)

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

在本文中,我们将非常仔细地研究如何解决上一篇文章末尾提出的问题。尝试创建这种类型的模板,以便能够创建数据联合的模板。
preview
MQL5 交易工具包(第 8 部分):如何在代码库中实现和使用历史管理 EX5 库

MQL5 交易工具包(第 8 部分):如何在代码库中实现和使用历史管理 EX5 库

在本系列的最后一篇文章中,我们将探讨如何轻松地将历史管理 EX5 库导入到 MQL5 源代码中,以处理 MetaTrader 5 账户中的交易历史记录。通过 MQL5 中简单的单行函数调用,可以高效管理和分析交易数据。此外,您还将学习如何创建不同的交易历史分析脚本,并开发基于价格的 EA 交易,作为实际用例示例。该示例 EA 利用价格数据和历史管理 EX5 库做出明智的交易决策、调整交易量,并根据先前已平仓的交易实施恢复策略。
preview
MQL5 简介(第 16 部分):利用技术图表形态构建 EA 交易

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

本文向初学者介绍如何构建一个 MQL5 EA 交易,该系统可以识别和交易经典的技术图表形态 —— 头肩顶形态。它涵盖了如何利用价格行为来检测形态,如何在图表上绘制形态,如何设置入场点、止损点和止盈点,以及如何根据形态自动执行交易。
preview
在 MQL5 中创建交易管理员面板(第十部分):基于外部资源的界面

在 MQL5 中创建交易管理员面板(第十部分):基于外部资源的界面

今天,我们将深入挖掘 MQL5 的潜力,利用外部资源(例如 BMP 格式的图片)为交易管理面板打造独具风格的主界面。文中演示的策略在打包多种资源(包括图片、声音等)以实现高效分发时尤为实用。欢迎随我们一起探讨,如何利用这些功能为我们的 New_Admin_Panel EA 实现现代、美观的界面设计。
preview
交易中的神经网络:二维连接空间模型(Chimera)

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

本文将探讨创新的 Chimera 框架:利用神经网络分析多元时间序列的二维状态空间模型。该方法具有高精度和低计算成本,优于传统方式和变换器架构。
preview
从 MQL5 向 Discord 发送消息,创建 Discord-MetaTrader 5 机器人

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

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