MQL5 编程示例的文章

icon

访问海量文章以及代码实例集合,演示如何使用 MQL5 语言 为 MetaTrader 平台创建指标和交易机器人。源代码已附加在文章之中,因此您可以在 MetaEditor 中打开并运行它们,看看应用程序如何工作。

这些文章对那些刚开始探索自动交易的人,以及具有编程经验的职业交易员都极其有用。它们的特色不仅是例子,而且也蕴含着新的想法。

添加一个新的文章
最近 | 最佳
preview
种群优化算法:引力搜索算法(GSA)

种群优化算法:引力搜索算法(GSA)

GSA 是一种受无生命自然启发的种群优化算法。 万幸在算法中实现了牛顿的万有引力定律,对物理物体相互作用进行建模的高可靠性令我们能够观察到行星系统和星系团的迷人舞蹈。 在本文中,我将研究最有趣和最原始的优化算法之一。 还提供了空间物体运动的模拟器。
preview
解构客户端交易策略的示例

解构客户端交易策略的示例

本文使用框图来检查位于终端的 Experts\Free Robots 文件夹中的基于烛形的训练 EA 的逻辑。
preview
在 MQL5 中实现增广迪基–富勒检验

在 MQL5 中实现增广迪基–富勒检验

在本文中,我们演示了增广迪基–富勒(Augmented Dickey-Fuller,ADF)检验的实现,并将其应用于使用 Engle-Granger 方法进行协整检验。
preview
掌握 MQL5:从入门到精通(第三部分)复杂数据类型和包含文件

掌握 MQL5:从入门到精通(第三部分)复杂数据类型和包含文件

这是描述 MQL5 编程主要方面的系列文章中的第三篇。本文涵盖了上一篇文章中未讨论的复杂数据类型。这些包括结构、联合、类和“函数”数据类型。它还解释了如何使用 #include 预处理器指令为程序添加模块化。
preview
卡尔曼滤波器在外汇均值回归策略中的应用

卡尔曼滤波器在外汇均值回归策略中的应用

卡尔曼滤波器是一种递归算法,在算法交易中用于通过滤除价格走势中的噪声来估计金融时间序列的真实状态。它能够根据新的市场数据动态更新预测,这使得它在均值回归等自适应策略中极具价值。本文首先介绍卡尔曼滤波器,涵盖其计算方法和实现方式。接下来,我们以外汇领域一个经典的均值回归策略为例,应用该滤波器。最后,我们通过将卡尔曼滤波器与移动平均线(MA)在外汇不同货币对上进行比较,开展各种统计分析。
preview
开发回放系统(第32部分):订单系统(一)

开发回放系统(第32部分):订单系统(一)

在我们迄今为止开发的所有东西中,正如你可能会注意到并最终同意的那样,这个系统是最复杂的。现在我们需要做一些非常简单的事情:让我们的系统模拟交易服务器的操作。准确实现交易服务器操作方式似乎是一件轻而易举的事情。至少说起来是这样。但我们需要这样做,以便对回放/模拟系统的用户来说,一切都是无缝和透明的。
preview
使用MQL5和Python构建自优化EA(第二部分):调整深度神经网络

使用MQL5和Python构建自优化EA(第二部分):调整深度神经网络

机器学习模型带有各种可调节的参数。在本系列文章中,我们将探讨如何使用SciPy库来定制您的AI模型,使其适应特定的市场。
preview
DoEasy.服务功能(第 1 部分):价格形态

DoEasy.服务功能(第 1 部分):价格形态

在本文中,我们将开始开发使用时间序列数据搜索价格形态的方法。一种形态有一组参数,对任何类型的形态都是通用的。所有此类数据都将集中在基础抽象形态的对象类中。在本文中,我们将创建一个抽象形态类和一个 Pin Bar 形态类。
preview
DoEasy. 控件 (第 21 部分): SplitContainer 控件 面板隔板

DoEasy. 控件 (第 21 部分): SplitContainer 控件 面板隔板

在本文中,我将为 SplitContainer 控件创建辅助面板隔板对象类。
preview
DoEasy. 控件 (第 5 部分): 基准 WinForms 对象,面板控件,AutoSize 参数

DoEasy. 控件 (第 5 部分): 基准 WinForms 对象,面板控件,AutoSize 参数

在本文中,我将创建所有函数库 WinForms 对象的基准对象,并开始实现面板 WinForms 对象的 AutoSize 属性 — 自动调整尺寸,从而适应对象内部内容。
preview
种群优化算法:Boids(虚拟生物)算法

种群优化算法:Boids(虚拟生物)算法

本文基于动物集群行为的独特实例,说明Boids算法。反过来说,Boids算法又成为了一整类算法的基础,这类算法统称为“种群智能”。
preview
开发回放系统 — 市场模拟(第 04 部分):调整设置(II)

开发回放系统 — 市场模拟(第 04 部分):调整设置(II)

我们继续创建系统和控制。 没有掌控服务的能力,就很难向前推进和改进系统。
preview
多交易品种多周期指标中的 DRAW_ARROW 绘图类型

多交易品种多周期指标中的 DRAW_ARROW 绘图类型

本文将介绍如何绘制多交易品种多周期的箭头指标。我们还将改进类方法,以便正确显示箭头指标的数据,这些数据是根据与当前图表交易品种/周期不一致的交易品种/周期计算的。
preview
从新手到专家:MQL5中的协作式调试指南

从新手到专家:MQL5中的协作式调试指南

问题解决法能为掌握复杂技能(如MQL5编程)构建高效路径。该方法让您在专注攻克问题的同时,潜移默化地提升技能水平。解决的难题越多,大脑积累的专业知识就越深厚。就我个人而言,调试是精通编程最有效的途径。本文将带你逐步梳理代码清理流程,并探讨将杂乱程序转化为简洁高效代码的核心技巧。阅读本文,洞悉其中的宝贵见解。
preview
开发回放系统(第33部分):订单系统(二)

开发回放系统(第33部分):订单系统(二)

今天,我们将继续开发订单系统。正如您将看到的,我们将大规模重用其他文章中已经展示的内容。尽管如此,你还是会在这篇文章中获得一点奖励。首先,我们将开发一个可以与真实交易服务器一起使用的系统,无论是从模拟账户还是从真实账户。我们将广泛使用MetaTrader 5平台,该平台将从一开始就为我们提供所有必要的支持。
preview
重构经典策略(第九部分):多时间框架分析(第二部分)

重构经典策略(第九部分):多时间框架分析(第二部分)

在今天的讨论中,我们探讨了多时间框架分析的策略,以确定我们的人工智能(AI)模型在哪个时间框架上表现最优。分析结果表明,在欧元兑美元(EURUSD)货币对上,月度和小时时间框架生成的模型具有相对较低的误差率。我们利用这一优势,开发了一个交易算法,该算法在月度时间框架上进行人工智能预测,并在小时时间框架上执行交易。
preview
彗星尾算法(CTA)

彗星尾算法(CTA)

在这篇文章中,我们将探讨彗星尾优化算法(CTA),该算法从独特的太空物体——彗星及其接近太阳时形成的壮观尾部中汲取灵感。该算法基于彗星及其尾部运动的概念设计而成,旨在寻找优化问题中的最优解。
preview
MQL5 中的范畴论 (第 4 部分):跨度、实验、及合成

MQL5 中的范畴论 (第 4 部分):跨度、实验、及合成

范畴论是数学的一个多样化和不断扩展的分支,到目前为止,在 MQL5 社区中还相对难以发现。 这些系列文章旨在介绍和研究其一些概念,其总体目标是建立一个开放的函数库,提供洞察力,同时希望在交易者的策略开发中进一步运用这一非凡的领域。
preview
开发回放系统 — 市场模拟(第 08 部分):锁定指标

开发回放系统 — 市场模拟(第 08 部分):锁定指标

在本文中,我们将亲眼见证如何在简单地利用 MQL5 语言锁定指标,我们将以一种非常有趣和迷人的方式做到这一点。
preview
DoEasy. 控件 (第 12 部分): 基准列表对象、ListBox 和 ButtonListBox WinForms 对象

DoEasy. 控件 (第 12 部分): 基准列表对象、ListBox 和 ButtonListBox WinForms 对象

在本文中,我将继续创建 WinForms 对象列表的基准对象,以及两个新对象:ListBox 和 ButtonListBox。
preview
同时交易多种工具时平衡风险

同时交易多种工具时平衡风险

本文将帮助初学者从头开始编写一个脚本的实现,用于在同时交易多种工具时平衡风险。此外,它还可以为有经验的用户提供新的思路,使他们可以根据本文提出的方案来实现自己的解决方案。
preview
价格行为分析工具包开发(第七部分):信号脉冲智能交易系统(EA)

价格行为分析工具包开发(第七部分):信号脉冲智能交易系统(EA)

借助“信号脉冲(Signal Pulse)”这款MQL5智能交易系统(EA),释放多时间框架分析的潜力。该EA整合了布林带(Bollinger Bands)和随机震荡器(Stochastic Oscillator),以提供准确、高概率的交易信号。了解如何实施这一策略,并使用自定义箭头有效直观地显示买入和卖出机会。非常适合希望借助多时间框架的自动化分析来提升自身判断能力的交易者。
preview
价格行为分析工具包开发(第一部分):图表投影仪

价格行为分析工具包开发(第一部分):图表投影仪

本项目旨在利用 MQL5 程序算法为 MetaTrader 5 开发一套全面的分析工具。这些工具包括脚本、指标、人工智能模型以及EA,能够自动地进行市场分析。在某些情况下,这些工具能够完全无需人工干预地进行高级分析,并将预测结果发送到相应的平台。绝不会错过任何机会。请与我一同探索构建一套强大的自定义市场分析工具箱。我们将从开发一个简单的 MQL5 程序开始,我将其命名为“图表投影仪”。
preview
在 MQL5 中创建交易管理员面板(第一部分):构建消息接口

在 MQL5 中创建交易管理员面板(第一部分):构建消息接口

本文讨论了为 MetaTrader 5 创建一个消息接口,旨在帮助系统管理员在平台内直接与其他交易者进行沟通。MQL5 最近与社交平台的整合使得信号能够通过不同渠道快速广播。想象一下,只需点击“是”或“否”就能确认发送信号。继续阅读以了解更多信息。
preview
DRAKON可视化编程语言 - 面向MQL开发人员和客户的通信工具

DRAKON可视化编程语言 - 面向MQL开发人员和客户的通信工具

DRAKON是一种可视化编程语言,旨在简化来自不同领域的专家(生物学家、物理学家、工程师…)与俄罗斯太空项目(例如,Buran可重复使用航天器项目)程序员之间的互动。在这篇文章中,我将讨论DRAKON如何使算法的创建变得容易和直观,即使你从未遇到过代码,以及客户在订购交易机器人时如何更容易解释他们的想法,以及程序员如何在复杂函数中减少错误。
preview
群体优化算法:差分进化(DE)

群体优化算法:差分进化(DE)

在本文中,我们将讨论在前面讨论过的所有算法中最有争议的算法 - 差分进化算法(Differential Evolution,DE)。
preview
研究PrintFormat()并应用现成的示例

研究PrintFormat()并应用现成的示例

这篇文章对初学者和有经验的开发人员都很有用。我们将研究PrintFormat()函数,分析字符串格式的示例,并编写用于在终端日志中显示各种信息的模板。
preview
开发回放系统 — 市场模拟(第 07 部分):首次改进(II)

开发回放系统 — 市场模拟(第 07 部分):首次改进(II)

在上一篇文章中,我们针对复现系统进行了一些修复并加入了测试,以确保可能的最佳稳定性。 我们还着手为这个系统创建和使用配置文件。
preview
衡量指标信息

衡量指标信息

机器学习已成为策略制定的流行方法。 虽然人们更强调最大化盈利能力和预测准确性,但处理用于构建预测模型的数据的重要性,仍未受到太多关注。 在本文中,我们研究依据熵的概念来评估预测模型构建的指标的适配性,如 Timothy Masters 的《测试和优调市场交易系统》一书中所述。
preview
重塑经典策略(第四部分):标普500指数与美国国债

重塑经典策略(第四部分):标普500指数与美国国债

在本系列文章中,我们使用现代算法分析经典交易策略,以确定是否可以利用人工智能改进这些策略。在今天的文章中,我们将重新审视一种利用标普500指数与美国国债之间关系的经典交易方法。
preview
群体优化算法:螺旋动态优化 (SDO) 算法

群体优化算法:螺旋动态优化 (SDO) 算法

文章介绍了一种基于自然界螺旋轨迹构造模式(如软体动物贝壳)的优化算法 - 螺旋动力学优化算法(Spiral Dynamics Optimization,SDO)。我对作者提出的算法进行了彻底的修改和完善,本文将探讨这些修改的必要性。
preview
DoEasy. 控件 (第 27 部分): 继续致力 ProgressBar(进度条)WinForms 对象

DoEasy. 控件 (第 27 部分): 继续致力 ProgressBar(进度条)WinForms 对象

在本文中,我将继续开发进度条(ProgressBar)控件。 特别是,我将创建管理进度条和视觉效果的功能。
preview
DoEasy. 控件 (第 24 部分): 提示(Hint)辅助 WinForms 对象

DoEasy. 控件 (第 24 部分): 提示(Hint)辅助 WinForms 对象

在本文中,我将修改为所有 WinForms 函数库对象指定基准对象和主对象的逻辑,并开发一个新的提示(Hint)基准对象,及其若干个派生类,用以示意移动隔板的可能方向。
preview
开发具有 RestAPI 集成的 MQL5 强化学习代理(第 4 部分):在 MQL5 中组织类中的函数

开发具有 RestAPI 集成的 MQL5 强化学习代理(第 4 部分):在 MQL5 中组织类中的函数

本文讨论 MQL5 中从面向过程编码向面向对象编程 (OOP) 的过渡,重点是与 REST API 的集成。今天,我们将讨论如何将 HTTP 请求函数(GET 和 POST)组织到类中。我们将仔细研究代码重构,并展示如何用类方法替换孤立的函数。本文包含实用的示例和测试。
preview
群体优化算法:混合蛙跳算法(SFL)

群体优化算法:混合蛙跳算法(SFL)

本文详细描述了混合蛙跳(Shuffled Frog-Leaping,SFL)算法及其在求解优化问题中的能力。SFL算法的灵感来源于青蛙在自然环境中的行为,为函数优化提供了一种新的方法。SFL算法是一种高效灵活的工具,能够处理各种数据类型并实现最佳解决方案。
preview
种群优化算法:鸟群算法(BSA)

种群优化算法:鸟群算法(BSA)

本文探讨了受自然界鸟类集群行为启发而产生的基于鸟群的算法(BSA)。BSA中的个体采用不同的搜索策略,包括在飞行、警戒和觅食行为之间的切换,使得该算法具有多面性。它利用鸟类集群、交流、适应性、领导与跟随等规则来高效地找到最优解。
preview
频域中的滤波和特征提取

频域中的滤波和特征提取

在本文中,我们探索了在时间序列由数字滤波器在频域上进行表达的应用,如此即可提取也许对预测模型有用的独特特征。
preview
使用PSAR、Heiken Ashi和深度学习进行交易

使用PSAR、Heiken Ashi和深度学习进行交易

本项目探索深度学习与技术分析的融合,用于在外汇市场测试交易策略。使用Python脚本进行快速实验,结合ONNX模型和传统指标(如PSAR、SMA和RSI)来预测欧元/美元(EUR/USD )的走势。之后,MQL5脚本将此策略引入实时环境,利用历史数据和技术分析帮助交易者做出明智的交易决策。回测结果表明,该策略秉持保守且稳健的运作理念,始终将风险管控置于首位,追求持续稳定的收益增长模式,摒弃激进逐利的行为。
preview
市场轮廓指标

市场轮廓指标

在本文中,我们将探讨市场轮廓指标。我们将探究这个名称背后隐藏的内容,尝试理解其运行原理,并分析其程序代码(MarketProfile)。
preview
您应当知道的 MQL5 向导技术(第 17 部分):多币种交易

您应当知道的 MQL5 向导技术(第 17 部分):多币种交易

当经由向导组装一款智能系统时,默认情况下,跨多币种交易不可用。我们研究了 2 种可能采取的技巧,可令交易者在同一时间据多个品种测试他们的思路。