MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
MQL5 交易策略自动化(第二十七部分):创建带可视化反馈的价格行为螃蟹谐波形态

MQL5 交易策略自动化(第二十七部分):创建带可视化反馈的价格行为螃蟹谐波形态

本文将基于 MQL5 开发一套螃蟹谐波形态交易系统。程序借助枢轴点与斐波那契比例识别看涨、看跌螃蟹谐波形态,并按照精准的入场、止损、止盈点位触发交易。同时使用三角形、趋势线等图表对象做可视化展示,完整展示 XABCD 形态结构与各个交易价位。
preview
价格行为分析工具包开发(第三十六部分):实现Python直接读取MetaTrader 5行情数据流

价格行为分析工具包开发(第三十六部分):实现Python直接读取MetaTrader 5行情数据流

借助Python的数据科学生态以及MetaTrader 5官方客户端库,充分挖掘MetaTrader 5终端的全部能力。本文演示如何完成身份校验,将实时Tick数据与分钟K线数据流直接写入Parquet存储;利用Ta技术指标库与Prophet时间序列预测工具完成高阶特征工程,并训练具备时间感知能力的梯度提升模型。接下来,我们部署轻量Flask服务,对外实时输出交易信号。无论您正在搭建混合量化框架,还是希望借助机器学习增强EA策略,都将掌握一套稳健的端到端流水线,用于数据驱动的算法交易。
preview
MQL5自动化交易策略(第二十六部分):构建针形K线均价加仓的多持仓交易系统

MQL5自动化交易策略(第二十六部分):构建针形K线均价加仓的多持仓交易系统

在本文中,我们将在MQL5中开发一套针形K线(Pin Bar)均价加仓系统:识别针形K线形态作为开仓触发信号,采用均价加仓策略实现多持仓管理,并搭配移动止损与盈亏平衡调整功能增强策略。系统内置可自定义参数,同时配备信息面板,可对持仓与盈利情况进行实时监控。
preview
从基础到中级:对象事件(一)

从基础到中级:对象事件(一)

在本文中,我们将探讨当图表上的某个对象发生变化时,MetaTrader 5 可以生成的六个事件中的三个。从用户交互的角度来看,这些事件非常有用。这是因为,如果不了解这些事件,在尝试为特定目的管理对象时,我们将不得不付出更多的努力来维护特定的图表配置。
preview
MQL5 自动化交易策略(第二十五部分):基于最小二乘法拟合的趋势线交易 EA 与动态信号生成

MQL5 自动化交易策略(第二十五部分):基于最小二乘法拟合的趋势线交易 EA 与动态信号生成

本文将开发一款趋势线交易程序,采用最小二乘法自动识别支撑、阻力趋势线,依据价格触碰趋势线生成多空动态交易信号,并根据信号自动开仓。
preview
量子储层计算(QRC)电路的实现

量子储层计算(QRC)电路的实现

借助量子计算实现交易领域机器学习的革命性方案。本文演示一套可实际落地的自适应量子储层计算(QRC)系统,该系统支持持续学习,用于实时预测市场行情走势。
preview
市场模拟:MQL5 中的 SQL 入门(四)

市场模拟:MQL5 中的 SQL 入门(四)

许多人往往低估了SQL,甚至根本不使用它,因为他们并不完全了解它的实际工作原理。在针对SQL数据库运行查询时,我们并不总是寻求一个通用的答案;在某些情况下,我们需要一个非常具体且实用的答案。如果数据库的结构和数据模型设计得当,几乎任何类型的信息都可以被整合到其中。
preview
构建动态多品种EA(第四部分):波动率与风险调节

构建动态多品种EA(第四部分):波动率与风险调节

本阶段将对多品种 EA 进行精细化调优,依托 ATR 等波动率指标实时调整交易手数与风险敞口,提升不同市场环境下策略的稳定性、风控能力与整体绩效。
preview
基于Mamba选择性状态空间模型的神经网络交易机器人开发

基于Mamba选择性状态空间模型的神经网络交易机器人开发

本文探究可用于金融时间序列预测的创新性Mamba/SSM神经网络架构。我们将完整介绍该模型在MQL5平台下的实现方案,它是Transformer的现代替代方案,计算复杂度为线性O(N),而非二次复杂度O(N²)。还会详细讲解选择性状态空间模型、硬件感知优化、分块处理,以及先进的AdamW训练算法。并附带实测结果:模型预测准确率由62%提升至71%,同时训练耗时从45分钟缩短至8分钟。本文提供一个现成的MetaTrader 5交易EA,具备自动训练与自适应风险管理能力。
preview
交易机器人风险管理器(第一部分):EA风控头文件

交易机器人风险管理器(第一部分):EA风控头文件

交易对风控纪律有着极高的要求。本文分析了交易者亏损的主要原因,并针对MQL5平台提出一套技术方案 —— CEnhancedRiskManager(增强型风险管理器)类,并在激进网格EA上完成了实操测试。
preview
从基础到中级:对象(四)

从基础到中级:对象(四)

这可能是迄今为止最有趣的一篇文章。原因在于,我们将修改 MetaTrader 5 中已有的一个对象,以创建另一个原本不在该平台上的对象。当然,我们接下来要介绍的内容可能看起来有点疯狂,但它确实有效,并且具有非常有趣的用途。
preview
MQL5交易工具(第八部分):具备可拖拽与可最小化功能的增强型信息仪表盘

MQL5交易工具(第八部分):具备可拖拽与可最小化功能的增强型信息仪表盘

在本文中,我们将开发一套增强型信息仪表盘。该版本在上一篇内容的基础上进行升级,新增可拖拽和最小化功能以优化用户交互,同时保持对多品种持仓与账户指标的实时监控能力。
preview
基于协整股票的统计套利(第二部分):EA、回测与优化

基于协整股票的统计套利(第二部分):EA、回测与优化

本文展示一个智能交易系统(EA)示例,用于交易一篮子四只纳斯达克股票。选股流程如下:首先通过皮尔逊相关系数检验进行初步筛选;再对筛选后的股票组进行约翰森协整检验;最后通过ADF检验与KPSS检验验证协整价差的平稳性。本文将对这一流程做补充说明,并展示经过小幅优化后的回测结果。
preview
Python-MetaTrader 5 策略测试器(第一部分):交易模拟器

Python-MetaTrader 5 策略测试器(第一部分):交易模拟器

Python 提供的 MetaTrader 5 模块支持通过 Python 在 MetaTrader 5 客户端发起交易,但存在一个重大缺陷:该模块不具备 MetaTrader 5 客户端自带的策略测试器功能。在本系列文章中,我们将搭建一套框架,实现基于 Python 环境的交易策略回测。
preview
我们如何打造最强大的机器学习驱动交易平台:通过档案、论坛与发布记录回顾 MQL 与 MetaTrader 的演进

我们如何打造最强大的机器学习驱动交易平台:通过档案、论坛与发布记录回顾 MQL 与 MetaTrader 的演进

MQL 演进的技术史:从功能有限的 MQL 和 MQL II 语言,到过程式的 MQL4,再到具有原生编译功能、丰富 API 和完备工程环境的面向对象的 MQL5。我们在此展示该语言的关键特性,以及其与 Python、OpenCL、ONNX、OpenBLAS、数据库、DirectX、代理式人工智能助手(Agentic AI Assistant)及模型上下文协议(MCP)的集成情况;其中,模型上下文协议(MCP)可将人工智能系统与终端、MetaEditor、市场数据、交易操作及开发工具相连接。本文探讨了 MetaQuotes 和 MetaTrader 的起源、MQL4.COM 和 MQL5.COM 的推出、各类锦标赛、Algo Forge 及其对生态系统的影响等档案资料。
preview
精通日志记录(第十部分):通过抑制机制避免日志重复输出

精通日志记录(第十部分):通过抑制机制避免日志重复输出

我们在 Logify 函数库中搭建了一套日志抑制系统。本文详细讲解 CLogifySuppression 类如何通过可配置规则过滤重复、无关日志消息,减少控制台冗余信息。同时本文还介绍外部配置框架、参数校验机制以及完整测试方案,保障 EA、指标开发过程中日志记录能力稳定、灵活。
preview
利用灰色模型进行交易预测

利用灰色模型进行交易预测

本文探讨灰色模型(GM)在金融时间序列预测中的应用。我们将介绍GM的工作原理,以及其在金融序列上的具体应用方式。同时也会讨论该类模型在交易场景中的优势与局限性。
preview
人工原子算法(A3)

人工原子算法(A3)

本文介绍如何在 MQL5 中实现人工原子算法(A3)—— 一种受化学过程启发的元启发式优化算法。该算法只有两个可调参数:紧凑性和较小的种群规模,这保证了较高的运行速度,同时保持了足够的解质量。
preview
从基础到中级:对象(三)

从基础到中级:对象(三)

在今天的文章中,我们将探讨如何实现一个极具吸引力和趣味性的交互系统,特别是对于那些刚开始学习 MQL5 编程的人来说。这里并没有任何全新的内容。得益于我对这个主题的处理方式,理解起来会容易得多,因为我们将通过实践,了解如何使用结构化的方法,以实用且引人入胜的目标来开发程序。
preview
神经网络实践:熟能生巧

神经网络实践:熟能生巧

在今天的文章中,我们将探讨一个简单的代码更改如何使神经元更加专业化,从而显著加快训练阶段的速度。毕竟,正如我们稍后将看到的,一旦神经元或神经网络经过训练,其执行任务的速度就会大大提升。我们还会谈到一个确实存在、却很少有人提起的问题。
preview
从新手到专家:用MQL5实现动态新闻头条(八)—— 新闻交易快捷交易按钮

从新手到专家:用MQL5实现动态新闻头条(八)—— 新闻交易快捷交易按钮

虽然算法交易系统可以实现自动化操作,但许多新闻交易者与剥头皮交易者更倾向于在高影响力新闻事件和快节奏行情中主动掌控交易,这就要求具备快速的订单执行与管理能力。这一点凸显了对直观前端交互工具的需求 —— 这类工具需集成实时新闻推送、财经日历数据、指标分析、AI分析以及高响应交易控件。
preview
您应该了解的MQL5向导技巧(第七十八部分):鳄鱼振荡器与AD指标的市场韧性策略

您应该了解的MQL5向导技巧(第七十八部分):鳄鱼振荡器与AD指标的市场韧性策略

本文介绍鳄鱼震荡器与积累/派发(AD)指标系统化交易方法的后半部分内容。作者新增五种信号形态,演示如何过滤虚假走势、捕捉早期反转,并在多时间周期上实现信号共振。文中附带清晰的代码示例与性能测试结果,为 MQL5 开发者搭建了从理论到实践的桥梁。
preview
从基础到中级:对象(二)

从基础到中级:对象(二)

在今天的文章中,我们将探讨如何使用代码以一种简单的方式控制某些对象属性。我们还将了解自定义应用程序如何将多个对象放置在同一个图表上。此外,我们将开始认识到,为我们计划实现的任何指标分配一个简称的重要性。
preview
MQL5中的量子神经网络(第三部分):基于量子比特的虚拟量子处理器

MQL5中的量子神经网络(第三部分):基于量子比特的虚拟量子处理器

本文聚焦于构建一套搭载真正的量子模拟器的交易系统,而非仅使用数学类比。该系统通过3个虚拟量子比特、量子门以及量子叠加原理对市场进行分析,并以MQL5编写为MetaTrader 5平台的交易EA实现。其核心突破在于从简单模拟转向真正遵循量子原理处理金融信息。
preview
MQL5 向导技巧(第七十七部分):使用 Gator 振荡器与积累/派发振荡器(AD Oscillator)

MQL5 向导技巧(第七十七部分):使用 Gator 振荡器与积累/派发振荡器(AD Oscillator)

Gator 振荡器(Gator Oscillator)由比尔·威廉姆斯(Bill Williams)开发,与累积/派发振荡器(Accumulation/Distribution Oscillator)是另一对可在 MQL5 EA 中协同使用的指标组合。我们使用 Gator 振荡器来确认趋势,同时使用 AD 振荡器通过检查成交量来确认趋势。在探索这种指标组合时,我们一如既往地使用 MQL5 向导来构建和测试它们的潜力。
preview
神经网络在交易中的应用:不依赖特定数据的时间序列泛化(Mamba4Cast)

神经网络在交易中的应用:不依赖特定数据的时间序列泛化(Mamba4Cast)

在本文中,我们介绍了 Mamba4Cast 框架,并深入探讨了其关键组件之一:基于时间戳的位置编码。本文展示了如何结合数据的日历结构来构建时间嵌入。
preview
神经网络在交易中的应用:基于自适应模态分解的时间序列预测(终篇)

神经网络在交易中的应用:基于自适应模态分解的时间序列预测(终篇)

本文讨论了在算法交易背景下,使用 MQL5 对 ACEFormer 框架的调整及其实践应用。它展示了关键的架构决策、训练特性以及在真实数据上的模型测试结果。
preview
灰色模型在金融时间序列技术分析中的应用研究

灰色模型在金融时间序列技术分析中的应用研究

本文研究灰色模型,这是一种具有潜力的工具,能够提升交易者在分析与策略构建方面的能力。我们探讨了将该模型应用于技术分析并构建交易策略的若干实现方案。
preview
数据科学与机器学习(第四十四部分):利用向量自回归(VAR)预测外汇 OHLC 时间序列

数据科学与机器学习(第四十四部分):利用向量自回归(VAR)预测外汇 OHLC 时间序列

本文探讨如何使用向量自回归(VAR)模型预测外汇 OHLC(开盘价、最高价、最低价、收盘价)时间序列数据。文章涵盖 VAR 模型的实现、模型训练以及在 MetaTrader 5 中的实时预测,帮助交易者分析相互关联的货币走势,改进交易策略。
preview
MQL5中的自优化智能交易系统(第十一部分):线性代数基础入门

MQL5中的自优化智能交易系统(第十一部分):线性代数基础入门

在本文中,我们将为使用MQL5矩阵与向量API中强大的线性代数工具奠定基础。想要熟练运用此套API,我们必须牢固掌握支撑这些方法合理使用的线性代数原理。本文旨在让读者直观理解,作为MQL5算法交易者,入门并利用这一强大库所需的一些最重要的线性代数规则。
preview
神经网络在交易中的应用:基于自适应模态分解(ACEFormer)的时间序列预测

神经网络在交易中的应用:基于自适应模态分解(ACEFormer)的时间序列预测

我们诚邀您探索 ACEFormer 架构 — 一种将概率注意力机制的有效性与自适应时间序列分解相结合的现代解决方案。本文将对那些寻求在金融市场中平衡计算性能和预测准确性的读者有所帮助。
preview
MQL5 MVC范式下的表格视图与控制器组件:可调整尺寸的元素

MQL5 MVC范式下的表格视图与控制器组件:可调整尺寸的元素

在本文中,我们将实现通过鼠标拖动控件的边缘和角点来调整控件大小的功能。
preview
价格行为分析工具包开发(第34部分):借助高级数据采集管道将原始市场数据转化为预测模型

价格行为分析工具包开发(第34部分):借助高级数据采集管道将原始市场数据转化为预测模型

你是否曾错过市场突然的尖峰行情,或者在行情发生时措手不及?预判实时行情的最佳方法是从历史形态中学习。为了训练一个机器学习模型,本文首先向您展示如何在 MetaTrader 5 中创建一个脚本,用于摄取历史数据并将其发送到 Python 进行存储 —— 为您的尖峰检测系统奠定基础。继续阅读,了解每个步骤的实际操作。
preview
使用机器学习检测与分类分形模式

使用机器学习检测与分类分形模式

在本文中,我们将探讨一个有趣的话题:利用机器学习进行分形分析和市场预测。这只是迈向探索金融价格图表上形成的各种分形结构的最初几步。我们将利用相关性来发现模式,并使用 CatBoost 算法对这些模式进行分类。
preview
在 MQL5 中实现保本机制(第 2 部分):基于 ATR 和风险回报比的保本机制

在 MQL5 中实现保本机制(第 2 部分):基于 ATR 和风险回报比的保本机制

本文将完成 MQL5 中基于 ATR 和风险回报比(RRR)的保本机制实现,并从零开始开发一个类,使得在无需重新输入参数的情况下即可轻松切换保本模式。为评估每种保本类型的有效性,我们将进行多次回测,并在算法交易的背景下分析它们各自的优缺点。
preview
MQL5中的自优化智能交易系统(第十部分):矩阵分解

MQL5中的自优化智能交易系统(第十部分):矩阵分解

分解是一种用于挖掘数据属性规律的数学方法。当我们将分解应用于以行列形式组织的海量市场数据时,能够从中挖掘市场的模式与特征。分解是一种强大的工具,本文将展示如何在MetaTrader 5终端中通过MQL5 API使用该方法,从而更深入地洞察市场数据。
preview
协方差矩阵自适应演化策略(CMA-ES)

协方差矩阵自适应演化策略(CMA-ES)

本文探讨了一种最有趣的非梯度优化算法,该算法能够学习理解目标函数的几何特性。我们将重点关注对 CMA-ES 的经典实现,并稍作修改 — 用幂律分布代替正态分布。我们将深入探究算法背后的数学原理以及实际实现方式,并验证 CMA-ES 在哪些方面无懈可击,以及在哪些方面应避免使用。
preview
无需真实期权的期权交易(第二部分):实盘中的应用

无需真实期权的期权交易(第二部分):实盘中的应用

本文探讨了简单的期权策略及其在MQL5中的实现。我们将开发一个基础 EA,并逐步对其进行升级,使其变得更加复杂。
preview
利用机器学习研究分形市场结构导论

利用机器学习研究分形市场结构导论

本文尝试从自相似分形结构的角度来研究金融时间序列。鉴于我们有众多类比证实市场报价可作为自相似分形来考虑,这使我们能够思考此类结构的预测视野。
preview
市场模拟(第 24 部分):SQL 入门(七)

市场模拟(第 24 部分):SQL 入门(七)

在上一篇文章中,我们完成了对 SQL 的必要介绍。而且,在我看来,我们已经恰当地阐明了我们想要展示和解释的关于 SQL 的内容。这样做是为了让任何前来查看正在构建的市场回放/模拟系统的人,至少能对那里可能发生的情况有所了解。关键在于,对于那些 SQL 能完美处理的事情,编程是没有意义的。