MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
开发回放系统(第 77 部分):新 Chart Trade(四)

开发回放系统(第 77 部分):新 Chart Trade(四)

在本文中,我们将介绍创建通信协议时需要考虑的一些措施和预防措施。这些都是非常简单明了的事情,所以我们在本文中不会详细介绍。但要了解会发生什么,您需要了解文章的内容。
preview
矩阵分解:更实用的建模

矩阵分解:更实用的建模

您可能没有注意到,矩阵建模有点奇怪,因为只指定了列,而不是行和列。在阅读执行矩阵分解的代码时,这看起来非常奇怪。如果您希望看到列出的行和列,那么在尝试分解时可能会感到困惑。此外,这种矩阵建模方法并不是最好的。这是因为当我们以这种方式对矩阵建模时,会遇到一些限制,迫使我们使用其他方法或函数,而如果以更合适的方式建模,这些方法或函数是不必要的。
preview
您应当知道的 MQL5 向导技术(第 37 部分):配以线性和 Matérn 内核的高斯过程回归

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

线性内核是机器学习中,针对线性回归和支持向量机所用的同类中最简单的矩阵。另一方面,Matérn 内核是我们在之前的文章中讲述的径向基函数的更普遍版本,它擅长映射不如 RBF 假设那样平滑的函数。我们构建了一个自定义信号类,即利用两个内核来预测做多和做空条件。
preview
交易中的神经网络:基于 ResNeXt 模型的多任务学习

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

基于 ResNeXt 的多任务学习框架,优化了金融数据分析,可参考其高维度、非线性、和时间依赖性。使用分组卷积和专用头,令模型能有效从输入数据中提取关键特征。
preview
使用MQL5经济日历进行交易(第十部分):可拖动仪表盘与交互式悬停效果,实现流畅的新闻导航

使用MQL5经济日历进行交易(第十部分):可拖动仪表盘与交互式悬停效果,实现流畅的新闻导航

在本文中,我们对MQL5经济日历进行了功能增强,引入了可拖动仪表盘,使用户能够重新定位界面,以获得更好的图表可视性。我们为按钮实现了悬停效果,以提高交互性,并确保通过动态定位的滚动条实现流畅的导航。
preview
风险管理(第三部分):构建风险管理主类

风险管理(第三部分):构建风险管理主类

在本文中,我们将开始创建一个核心风险管理类,这将是控制系统风险的关键。我们将重点建立基础,定义基本结构、变量和函数。此外,我们将实施设定最大损益值的必要方法,从而为风险管理奠定基础。
preview
基于马尔可夫状态转移矩阵的神经网络自学习型EA

基于马尔可夫状态转移矩阵的神经网络自学习型EA

基于状态矩阵与神经网络的自训练智能交易系统(EA)我们将马尔可夫链与基于ALGLIB MQL5库开发的多层感知器(MLP)神经网络相结合。马尔可夫链与神经网络如何结合应用于外汇预测?
preview
通过协整股票实现统计套利(第一部分):恩格尔 - 格兰杰检验与约翰森协整检验

通过协整股票实现统计套利(第一部分):恩格尔 - 格兰杰检验与约翰森协整检验

本文旨在以适合交易者且通俗易懂的方式,介绍最常用的协整检验方法,并附带一份解读检验结果的简易指南。恩格尔 - 格兰杰检验与约翰森协整检验,能够识别出具备长期联动关系、且在统计上显著的资产配对或资产组合。约翰森检验尤其适用于包含三种及以上资产的投资组合,因其可一次性测算出所有协整向量的强度。
preview
神经网络变得简单(第 83 部分):“构象”时空连续关注度转换器算法

神经网络变得简单(第 83 部分):“构象”时空连续关注度转换器算法

本文介绍了最初是为天气预报而开发的“构象(Conformer)”算法,其变化多端之处可与金融市场相提并论。“构象(Conformer)”是一种复杂的方法。它结合了关注度模型和常微分方程的优点。
preview
在 MQL5 中创建交易管理面板(第九部分):代码组织(三):通信模块

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

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

种群优化算法:人工多社区搜索对象(MSO)

这是上一篇研究社群概念文章的延续。本文使用迁徙和记忆算法探讨社群的演化。结果将有助于理解社区系统的演化,并将其应用于优化和寻找解。
preview
从基础到中级:WHILE 和 DO WHILE 语句

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

在本文中,我们将对第一个循环语句进行实用且非常直观的介绍。尽管许多初学者在面对创建循环的任务时感到害怕,但知道如何正确安全地完成它只能通过经验和练习来实现。但谁知道呢,也许我可以通过向你展示在代码中使用循环时的主要问题和预防措施来减少你的麻烦和痛苦。
preview
您应当知道的 MQL5 向导技术(第 34 部分):采用非常规 RBM 进行价格嵌入

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

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

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

本文将探讨创新的 Chimera 框架:利用神经网络分析多元时间序列的二维状态空间模型。该方法具有高精度和低计算成本,优于传统方式和变换器架构。
preview
算法交易策略:人工智能(AI)铸就的“点金”之路

算法交易策略:人工智能(AI)铸就的“点金”之路

本文展示了利用机器学习创建黄金交易策略的一种方法。通过多角度考量所提出的金融时间序列分析与预测方法,相较于单纯依赖此类分析构建交易系统的其他方法,我们能够明确该方法的优势和劣势。
preview
市场模拟(第 12 部分):套接字(六)

市场模拟(第 12 部分):套接字(六)

在本文中,我们将探讨如何解决在其他程序中使用 Python 代码时出现的某些问题。更具体地说,我们将演示在将 Excel 与 MetaTrader 5 结合使用时遇到的一个常见问题,尽管我们将使用 Python 来促进这种交互。然而,这种实现方式有一个小小的缺点。它并非在所有情况下都会发生,而是仅在某些特定情况下发生。当它发生时,有必要了解原因。在今天的文章中,我们将开始解释如何解决这个问题。
preview
交易中的神经网络:搭配区段注意力的参数效率变换器(PSformer)

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

本文讲述新的 PSformer 框架,其适配雏形变换器架构,解决与多元时间序列预测相关的问题。该框架基于两项关键创新:参数共享(PS)机制,和区段注意力(SegAtt)。
preview
开发多币种 EA 交易(第 24 部分):添加新策略(二)

开发多币种 EA 交易(第 24 部分):添加新策略(二)

在本文中,我们将继续将新策略与创建的自动优化系统联系起来。让我们看看需要对优化项目创建 EA 以及第二和第三阶段 EA 进行哪些更改。
preview
开发回放系统(第 67 部分):完善控制指标

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

在本文中,我们将看看通过一点代码改进可以实现什么。这一改进旨在简化我们的代码,更多地使用 MQL5 库调用,最重要的是,使其在我们未来可能开发的其他项目中更加稳定、安全和易于使用。
preview
开发回放系统(第 71 部分):取得正确的时间(四)

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

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

MQL5 简介(第 18 部分):沃尔夫波浪形态简介

本文详细解释了沃尔夫波浪形态,涵盖了看跌和看涨两种变体。它还分解了用于基于这种高级图表形态识别有效买卖设置的分步逻辑。
preview
利用 MQL5 经济日历进行交易(第四部分):在仪表盘中实现实时新闻更新

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

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

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

在嘈杂的条件下有效识别和预存市场数据的局部结构是交易中的一项关键任务。运用自注意力机制在处理这类数据方面展现出可喜的结果;不过,经典方式并未考虑底层结构的局部特征。在本文中,我将引入一种能够协同这些结构依赖关系的算法。
preview
价格行为分析工具包开发(第 35 部分):预测模型训练与部署

价格行为分析工具包开发(第 35 部分):预测模型训练与部署

历史行情数据绝非 “无用糟粕”,而是所有稳健市场分析的根基。本文将带您循序渐进,从历史数据采集入手,利用数据训练预测模型,最终完成模型部署,实盘价格预测落地应用。继续往下阅读,掌握完整实现流程!
preview
价格行为分析工具包开发(第三十三部分):K线区间理论工具

价格行为分析工具包开发(第三十三部分):K线区间理论工具

提升您对市场的解读能力,这款适用于MetaTrader 5的K线区间理论套件是完全原生的MQL5解决方案,能将原始K线数据转化为实时波动率情报。轻量级的CRangePattern库会将每根K线的真实波幅与自适应ATR进行基准对比,并在K线收盘的瞬间完成形态分类;CRT指标随后会将这些分类结果以清晰的彩色矩形和箭头形式呈现在图表上,实时揭示市场的缩量盘整、强势突破以及全区间吞没形态。
preview
从基础到中级:数组(二)

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

在本文中,我们将了解动态数组和静态数组是什么。使用一个或另一个有区别吗?还是它们总是一样的?何时应该使用一种类型,何时应该使用另一种类型?那么常数数组呢?我们将尝试了解它们的设计目的,并考虑不初始化数组中所有值的风险。
preview
从基础到中级:指标(三)

从基础到中级:指标(三)

在本文中,我们将探讨如何声明各种图形表现形式的指标,例如 DRAW_COLOR_LINE 和 DRAW_FILLING。此外,当然,我们将学习如何以简单、实用和快速的方式使用多个指标绘制图表。这确实可以改变你对 MetaTrader 5 和整个市场的看法。
preview
您应当知道的 MQL5 向导技术(第 47 部分):配合时态差异的强化学习

您应当知道的 MQL5 向导技术(第 47 部分):配合时态差异的强化学习

时态差异是强化学习中的另一种算法,它基于智顾训练期间预测和实际奖励之间的差异更新 Q-值。它专门驻守更新 Q-值,而不介意它们的状态-动作配对。因此,我们考察如何在向导汇编的智能系统中应用这一点,正如我们在之前文章中所做的那样。
preview
价格行为分析工具包开发(第三十部分):商品通道指数(CCI)零线的EA

价格行为分析工具包开发(第三十部分):商品通道指数(CCI)零线的EA

价格行为分析的自动化是未来发展趋势。在本文中,我们将运用双CCI指标、零线交叉策略、指数移动平均线(EMA)以及价格行为分析,开发一款能够生成交易信号,并利用平均真实波幅(ATR)设定止损(SL)和止盈(TP)水平的工具。请阅读本文,了解我们如何开发这款CCI零线的EA。
preview
从基础到中级:数组(四)

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

在本文中,我们将看看如何做一些与 C、C++ 和 Java 等语言中实现的非常相似的事情。我说的是在函数或过程中传递几乎无限数量的参数。虽然这似乎是一个相当高级的主题,但在我看来,任何理解了前面概念的人都可以很容易地实现这里展示的内容。只要它们真的被正确理解。
preview
价格行为分析工具包开发(第 22 部分):相关性仪表盘

价格行为分析工具包开发(第 22 部分):相关性仪表盘

该工具是一个相关性仪表盘,用于计算并显示多个货币对之间的实时相关系数。通过可视化货币对之间的相互走势,它为您的价格行为分析提供了宝贵的视角,并帮助您预测跨市场的动态。继续阅读以探索其功能和应用。
preview
开发回放系统(第 55 部分):控制模块

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

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

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

在本文中,我们将修改本系列关于 Chart Trade 中显示的最后一段代码。这些变化对于使代码适应当前的回放/模拟系统模型是必要的。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
从基础到中级:SWITCH 语句

从基础到中级:SWITCH 语句

在本文中,我们将学习如何以最简单、最基本的形式使用 SWITCH 语句。此处提供的内容仅用于教育目的。在任何情况下,除了学习和掌握所提出的概念外,都不应出于任何目的使用此应用程序。
preview
名义变量的序数编码

名义变量的序数编码

在本文中,我们将讨论并演示如何使用Python和MQL5将名义预测变量转换为适合机器学习算法的数值格式。
preview
交易中的神经网络:降低锐度强化变换器效率(SAMformer)

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

训练变换器模型需要大量数据,并且往往很困难,因为模型不擅长类推到小型数据集。SAMformer 框架通过避免糟糕的局部最小值来帮助解决这个问题。即使在有限的训练数据集上,也能提升模型的效率。
preview
财经建模中合成数据的生成式对抗网络(GAN)(第 2 部分):创建测试合成品种

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

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

从新手到专家:使用 MQL5 制作动画新闻标题(一)

在 MetaTrader 5 终端上进行交易时,新闻可访问性是一个关键因素。虽然有很多新闻 API 可用,但许多交易者在访问这些 API 并将其有效集成到他们的交易环境中时仍面临挑战。在本次讨论中,我们的目标是开发一种简化的解决方案,将新闻直接呈现在图表上 —— 也就是最需要新闻的地方。我们将通过构建一个新闻标题 EA 来实现这一目标,该 EA 可以监控并显示来自 API 源的实时新闻更新。
preview
MQL5 交易工具包(第 8 部分):如何在代码库中实现和使用历史管理 EX5 库

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

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

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

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