MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
种群优化算法:进化策略,(μ,λ)-ES 和 (μ+λ)-ES

种群优化算法:进化策略,(μ,λ)-ES 和 (μ+λ)-ES

本文研究一套称为进化策略(ES)的优化算法。它们是最早使用进化原理来寻找最优解的种群算法之一。我们将针对传统的 ES 变体实现变更,并修改算法的测试函数和测试台方法。
preview
MetaTrader 中的 Multibot(第二部分):改进的动态模板

MetaTrader 中的 Multibot(第二部分):改进的动态模板

在开发上一篇文章的主题时,我决定创建一个更灵活、功能更强大的模板,该模板具有更大的功能,可以有效地用于自由职业,也可以作为开发多货币和多时段 EA 的基础,并能够与外部解决方案集成。
preview
开发多币种 EA 交易(第 18 部分):考虑远期的自动化组选择

开发多币种 EA 交易(第 18 部分):考虑远期的自动化组选择

让我们继续将之前手动执行的步骤自动化。这一次,我们将回到第二阶段的自动化,即选择交易策略的最佳单实例组,并补充考虑远期实例结果的能力。
preview
创建 MQL5-Telegram 集成 EA 交易 (第 3 部分):将带有标题的图表截图从 MQL5 发送到 Telegram

创建 MQL5-Telegram 集成 EA 交易 (第 3 部分):将带有标题的图表截图从 MQL5 发送到 Telegram

在本文中,我们创建一个 MQL5 EA 交易,将图表截图编码为图像数据并通过 HTTP 请求将其发送到 Telegram 聊天。通过集成图片编码和传输,我们直接在 Telegram 内通过可视化交易洞察增强了现有的 MQL5-Telegram 系统。
preview
将 Discord 与 MetaTrader 5 集成:构建具有实时通知功能的交易机器人

将 Discord 与 MetaTrader 5 集成:构建具有实时通知功能的交易机器人

本文将介绍如何将 MetaTrader 5 与 Discord 服务器集成,以便能从任何地方实时接收交易通知。我们将了解如何配置平台和 Discord,以启用向 Discord 发送警报的功能。我们还将讨论在使用 WebRequests 和 webhook 实现此类警报解决方案时可能引发的安全问题。
preview
重构经典策略(第十三部分):最小化均线交叉的滞后性

重构经典策略(第十三部分):最小化均线交叉的滞后性

在我们交易者社区中,均线交叉策略已是广为人知,然而,自该策略诞生以来,其核心思想却几乎一成未变。在本次讨论中,我们将为您呈现对原策略的一项微调,其目的在于最小化该交易策略中存在的滞后性。所有原策略的爱好者们,不妨根据我们今天将要探讨的见解,来重新审视并改进这一策略。通过使用两条周期相同的移动平均线,我们可以在不违背策略基本原则的前提下,显著减少交易策略的滞后。
preview
DoEasy. 控件 (第 28 部分): 进度条控件中的柱线样式

DoEasy. 控件 (第 28 部分): 进度条控件中的柱线样式

在本文中,我将开发进度条控件的柱线显示样式和说明文本。
preview
交易中的多项式模型

交易中的多项式模型

本文将介绍正交多项式。正交多项式的应用,可以成为更准确、更有效地分析市场信息的基础,从而帮助交易者做出更明智的决策。
preview
神经网络变得轻松(第五十一部分):行为-指引的扮演者-评论者(BAC)

神经网络变得轻松(第五十一部分):行为-指引的扮演者-评论者(BAC)

最后两篇文章研究了软性扮演者-评论者算法,该算法将熵正则化整合到奖励函数当中。这种方式在环境探索和模型开发之间取得平衡,但它仅适用于随机模型。本文提出了一种替代方式,能适用于随机模型和确定性模型两者。
preview
MQL5 交易工具包(第 3 部分):开发挂单管理 EX5 库

MQL5 交易工具包(第 3 部分):开发挂单管理 EX5 库

了解如何在 MQL5 代码或项目中开发和实现全面的挂单 EX5库。本文将向您展示如何创建一个全面的挂单管理 EX5 库,并通过构建交易面板或图形用户界面(GUI)来指导您导入和实现它。EA 交易订单面板将允许用户直接从图表窗口上的图形界面打开、监控和删除与指定幻数相关的挂单。
preview
MQL5自动化交易策略(第二部分):基于一目均衡表与动量震荡器的云突破交易系统

MQL5自动化交易策略(第二部分):基于一目均衡表与动量震荡器的云突破交易系统

在本文中,我们将创建一个智能交易系统(EA),利用一目均衡表指标与动量震荡器,实现云图突破策略的自动化交易。我们将逐步解析以下核心流程:指标句柄初始化、突破条件检测和自动化交易执行。此外,我们还实现追踪止损机制与动态仓位管理,以提升EA的盈利能力及对市场波动的适应性。
preview
自定义指标:为净额结算账户绘制部分入场、出场和反转交易

自定义指标:为净额结算账户绘制部分入场、出场和反转交易

在本文中,我们将探讨在MQL5中创建指标的一种非标准方法。我们的目标不是专注于趋势或图表形态,而是管理我们自己的仓位,包括部分入场和出场。我们将广泛使用动态矩阵以及一些与交易历史和未平仓头寸相关的交易函数,以在图表上显示这些交易发生的位置。
preview
开发回放系统(第29部分):EA 交易项目——C_Mouse类(三)

开发回放系统(第29部分):EA 交易项目——C_Mouse类(三)

在改进了C_Mouse类之后,我们可以专注于创建一个类,该类旨在为我们的分析创建一个全新的框架。我们不会使用继承或多态性来创建这个新类。相反,我们将改变,或者更好地说,在价格线中添加新的对象。这就是我们在这篇文章中要做的。在下一节中,我们将研究如何更改分析。所有这些都将在不更改C_Mouse类的代码的情况下完成。实际上,使用继承或多态性会更容易实现这一点。然而,还有其他方法可以达到同样的结果。
preview
交易中的神经网络:多智代自适应模型(MASA)

交易中的神经网络:多智代自适应模型(MASA)

我邀您领略多智代自适应(MASA)框架,其结合了强化学习和自适应策略,在动荡市场条件下提供盈利能力、及风险管理之间的和谐均衡。
preview
神经网络变得简单(第 73 部分):价格走势预测 AutoBot

神经网络变得简单(第 73 部分):价格走势预测 AutoBot

我们将继续讨论训练轨迹预测模型的算法。在本文中,我们将领略一种称为 “AutoBots” 的方法。
preview
开发先进的 ICT 交易系统:在订单块指标中实现信号

开发先进的 ICT 交易系统:在订单块指标中实现信号

在本文中,您将学习如何基于订单簿交易量(市场深度)开发订单块(Order Blocks)指标,并使用缓冲区对其进行优化以提高准确性。这结束了项目的当前阶段,并为下一阶段做准备,下一阶段将包括实施风险管理类和使用指标生成的信号的交易机器人。
preview
MQL5自动化交易策略(第四部分):构建多层级区域恢复系统

MQL5自动化交易策略(第四部分):构建多层级区域恢复系统

本文将介绍如何在MQL5中开发一个基于相对强弱指数(RSI)生成交易信号的多层级区域恢复(反转)系统(Multi-Level Zone Recovery System)。该系统通过动态数组结构管理多个信号实例,使区域恢复逻辑能够同时处理多重交易信号。通过这种设计,我们展示了如何在保持代码可扩展性和健壮性的前提下,有效应对复杂的交易管理场景。
preview
美元和欧元指数图表 — MetaTrader 5 服务示例

美元和欧元指数图表 — MetaTrader 5 服务示例

我们将以 MetaTrader 5 服务为例,探讨创建和更新美元指数 (USDX) 和欧元指数 (EURX) 图表。启动服务时,我们将检查所需合成工具的存在,必要时创建它,并将其放置在市场观察窗口中。随后将创建合成工具的分钟和分时报价历史记录,然后创建所创建工具的图表。
preview
MQL5 中的范畴论 (第 17 部分):函子与幺半群

MQL5 中的范畴论 (第 17 部分):函子与幺半群

本文是我们系列文章的最后一篇,将函子作为一个主题来讨论,且把幺半群作为一个范畴来重新审视。幺半群已在我们的系列中多次讲述,于此配合多层感知器帮助确定持仓规模。
preview
开发回放系统 — 市场模拟(第 14 部分):模拟器的诞生(IV)

开发回放系统 — 市场模拟(第 14 部分):模拟器的诞生(IV)

在本文中,我们将继续探讨模拟器开发的新阶段。 这次,我们会见到如何有效地创建随机游走类型的走势。 这种类型的走势非常引人入胜,因为它是构成资本市场上所发生一切的基础。 此外,我们将开始了解一些对于进行市场分析至关重要的概念。
preview
神经网络变得简单(第 78 部分):带有变换器的无解码对象检测器(DFFT)

神经网络变得简单(第 78 部分):带有变换器的无解码对象检测器(DFFT)

在本文中,我提议从不同的角度看待构建交易策略的问题。我们不会预测未来的价格走势,但会尝试基于历史数据分析构建交易系统。
preview
MQL5交易管理面板开发(第九部分):代码组织(4):交易管理面板类

MQL5交易管理面板开发(第九部分):代码组织(4):交易管理面板类

本文探讨我们在New_Admin_Panel智能交易系统(EA)中更新交易管理面板(TradeManagementPanel)。此次更新通过引入内置类组件,显著提升了面板的用户友好性,为交易者提供了直观的交易管理界面。其内置交易按钮,可一键开仓,并提供管理现有持仓与挂单的控制选项。核心亮点是集成的风险管理功能——可直接在界面内设置止损与止盈值。此次更新优化了大型程序的代码组织方式,并简化了对终端中常见繁杂订单管理工具的访问。
preview
开发回放系统(第 59 部分):新的未来

开发回放系统(第 59 部分):新的未来

正确理解不同的想法可以让我们事半功倍。在本文中,我们将探讨为什么在服务与图表交互之前需要配置模板。此外,如果我们改进鼠标指标,这样我们就可以用它做更多的事情呢?
preview
您应当知道的 MQL5 向导技术(第 26 部分):移动平均和赫斯特(Hurst)指数

您应当知道的 MQL5 向导技术(第 26 部分):移动平均和赫斯特(Hurst)指数

赫斯特(Hurst)指数是时间序列长期自相关度的衡量度。据了解,它捕获时间序列的长期属性,故在时间序列分析中也具有一定的分量,即使在财经/金融时间序列之外亦然。然而,我们专注于其对交易者的潜在益处,研究如何将该计量度与移动平均线配对,从而构建潜在的稳健信号。
preview
开发基于订单簿的交易系统(第一部分):指标

开发基于订单簿的交易系统(第一部分):指标

市场深度无疑是执行快速交易的一个非常重要的因素,特别是在高频交易(HFT)算法中。在本系列文章中,我们将探讨这种类型的交易事件,这些事件可以通过经纪商在许多可交易的交易品种上获得。我们将从一个指标开始,您可以在其中自定义直接显示在图表上的直方图的调色板、位置和大小。我们还将研究如何生成 BookEvent 事件,以在特定条件下测试指标。未来文章的其他可能主题包括如何存储价格分布数据以及如何在策略测试器中使用它。
preview
将您自己的 LLM 集成到 EA 中(第 5 部分):使用 LLM 开发和测试交易策略(三)—— 适配器微调

将您自己的 LLM 集成到 EA 中(第 5 部分):使用 LLM 开发和测试交易策略(三)—— 适配器微调

随着当今人工智能的快速发展,语言模型(LLMs)是人工智能的重要组成部分,因此我们应该考虑如何将强大的 LLMs 整合到我们的算法交易中。对于大多数人来说,很难根据他们的需求微调这些强大的模型,在本地部署它们,然后将它们应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。
preview
掌握 MQL5:从入门到精通(第四部分):关于数组、函数和全局终端变量

掌握 MQL5:从入门到精通(第四部分):关于数组、函数和全局终端变量

本文是初学者系列文章的延续。它详细介绍了数据数组、数据和函数的交互,以及允许不同 MQL5 程序之间交换数据的全局终端变量。
preview
交易中的神经网络:时空神经网络(STNN)

交易中的神经网络:时空神经网络(STNN)

在本文中,我们将谈及使用时空变换来有效预测即将到来的价格走势。为了提高 STNN 中的数值预测准确性,提出了一种连续注意力机制,令模型能够更好地参考数据的重要方面。
preview
开发多币种 EA 交易(第 12 部分):开发自营交易级别风险管理器

开发多币种 EA 交易(第 12 部分):开发自营交易级别风险管理器

在正在开发的 EA 中,我们已经有了某种控制回撤的机制。但它具有概率性,因为它是以历史价格数据的测试结果为基础的。因此,回撤有时会超过最大预期值(尽管概率很小)。让我们试着增加一种机制,以确保遵守指定的回撤水平。
preview
交易中的神经网络:TEMPO 方法的实施结果

交易中的神经网络:TEMPO 方法的实施结果

我们继续领略 TEMPO 方法。在本文中,我们将评估所提议方法在真实历史数据上的真实有效性。
preview
大爆炸-大坍缩(BBBC)算法

大爆炸-大坍缩(BBBC)算法

本文介绍了大爆炸-大坍缩方法,该方法包含两个关键阶段:随机点的循环生成,以及将这些点压缩至最优解。该方法结合了探索与精炼过程,使我们能够逐步找到更优的解,并开拓新的优化可能性。
preview
为 MetaTrader 5 开发MQTT客户端:TDD方法——第3部分

为 MetaTrader 5 开发MQTT客户端:TDD方法——第3部分

本文是一系列文章的第三部分,介绍了我们为MQTT协议开发本机MQL5客户端的步骤。在这一部分中,我们详细描述了如何使用测试驱动开发来实现CONNECT/CONNACK数据包交换的操作行为部分。在这一步骤结束时,我们的客户端必须能够在处理连接尝试可能产生的任何服务器结果时表现得正常。
preview
如何构建并优化基于成交量的交易系统——蔡金资金流指标(Chaikin Money Flow - CMF)

如何构建并优化基于成交量的交易系统——蔡金资金流指标(Chaikin Money Flow - CMF)

在本文中,我们将在明确如何构建、计算和使用基于成交量的指标——蔡金资金流指标(Chaikin Money Flow,CMF)之后,对该指标进行介绍。我们将了解如何构建自定义指标。我们会分享一些可用的简单策略,然后对这些策略进行测试,以了解哪种策略更优。
preview
MQL5中的自动化交易策略(第七部分):构建具备仓位动态调整功能的网格交易EA

MQL5中的自动化交易策略(第七部分):构建具备仓位动态调整功能的网格交易EA

在本文中,我们将在 MQL5 中构建一个使用动态仓位缩放的网格交易EA。我们将涵盖策略设计、代码实现和回测过程。最后,我们将分享用于优化该自动化交易系统的关键方案和最佳实践。
preview
为智能系统制定品质因数

为智能系统制定品质因数

在本文中,我们将见识到如何制定一个品质得分,并由您的智能系统从策略测试器返回。 我们将查看两种著名的计算方法 — Van Tharp 和 Sunny Harris。
preview
您应当知道的 MQL5 向导技术(第 28 部分):据入门学习率重新审视 GAN

您应当知道的 MQL5 向导技术(第 28 部分):据入门学习率重新审视 GAN

学习率是许多机器学习算法在训练过程期间,朝向训练目标迈进的步长。我们检验了其众多调度和格式对于生成式对抗网络性能的影响,该神经网络类型我们在早前文章中已检验过。
preview
价格行为分析工具包开发(第十四部分):抛物线转向与反转工具

价格行为分析工具包开发(第十四部分):抛物线转向与反转工具

采用技术指标分析价格行为是一种强有力的方法。这些指标通常突出显示反转和回调的关键水平,为揭示市场动态提供了宝贵的信息。在本文中,我们演示了如何开发一个使用抛物线转向(Parabolic SAR)指标生成信号的自动化交易程序。
preview
可视化交易图表(第二部分):数据图形化展示

可视化交易图表(第二部分):数据图形化展示

接下来,我们将从头开始编写一个脚本,以简化交易订单截图的加载过程,便于分析交易入场点。所有关于单个交易的必要信息都将方便地显示在一个图表上,并且该图表具备绘制不同时间框架的能力。
preview
Connexus入门(第一部分):如何使用WebRequest函数?

Connexus入门(第一部分):如何使用WebRequest函数?

本文是‘Connexus’库开发系列的开篇之作,旨在为MQL5环境下的HTTP请求提供便利支持。该项目的目的是为终端用户提供这个机会,并展示如何使用这个辅助库。我打算尽可能地简化,以便于学习,从而为进一步开发提供可能性。
preview
利用CatBoost机器学习模型作为趋势跟踪策略的过滤器

利用CatBoost机器学习模型作为趋势跟踪策略的过滤器

CatBoost是一种强大的基于树的机器学习模型,擅长基于静态特征进行决策。其他基于树的模型,如XGBoost和随机森林(Random Forest),在稳健性、处理复杂模式的能力以及可解释性方面具有相似特性。这些模型应用广泛,可用于特征分析、风险管理等多个领域。在本文中,我们将逐步介绍如何将训练好的CatBoost模型用作经典移动平均线交叉趋势跟踪策略的过滤器。