MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
懒惰是进步的动力,或者如何交互性的使用图形
懒惰是进步的动力,或者如何交互性的使用图形

懒惰是进步的动力,或者如何交互性的使用图形

用于跟趋势线、斐波那契水平和手动置于图表上的图标交互作用的指标。可以让你绘制斐波那契水平的颜色区域、显示价格交叉趋势线的时刻以及管理“价格标签”对象。
DoEasy 函数库中的图形(第八十四部分):抽象标准图形对象的衍生后代类
DoEasy 函数库中的图形(第八十四部分):抽象标准图形对象的衍生后代类

DoEasy 函数库中的图形(第八十四部分):抽象标准图形对象的衍生后代类

在本文中,我将研究为终端的抽象标准图形对象创建衍生后代对象。 该类对象定义了所有图形对象通用的属性。 因此,它只是某个种类的图形对象。 为了阐明它与真实图形对象的从属关系,我们需要在衍生后代对象类中设置该图形对象特定的固有属性。
DoEasy 函数库中的图形(第八十一部分):将图形集成到函数库对象之中
DoEasy 函数库中的图形(第八十一部分):将图形集成到函数库对象之中

DoEasy 函数库中的图形(第八十一部分):将图形集成到函数库对象之中

是时候开始把已创建的对象集成到先前所创建的函数库对象当中了。 这最终将会为每个函数库对象赋予自己的图形对象,便于用户与程序之间的交互。
preview
构建自优化型MQL5智能交易系统(EA)(第3部分):动态趋势跟踪与均值回归策略

构建自优化型MQL5智能交易系统(EA)(第3部分):动态趋势跟踪与均值回归策略

金融市场通常被静态划分为震荡市或趋势市两种模式。这种简化分类虽便于短期交易决策。然而,却与真实市场行为脱节。在本文中,我们将深入探讨市场如何精准地在这两种模式间切换,并利用这方面的认知提升算法交易策略的可靠性。
preview
从头开始开发智能交易系统(第 27 部分):面向未来((II)

从头开始开发智能交易系统(第 27 部分):面向未来((II)

我们迈进更完整的图表上的直接订单系统。 在本文中,我将展示一种修复订单系统的方法,或者更确切地说,令其更直观。
preview
数据科学与机器学习(第 03 部分):矩阵回归

数据科学与机器学习(第 03 部分):矩阵回归

这一次,我们的模型是由矩阵构建的,它更具灵活性,同时它允许我们构建更强大的模型,不仅可以处理五个独立变量,但凡我们保持在计算机的计算极限之内,它还可以处理更多变量,这篇文章肯定会是一篇阅读起来很有趣的文章。
DoEasy 函数库中的图形(第八十部分):“几何动画框”对象类
DoEasy 函数库中的图形(第八十部分):“几何动画框”对象类

DoEasy 函数库中的图形(第八十部分):“几何动画框”对象类

在本文中,我将优化前几篇文章中的类代码,并创建几何动画框对象类,允许我们绘制给定顶点数的正多边形。
preview
基于画布的指标:为通道填充透明度

基于画布的指标:为通道填充透明度

在本文中,我将介绍一种创建自定义指标的方法,该方法利用标准库中的类 CCanvas 来完成绘图,并可查看图表属性以便坐标转换。 我将着手处理特殊的指标,其需要用透明度填充两条线之间的区域。
DoEasy 函数库中的图形(第八十二部分):函数库对象重构和图形对象集合
DoEasy 函数库中的图形(第八十二部分):函数库对象重构和图形对象集合

DoEasy 函数库中的图形(第八十二部分):函数库对象重构和图形对象集合

在本文中,我将通过为每个对象分配唯一类型来改进所有库对象,并继续开发库图形对象集合类。
preview
MQL5 酷宝书 — 服务

MQL5 酷宝书 — 服务

本文讲述了服务的多功能性 — 不需要绑定图的 MQL5 程序。 我还会重点介绍服务与其它 MQL5 程序的区别,并强调开发人员使用服务的细微差别。 作为示例,为读者提供了各种任务,涵盖了可以作为服务实现的各种功能。
DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表
DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表

DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表

在本文中,我将创建存储单一品种即时报价数据的列表,并在 EA 中检查其创建状态,以及检索所需数据。 每个所用品种各自的即时报价数据列表将来会构成即时报价数据集合。
preview
DoEasy 函数库中的时间序列(第五十部分):多周期、多品种带位移的标准指标

DoEasy 函数库中的时间序列(第五十部分):多周期、多品种带位移的标准指标

在文章里,我们将改进函数库的方法,以便正确显示多品种、多周期的标准指标,即那些在当前品种图表上显示曲线,并可在设置中指定位移的指标。 同样,我们按照标准指标的操纵方法进行排序,并在最终的指标程序里将多余的代码移至函数库区域。
preview
价格行为分析工具包开发(第19部分):ZigZag分析器

价格行为分析工具包开发(第19部分):ZigZag分析器

每一位价格行为交易者都会手动使用趋势线来确认趋势,并找出潜在的转折或延续水平。在这个关于开发价格行为分析工具包的系列中,我们介绍一款专注于绘制倾斜趋势线的工具,以便于进行市场分析。该工具通过清晰地勾勒出有效价格行为评估所必需的关键趋势和水平,简化了交易者的流程。
DoEasy 函数库中的图形(第八十六部分):图形对象集合 - 管理属性修改
DoEasy 函数库中的图形(第八十六部分):图形对象集合 - 管理属性修改

DoEasy 函数库中的图形(第八十六部分):图形对象集合 - 管理属性修改

在本文中,我将研究跟踪属性值的修改,以及删除和重命名函数库中的图形对象。
DoEasy 函数库中的图形(第八十九部分):标准图形对象编程。 基本功能
DoEasy 函数库中的图形(第八十九部分):标准图形对象编程。 基本功能

DoEasy 函数库中的图形(第八十九部分):标准图形对象编程。 基本功能

目前,该函数库能够跟踪客户端终端图表上的标准图形对象,包括删除和修改其某些参数。 在当下,它还缺乏从自定义程序创建标准图形对象的能力。
preview
种群优化算法:细菌觅食优化(BFO)

种群优化算法:细菌觅食优化(BFO)

大肠杆菌觅食策略激发出科学家创建 BFO 优化算法的灵感。 该算法包含原创思路和有前景的优化方法,值得深入研究。
preview
利用 MQL5 实现 Janus 因子

利用 MQL5 实现 Janus 因子

加里·安德森(Gary Anderson)基于他称之为Janus因子的理论,开发了一套市场分析方法。 该理论描述了一套可揭示趋势和评估市场风险的指标。 在本文中,我们将利用 mql5 实现这些工具。
preview
交易事务. 请求和响应结构、描述和记录

交易事务. 请求和响应结构、描述和记录

本文探讨了处理交易请求结构,即创建请求、将其发送到服务器之前的初步验证、服务器对交易请求的响应以及交易交易的结构。我们将创建简单方便的函数,将交易订单发送到服务器,并根据所讨论的内容,创建EA来通知交易事务。
DoEasy 库中的其他类(第六十七部分):图表对象类
DoEasy 库中的其他类(第六十七部分):图表对象类

DoEasy 库中的其他类(第六十七部分):图表对象类

在本文中,我将创建图表对象类(单个交易金融产品图表),并改进 MQL5 信号对象的集合类,以便在更新列表时也能为存储在集合中的每个信号对象更新其所有参数。
preview
DoEasy. 控件 (第 10 部分): WinForms 对象 — 动画界面

DoEasy. 控件 (第 10 部分): WinForms 对象 — 动画界面

现在是时候实现动画图形界面功能,方便用户与对象的交互了。 为了让更复杂的对象能正确工作,还需要新功能。
preview
MQL5 中的矩阵和向量:激活函数

MQL5 中的矩阵和向量:激活函数

在此,我们将只讲述机器学习的一个方面 — 激活函数。 在人工神经网络中,神经元激活函数会根据一个或一组输入信号的数值,计算输出信号值。 我们将深入研究该过程的内部运作。
DoEasy 函数库中的图形(第八十三部分):抽象标准图形对象类
DoEasy 函数库中的图形(第八十三部分):抽象标准图形对象类

DoEasy 函数库中的图形(第八十三部分):抽象标准图形对象类

在本文中,我将创建抽象图形对象类。 该对象用作创建标准图形对象类的基础。 图形对象拥有多种属性。 因此,在实际创建抽象图形对象类之前,我还需要做很多的准备工作。 这项工作包括在函数库的枚举中设置属性。
preview
经典策略重塑(第12部分):欧元兑美元(EURUSD)突破交易策略

经典策略重塑(第12部分):欧元兑美元(EURUSD)突破交易策略

今天,我们将挑战在MQL5中构建一套盈利的突破交易系统。我们选择欧元兑美元(EURUSD)货币对,尝试在H1(1小时)时间框架下捕捉价格的突破行情。初期挑战:系统难以区分假突破与真实趋势的开端,导致亏损较多。我们给系统叠加了多层过滤器,旨在把亏损压到最低,同时把盈利抬到最高。最终,我们成功地让系统实现盈利,并大幅降低假突破带来的风险。
DoEasy 函数库中的时间序列(第四十四部分):指标缓冲区对象类集合
DoEasy 函数库中的时间序列(第四十四部分):指标缓冲区对象类集合

DoEasy 函数库中的时间序列(第四十四部分):指标缓冲区对象类集合

本文介绍如何创建指标缓冲区对象类的集合。 我计划测试为指标创建和操控任意数量缓冲区的能力(在 MQL 指标中可以创建的最大缓冲区数量为 512)。
preview
从头开始开发智能交易系统(第 17 部分):访问 web 上的数据(III)

从头开始开发智能交易系统(第 17 部分):访问 web 上的数据(III)

在本文中,我们将继续研究如何从 web 获取数据,并在智能系统中使用它。 这次我们将着手开发一个替代系统。
preview
构建K线趋势约束模型(第九部分):多策略智能交易系统(EA)(三)

构建K线趋势约束模型(第九部分):多策略智能交易系统(EA)(三)

欢迎来到本趋势系列文章的第三部分!今天,我们将深入探讨如何利用背离(Divergence)策略,在既有的日线趋势中识别最优入场点。同时,我们将引入一种定制化的利润锁定机制——其功能类似于追踪止损(Trailing Stop-Loss),但经过独特的优化升级。此外,我们还将把趋势约束智能交易系统升级为更高级版本,新增一项交易执行条件以完善现有策略框架。随着内容推进,我们将持续探索MQL5在算法开发中的实际应用,为您提供更深入的见解与可落地的技术方案。
preview
如何将聪明资金概念(SMC)与 RSI 指标结合到 EA 中

如何将聪明资金概念(SMC)与 RSI 指标结合到 EA 中

聪明资金概念(结构突破)与 RSI 指标相结合,可根据市场结构做出明智的自动交易决策。
preview
DoEasy. 控件 (第 26 部分): 完成 ToolTip(工具提示)WinForms 对象,并转移至 ProgressBar(进度条)开发

DoEasy. 控件 (第 26 部分): 完成 ToolTip(工具提示)WinForms 对象,并转移至 ProgressBar(进度条)开发

在本文中,我将完成 ToolTip(工具提示)控件的开发,并启动 ProgressBar(进度条) WinForms 对象开发。 在处理对象时,我将针对控件及其组件开发动画处理的通用功能。
preview
开发先进的 ICT 交易系统:在指标中实现订单区块

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

在本文中,我们将学习如何创建一个指标来检测、绘制订单区块并提醒订单块的缓解。我们还将详细研究如何在图表上识别这些区块,设置准确的提醒,并使用矩形可视化它们的位置,以更好地了解价格行为。该指标将成为遵循聪明钱概念和内圈交易者(ICT,Inner Circle Trader)方法的交易者的关键工具。
preview
群体优化算法:粒子群(PSO)

群体优化算法:粒子群(PSO)

在本文中,我将研究流行的粒子群优化(PSO)算法。 之前,我们曾讨论过优化算法的重要特征,如收敛性、收敛率、稳定性、可伸缩性,并开发了一个测试台,并研究了最简单的 RNG 算法。
preview
利用对象轻松制作复杂指标

利用对象轻松制作复杂指标

本文提供了一种创建复杂指标的方法,同时还避免了在处置多个作图板、缓冲区、和/或组合来自多个来源的数据时出现的问题。
preview
以 MQL5 实现 ARIMA 训练算法

以 MQL5 实现 ARIMA 训练算法

在本文中,我们将实现一种算法,该算法应用了 Box 和 Jenkins 的自回归集成移动平均模型,并采用了函数最小化的 Powells 方法。 Box 和 Jenkins 表示,大多数时间序列可以由两个框架中之一个或两个来建模。
使用HTML和CSS替换的记录(Log)文件
使用HTML和CSS替换的记录(Log)文件

使用HTML和CSS替换的记录(Log)文件

本文中我们将讲述编写一个简单而功能强大的制作html文件的实例, 在过程中我们会学习调整它们的显示, 以及如何在您的EA交易和脚本程序中轻松实现和使用它们.
更好的程序员(第 06 部分):9 个导致有效编码的习惯
更好的程序员(第 06 部分):9 个导致有效编码的习惯

更好的程序员(第 06 部分):9 个导致有效编码的习惯

并非有关编写代码的所有事情总是导致有效编码。 在我的从业经历中,我发现了一些会导致有效编码的习惯。 我们将在本文中详细讨论其中的一些。 对于每一位想要以更少的麻烦来提高自己编写复杂算法的能力的程序员来说,这是一篇必须阅读的文章。
preview
利用 MQL5 矩阵的反向传播神经网络

利用 MQL5 矩阵的反向传播神经网络

本文讲述在 MQL5 中利用矩阵来应用反向传播算法的理论和实践。 它还提供了现成的类,以及脚本、指标和智能交易系统的示例。
preview
MQL5中的ALGLIB数值分析库

MQL5中的ALGLIB数值分析库

本文简要介绍了ALGLIB 3.19数值分析库、它的应用以及可以提高金融数据分析效率的新算法。
通过 RSS 馈送发送交易信号
通过 RSS 馈送发送交易信号

通过 RSS 馈送发送交易信号

将交易信号作为 RSS 馈送发出是当下与你社区成员沟通的流行方式,在此我要向你介绍我对这种方式的个人理解。
preview
DoEasy 函数库中的时间序列(第五十二部分):多周期、多品种单缓冲区标准指标的跨平台性质

DoEasy 函数库中的时间序列(第五十二部分):多周期、多品种单缓冲区标准指标的跨平台性质

在本文中,研究创建多品种、多周期标准指标的“建仓/派发”。 略微改进指标依托的函数库类,以便从老旧的 MetaTrader 4 平台切换到 MetaTrader 5 时,基于该函数库开发的程序均可正常运行。
preview
种群优化算法:Nelder-Mead(NM),或单纯形搜索方法

种群优化算法:Nelder-Mead(NM),或单纯形搜索方法

本文表述针对 Nelder-Mead 方法进行的彻底探索,解释了如何在每次迭代中修改和重新排列单纯形(函数参数空间),从而达成最优解,并讲述了如何改进该方法。
preview
人工蜂巢算法(ABHA):理论及方法

人工蜂巢算法(ABHA):理论及方法

在本文中,我们将探讨2009年开发的人工蜂巢算法(ABHA)。该算法旨在解决连续优化问题。我们将研究ABHA如何从蜂群的行为中汲取灵感,其中每只蜜蜂都有独特的角色,帮助它们更有效地寻找资源。