MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
开发多币种 EA 交易(第 23 部分):整理自动项目优化阶段的输送机(二)

开发多币种 EA 交易(第 23 部分):整理自动项目优化阶段的输送机(二)

我们的目标是创建一个系统,用于自动定期优化最终 EA 中使用的交易策略。随着系统的发展,它变得越来越复杂,因此有必要不时地将其视为一个整体,以确定瓶颈和次优解决方案。
preview
市场模拟(第 16 部分):套接字(十)

市场模拟(第 16 部分):套接字(十)

我们即将完成这项挑战。然而,在我们开始之前,我希望你们试着理解这两篇文章——这篇文章和上一篇文章。这样,你就能真正理解下一篇文章的内容,在那篇文章中,我将专门介绍与 MQL5 编程相关的部分。但我会尽量让它通俗易懂。如果你不理解最后这两篇文章,那么你很难理解下一篇,因为内容是连贯的。要做的事情越多,为了实现目标,你需要创造和理解的东西就越多。
preview
数据科学和机器学习(第 36 部分):与偏颇的金融市场打交道

数据科学和机器学习(第 36 部分):与偏颇的金融市场打交道

金融市场非是完美平衡。有些市场看涨,有些看跌,有些市场展现范围起伏行为,表明无论哪个方向都不确定,这些不平衡的信息在训练机器学习模型时可能会误导,在于市场频繁变化。在本文中,我们将讨论若干种途径来应对该问题。
preview
基于Python与MQL5的特征工程(第三部分):价格角度(2)——极坐标(Polar Coordinates)法

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

在本文中,我们将第二次尝试将任意市场的价格水平变化转化为对应的角度变化。此次,我们选择了比首次尝试更具数学复杂性的方法,而获得的结果表明,这一调整或许是正确的决策。今天,让我们共同探讨如何通过极坐标以有意义的方式计算价格水平变化所形成的角度,无论您分析的是何种市场。
preview
数据科学和机器学习(第 34 部分):时间序列分解,剖析股票市场的核心

数据科学和机器学习(第 34 部分):时间序列分解,剖析股票市场的核心

在一个充斥着杂乱且不可预测数据的世界里,识别有意义的形态可能颇具挑战性。在本文中,我们将探讨季节性分解,这是一种强力分析技术,有助于把数据拆分为关键成分:趋势、季节性形态、和噪声。以该途径拆解数据,我们能够揭示隐藏的洞见,并配以更清晰、更易解读的信息工作。
preview
使用MQL5经济日历进行交易(第七部分):基于资源型新闻事件分析的策略测试准备

使用MQL5经济日历进行交易(第七部分):基于资源型新闻事件分析的策略测试准备

在本文中,我们通过将经济日历数据作为非实盘分析资源嵌入到MQL5交易系统中,为策略测试做好准备。我们实现了按时间、货币和影响程度加载和筛选事件的功能,并在策略测试器中验证其有效性。这使得基于新闻事件的策略能够进行高效的回测。
preview
从基础到中级:浮点数

从基础到中级:浮点数

本文简要介绍浮点数的概念。由于这篇文章非常复杂,请仔细阅读,不要期望很快掌握浮点数系统。随着时间的推移,当你获得使用它的经验时,它才会变得清晰。但本文将帮助您理解为什么您的应用程序有时会产生与预期不同的结果。
preview
您应当知道的 MQL5 向导技术(第 61 部分):结合 ADX 和 CCI 形态进行监督学习

您应当知道的 MQL5 向导技术(第 61 部分):结合 ADX 和 CCI 形态进行监督学习

ADX 振荡器和 CCI 振荡器是趋势跟踪和动量指标,可在开发智能系统时配对。我们考察如何使用机器学习的三大主要训练模式来将其系统化。向导汇编的智能系统令我们能够评估这两个指标所呈现的形态,我们从考察如何在监督学习中应用这些形态开始。
preview
神经网络实践:伪逆(I)

神经网络实践:伪逆(I)

今天,我们将开始探讨如何在纯MQL5语言中实现伪逆的计算。即将展示的代码对于初学者来说可能比我预期的要复杂得多,我还在思考如何以简单的方式解释它。所以,现在请将其视为学习一些不寻常代码的机会。请保持冷静和专注。虽然它并不旨在高效或快速应用,但其目标是尽可能具有教育意义。
preview
从新手到专家:使用 MQL5 制作动画新闻标题 (三) — 指标洞察

从新手到专家:使用 MQL5 制作动画新闻标题 (三) — 指标洞察

在本文中,我们将通过引入专门的指标洞察通道来推进新闻标题EA —— 一个紧凑的图表显示,显示由RSI、MACD、随机震荡指标和 CCI 等流行指标生成的关键技术信号。这种方法消除了 MetaTrader 5 终端上多个指标子窗口的需要,使您的工作空间保持干净高效。通过利用 MQL5 API 在后台访问指标数据,我们可以使用自定义逻辑实时处理和可视化市场洞察。加入我们,探索如何在 MQL5 中操纵指标数据,以创建一个智能且节省空间的滚动洞察系统,所有这些都在您的交易图表上的一个水平通道内。
preview
从新手到专家:使用 MQL5 制作动画新闻标题(七)—— 新闻交易的后冲击策略

从新手到专家:使用 MQL5 制作动画新闻标题(七)—— 新闻交易的后冲击策略

在重大经济新闻发布后的第一分钟内,市场出现剧烈波动的风险极高。在那短暂的时间窗口内,价格走势可能不稳定且波动剧烈,经常会触发两个方向的挂单。在发布后不久 —— 通常在一分钟内 —— 市场趋于稳定,恢复或纠正更典型的波动性。在本节中,我们将探讨新闻交易的另一种方法,旨在评估其作为交易者工具包中有价值的补充的有效性。继续阅读,了解本讨论中的更多见解和细节。
preview
集成学习模型中的门控机制

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

在本文中,我们继续探讨集成模型,重点讨论“门控”的概念,尤其是门控如何通过整合模型输出来提升预测准确性或模型泛化能力。
preview
MQL5 简介(第 13 部分):构建自定义指标的初学者指南(二)

MQL5 简介(第 13 部分):构建自定义指标的初学者指南(二)

本文将指导您从头开始构建自定义 Heikin Ashi 指标,并演示如何将自定义指标集成到 EA 中。它涵盖了指标计算、交易执行逻辑和风险管理技术,以增强自动化交易策略。
preview
Connexus观察者模式(第8部分):添加一个观察者请求

Connexus观察者模式(第8部分):添加一个观察者请求

在本系列文章的最后一篇中,我们探讨了观察者模式(Observer Pattern) 在Connexus库中的实现,同时对文件路径和方法名进行了必要的重构优化。该系列文章完整地记录了Connexus库的开发过程——这是一个专为简化复杂应用中的HTTP通信而设计的工具库。
preview
您应当知道的 MQL5 向导技术(第 31 部分):选择损失函数

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

损失函数是机器学习算法的关键量值,即量化给定参数集相比预期目标的性能来为训练过程提供反馈。我们在 MQL5 自定义向导类中探索该函数的各种格式。
preview
优化中自定义准则的新方法(第一部分):激活函数示例

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

本系列文章首篇将探讨自定义准则的数学原理,重点聚焦神经网络中使用的非线性函数、MQL5实现代码,以及目标导向与校正偏移量的应用。
preview
克服机器学习的局限性(第二部分):缺乏可重复性

克服机器学习的局限性(第二部分):缺乏可重复性

本文探讨了即便使用相同的策略和金融标的,不同经纪商的交易结果为何仍会存在显著差异,原因在于定价的分散化以及数据差异。本文有助于MQL5开发者理解为何他们的产品在MQL5市场上的评价褒贬不一,并敦促开发者针对特定经纪商调整方法,以确保结果透明且可重复。如果这一做法能被广泛地采用,将有望成为我们社区重要的特定领域最佳实践。
preview
在 MQL5 中实现其他语言的实用模块(第 02 部分):构建受 Python 启发的 REQUESTS 库

在 MQL5 中实现其他语言的实用模块(第 02 部分):构建受 Python 启发的 REQUESTS 库

在本文中,我们实现了一个类似于 Python 中 requests 模块的功能,以便更轻松地使用 MQL5 在 MetaTrader 5 中发送和接收 Web 请求。
preview
交易中的神经网络:搭配区段注意力的参数效率变换器(终篇)

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

在之前的工作中,我们讨论了 PSformer 框架的理论层面,其中包括经典变换器架构的两大创新:参数共享(PS)机制,以及时空区段注意力(SegAtt)。在本文中,我们继续实现所提议方式的 MQL5 版本。
preview
从基础到中级:结构(四)

从基础到中级:结构(四)

在本文中,我们将探讨如何创建所谓的结构化代码,即将处理变量和信息的整个上下文和方法都置于一个结构中,从而为任何代码的实现创造一个合适的上下文环境。因此,我们将探讨使用代码私有部分来区分公有部分和非公有部分的必要性,从而遵守封装原则,并保留创建数据结构时的上下文。
preview
交易中的神经网络:基于 ResNeXt 模型的多任务学习(终篇)

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

我们继续探索基于 ResNeXt 的多任务学习框架,其特征是模块化、高计算效率、及识别数据中稳定形态的能力。使用单一编码器和专用“头”可降低模型过度拟合风险,提升预测品质。
preview
您应当知道的 MQL5 向导技术(第 60 部分):推理学习(Wasserstein-VAE),配合移动平均线和随机振荡器形态

您应当知道的 MQL5 向导技术(第 60 部分):推理学习(Wasserstein-VAE),配合移动平均线和随机振荡器形态

我们将目光转向 MA 与随机振荡器的互补配对,实证推理学习在后监督学习与强化学习状况中扮演的角色。显然,推理学习有多种途径可供选择,不过我们的方式是使用变分自编码器。我们先以 Python 探索这些,然后将训练好的模型以 ONNX 格式导出,可在 MetaTrader 中供向导汇编智能系统所用。
preview
市场模拟(第二部分):跨期订单(二)

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

与上一篇文章中所做的不同,这里我们将使用 EA 交易来测试选择选项。虽然这还不是最终的解决方案,但目前已经足够了。在本文的帮助下,您将能够理解如何实现一种可能的解决方案。
preview
在 MQL5 中创建交易管理员面板(第十部分):基于外部资源的界面

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

今天,我们将深入挖掘 MQL5 的潜力,利用外部资源(例如 BMP 格式的图片)为交易管理面板打造独具风格的主界面。文中演示的策略在打包多种资源(包括图片、声音等)以实现高效分发时尤为实用。欢迎随我们一起探讨,如何利用这些功能为我们的 New_Admin_Panel EA 实现现代、美观的界面设计。
preview
以 MQL5 实现强化分类任务的融汇方法

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

在本文中,我们讲述以 MQL5 实现若干融汇分类器,并讨论了它们在不同状况下的功效。
preview
交易中的神经网络:二维连接空间模型(终篇)

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

我们继续探索创新的奇美拉(Chimera)框架 — 这款二维状态空间模型,利用神经网络技术多维度分析时间序列。该方法提供了高预测精度、及低计算成本。
preview
重构经典策略(第十三部分):让我们的交叉策略迈向新维度(2)

重构经典策略(第十三部分):让我们的交叉策略迈向新维度(2)

欢迎参与讨论,一起探索移动平均线交叉策略的更多改进方法。我们将运用数据科学技能,致力于将策略的滞后性降至更低水平,从而提升其可靠性。众所周知,将数据投影到更高维度有时能提高机器学习模型的性能。我们将向交易者展示这一做法的实际意义,并说明如何利用MetaTrader 5交易终端运用这一强大原理。
preview
从基础到中级:指标(一)

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

在本文中,我们将创建第一个完全实用和功能齐全的指标。目标不是展示如何创建应用程序,而是帮助您了解如何开发自己的想法,并让您有机会以安全、简单和实用的方式应用它们。
preview
开发回放系统(第 60 部分):玩转服务(一)

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

很长一段时间以来,我们一直在研究指标,但现在是时候让服务重新工作了,看看图表是如何根据提供的数据构建的。然而,由于整个事情并没有那么简单,我们必须注意了解前方等待我们的是什么。
preview
MQL5自优化智能交易系统(第八部分):多策略分析(3)—— 加权投票机制

MQL5自优化智能交易系统(第八部分):多策略分析(3)—— 加权投票机制

本文将探讨如何确定集成策略中最优的策略数量 —— 这是一个复杂问题,而借助MetaTrader 5的遗传算法优化器可以轻松解决。同时,我们也会使用MQL5云端计算作为核心资源,加速回测与优化过程。具体而言,本篇内容将为后续开发统计评估模型奠定基础,用于基于初始集成结果评估并改进交易策略。
preview
Connexus请求解析(第六部分):创建HTTP请求与响应

Connexus请求解析(第六部分):创建HTTP请求与响应

在Connexus库系列文章的第六篇中,我们将聚焦于完整的HTTP请求,涵盖构成请求的各个组件。我们将创建一个表示整个请求的类,这将有助于将之前创建的各个类整合在一起。
preview
中心引力优化(CFO)算法

中心引力优化(CFO)算法

本文介绍了一种受万有引力定律启发的中心引力优化(CFO)算法。它探讨了物理引力的原理如何解决优化问题,其中“较重”的解决方案会吸引不太成功的对应物。
preview
MQL5 MVC架构中表格视图与控制器组件:简单控件

MQL5 MVC架构中表格视图与控制器组件:简单控件

本文探讨了如何在MVC(模型 - 视图 - 控制器)架构下实现表格,重点介绍简单控件,它们是构建复杂视图组件的基础。控制器主要用来处理用户与元素、元素与元索之间的交互。这是关于视图组件的第二篇文章,也是关于为MetaTrader 5客户端创建表格系列文章中的第四篇。
preview
从基础到中级:FOR 语句

从基础到中级:FOR 语句

在本文中,我们将了解 FOR 语句最基本的概念。了解这里将显示的所有内容非常重要。与我们迄今为止讨论的其他语句不同,FOR 语句有一些怪癖,很快就会变得非常复杂。所以不要让这样的事情堆积起来,尽快开始学习和练习。
preview
Connexus助手(第五部分):HTTP方法和状态码

Connexus助手(第五部分):HTTP方法和状态码

在本文中,我们将了解HTTP方法和状态码,这是网络上客户端与服务器之间通信的两个非常重要的部分。了解每种方法的作用,可以让您更精确地发出请求,告知服务器您想要执行的操作,从而提高效率。
preview
辩证搜索(DA)

辩证搜索(DA)

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

MQL5 简介(第 14 部分):构建自定义指标的初学者指南(三)

学习如何使用图表对象在 MQL5 中构建谐波形态指标。了解如何检测波动点、应用斐波那契回撤线以及自动识别形态。
preview
您应当知道的 MQL5 向导技术(第 57 部分):搭配移动平均和随机振荡器的监督训练

您应当知道的 MQL5 向导技术(第 57 部分):搭配移动平均和随机振荡器的监督训练

移动平均线和随机振荡器是十分常用的指标,因其滞后性质,一些交易者或许较少使用。在一个三部分的“迷你序列”中,研究机器学习的三大主要形式,我们会考证对这些指标的偏见是否合理,或者它们可能占据优势。我们经由向导汇编的智能系统来进行实证。
preview
台球优化算法(BOA)

台球优化算法(BOA)

BOA方法灵感源自经典的台球运动,它将寻求最优解的过程模拟为一场游戏:球体致力于落入代表最佳结果的球袋之中。本文将探讨BOA的基本原理、数学模型及其在解决各类优化问题中的效率。
preview
大逃杀优化器(BRO)

大逃杀优化器(BRO)

本文探讨了大逃杀优化器算法 —— 这是一种元启发式算法,其中各解与其最近邻进行竞争,累积"伤害",当超过阈值时被替换,并周期性地在当前最优解周围缩小搜索空间。文章提供了CAOBRO类的伪代码及MQL5中的实现,包括邻近搜索、向最优解移动以及自适应δ间隔。在Hilly、Forest和Megacity测试函数上的实验结果突出了该方法的优势与局限性。读者可以获得一套开箱即用的基础框架,用于实验和调优关键参数,如种群大小(popSize) 和最大伤害值(maxDamage)。