MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
从头开始开发智能交易系统(第 17 部分):访问 web 上的数据(III)

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

在本文中,我们将继续研究如何从 web 获取数据,并在智能系统中使用它。 这次我们将着手开发一个替代系统。
preview
利用对象轻松制作复杂指标

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

本文提供了一种创建复杂指标的方法,同时还避免了在处置多个作图板、缓冲区、和/或组合来自多个来源的数据时出现的问题。
preview
种群优化算法:细菌觅食优化(BFO)

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

大肠杆菌觅食策略激发出科学家创建 BFO 优化算法的灵感。 该算法包含原创思路和有前景的优化方法,值得深入研究。
preview
MQL5 中的矩阵和向量:激活函数

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

在此,我们将只讲述机器学习的一个方面 — 激活函数。 在人工神经网络中,神经元激活函数会根据一个或一组输入信号的数值,计算输出信号值。 我们将深入研究该过程的内部运作。
preview
在 MQL 应用程序中运用 CCanvas 类

在 MQL 应用程序中运用 CCanvas 类

本文研究在 MQL 应用程序中运用 CCanvas 类。 原理会伴随着详细的解释和示例,从而彻底理解 CCanvas 的基础知识。
preview
数据科学与机器学习(第 03 部分):矩阵回归

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

这一次,我们的模型是由矩阵构建的,它更具灵活性,同时它允许我们构建更强大的模型,不仅可以处理五个独立变量,但凡我们保持在计算机的计算极限之内,它还可以处理更多变量,这篇文章肯定会是一篇阅读起来很有趣的文章。
preview
基于画布的指标:为通道填充透明度

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

在本文中,我将介绍一种创建自定义指标的方法,该方法利用标准库中的类 CCanvas 来完成绘图,并可查看图表属性以便坐标转换。 我将着手处理特殊的指标,其需要用透明度填充两条线之间的区域。
preview
以 MQL5 实现 ARIMA 训练算法

以 MQL5 实现 ARIMA 训练算法

在本文中,我们将实现一种算法,该算法应用了 Box 和 Jenkins 的自回归集成移动平均模型,并采用了函数最小化的 Powells 方法。 Box 和 Jenkins 表示,大多数时间序列可以由两个框架中之一个或两个来建模。
preview
DoEasy. 控件 (第 26 部分): 完成 ToolTip(工具提示)WinForms 对象,并转移至 ProgressBar(进度条)开发

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

在本文中,我将完成 ToolTip(工具提示)控件的开发,并启动 ProgressBar(进度条) WinForms 对象开发。 在处理对象时,我将针对控件及其组件开发动画处理的通用功能。
preview
利用 MQL5 实现 Janus 因子

利用 MQL5 实现 Janus 因子

加里·安德森(Gary Anderson)基于他称之为Janus因子的理论,开发了一套市场分析方法。 该理论描述了一套可揭示趋势和评估市场风险的指标。 在本文中,我们将利用 mql5 实现这些工具。
preview
Scikit-Learn 库中的分类模型及其导出到 ONNX

Scikit-Learn 库中的分类模型及其导出到 ONNX

在本文中,我们将探讨使用 Scikit-Learn 库中所有可用的分类模型来解决 Fisher 鸢尾花数据集的分类任务。我们将尝试把这些模型转换为 ONNX 格式,并在 MQL5 程序中使用生成的模型。此外,我们将在完整的鸢尾花数据集上比较原始模型与其 ONNX 版本的准确性。
preview
DoEasy 函数库中的时间序列(第五十二部分):多周期、多品种单缓冲区标准指标的跨平台性质

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

在本文中,研究创建多品种、多周期标准指标的“建仓/派发”。 略微改进指标依托的函数库类,以便从老旧的 MetaTrader 4 平台切换到 MetaTrader 5 时,基于该函数库开发的程序均可正常运行。
preview
为EA交易提供指标的现成模板(第2部分):交易量和比尔威廉姆斯指标

为EA交易提供指标的现成模板(第2部分):交易量和比尔威廉姆斯指标

在本文中,我们将研究交易量和比尔威廉姆斯指标类别的标准指标。我们将创建现成的模板,用于EA中的指标使用——声明和设置参数、指标初始化和析构,以及从EA中的指示符缓冲区接收数据和信号。
preview
情绪分析与深度学习在交易策略中的应用以及使用Python进行回测

情绪分析与深度学习在交易策略中的应用以及使用Python进行回测

在本文中,我们将介绍如何使用Python中的情绪分析和ONNX模型,并将它们应用于EA中。使用一个脚本运行TensorFlow训练的ONNX模型,以进行深度学习预测;而通过另一个脚本获取新闻标题,并使用人工智能技术量化情绪。
preview
从头开始开发智能交易系统(第 29 部分):谈话平台

从头开始开发智能交易系统(第 29 部分):谈话平台

在本文中,我们将学习如何让 MetaTrader 5 平台谈话。 我们如何才能让 EA 更有趣呢? 金融市场交易往往过于无聊和单调,但我们能够令这项工作少些无趣。 请注意,对于那些经历过上瘾等问题的人来说,这个项目可能是危险的。 然而,在一般情况下,它只会让事情聊胜于无。
DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件
DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件

DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件

在本文中,我将创建一些跟踪图表对象事件的功能 — 添加/删除品种图表和图表子窗口,以及添加/删除/更改图表窗口中的指标。
preview
群体优化算法:智能水滴(IWD)算法

群体优化算法:智能水滴(IWD)算法

文章探讨了一种源自无生命自然的有趣算法 - 模拟河床形成过程的智能水滴(IWD,Intelligent Water Drops)。这种算法的理念大大改进了之前的评级领先者 - SDS。与往常一样,新的领先者(修改后的 SDSm)可在附件中找到。
preview
MQL5 酷宝书 — 服务

MQL5 酷宝书 — 服务

本文讲述了服务的多功能性 — 不需要绑定图的 MQL5 程序。 我还会重点介绍服务与其它 MQL5 程序的区别,并强调开发人员使用服务的细微差别。 作为示例,为读者提供了各种任务,涵盖了可以作为服务实现的各种功能。
preview
MQL5中的ALGLIB数值分析库

MQL5中的ALGLIB数值分析库

本文简要介绍了ALGLIB 3.19数值分析库、它的应用以及可以提高金融数据分析效率的新算法。
preview
构建K线趋势约束模型(第十部分):战略均线金叉与死叉(智能交易系统EA)

构建K线趋势约束模型(第十部分):战略均线金叉与死叉(智能交易系统EA)

您是否知道,基于移动平均线交叉的金叉和死叉策略,是识别长期市场趋势最为可靠的指标之一?当短期移动平均线上穿长期移动平均线时,金叉发出看涨趋势信号;而当短期移动平均线下穿长期移动平均线时,死叉则表明看跌趋势。尽管这些策略简单且有效,但手动运用时往往会导致错失机会或延迟交易。
preview
群体优化算法:粒子群(PSO)

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

在本文中,我将研究流行的粒子群优化(PSO)算法。 之前,我们曾讨论过优化算法的重要特征,如收敛性、收敛率、稳定性、可伸缩性,并开发了一个测试台,并研究了最简单的 RNG 算法。
preview
利用 MQL5 矩阵的反向传播神经网络

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

本文讲述在 MQL5 中利用矩阵来应用反向传播算法的理论和实践。 它还提供了现成的类,以及脚本、指标和智能交易系统的示例。
嘉盛市场可否预测?如何制定自己的交易策略?
嘉盛市场可否预测?如何制定自己的交易策略?

嘉盛市场可否预测?如何制定自己的交易策略?

每个开始进入嘉盛的人都会尝试回答这些问题。但是,并非每个人都找到了答案,甚至在经过了多年的努力钻研和寻找之后仍未找到答案。我个人已经回答了上述问题以及本文提到的很多其他问题。根据这些答案,制定了一种高效交易策略的方式。
preview
DoEasy 函数库中的时间序列(第五十七部分):指标缓冲区数据对象

DoEasy 函数库中的时间序列(第五十七部分):指标缓冲区数据对象

在本文中,开发一个对象,其中包含一个指标的一个缓冲区的所有数据。 这些对象对于存储指标缓冲区的数据序列将是必需的。 在其的辅助下,才有可能对任何指标的缓冲区数据,以及其他类似数据进行排序和比较。
preview
重塑经典策略(第二部分):布林带突破

重塑经典策略(第二部分):布林带突破

本文探讨了一种将线性判别分析(LDA)与布林带相结合的交易策略,利用对市场区域的分类预测来生成战略性入场信号。
preview
多交易品种多周期指标中的颜色缓冲区

多交易品种多周期指标中的颜色缓冲区

在本文中,我们将回顾多交易品种、多周期指标中指标缓冲区的结构,并在图表上组织这些指标的彩色缓冲区的显示。
preview
开发回放系统 — 市场模拟(第 05 部分):加入预览

开发回放系统 — 市场模拟(第 05 部分):加入预览

我们已设法开发了一套以逼真和可访问的方式来实现市场回放的系统。 现在,我们继续我们的项目,并添加数据,从而提升回放行为。
preview
DoEasy. 控件(第 4 部分):面板控件,Padding(填充)和 Dock(驻靠)参数

DoEasy. 控件(第 4 部分):面板控件,Padding(填充)和 Dock(驻靠)参数

在本文中,我将实现处理 Padding(填充,元素所有侧边的内部缩进/边距)和 Dock(驻靠)参数(对象在其容器中的定位方式)。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 2 部分):指标信号:多时间帧抛物线 SAR 指标

如何利用 MQL5 创建简单的多币种智能交易系统(第 2 部分):指标信号:多时间帧抛物线 SAR 指标

本文中的多币种智能交易系统是智能交易系统或交易机器人,它仅在一个品种图表上就能交易(开单、平单、和管理订单,例如:尾随停损和止盈)超过 1 个交易品种对。这次我们只用 1 个指标,即抛物线 SAR 或 iSAR, 将其应用在 PERIOD_M15 到 PERIOD_D1 的多个时间帧。
preview
种群优化算法:鱼群搜索(FSS)

种群优化算法:鱼群搜索(FSS)

鱼群搜索(FSS)是一种新的优化算法,其灵感来自鱼群中鱼的行为,其中大多数(高达 80%)游弋在有组织的亲属群落中。 经证明,鱼类的聚集在觅食效率和保护捕食者方面起着重要作用。
preview
DoEasy 函数库中的时间序列(第五十五部分):指标集合类

DoEasy 函数库中的时间序列(第五十五部分):指标集合类

本文继续开发指标对象类及其集合。 为每个指标对象创建其描述和正确的集合类,从而实现无错存储,并从集合列表中获取指标对象。
分组文件的操作
分组文件的操作

分组文件的操作

有时候需要对一组文件执行相同的操作。如果你有包含在一组中的文件列表,则没有问题。但是,如果你需要自己制作列表,问题就出现了:“我该如何去做呢?”文本提出了利用 kernel32.dll 中包含的 FindFirstFile() 和 FindNextFile() 函数实现的方法。
preview
模式搜索的暴力方法(第六部分):循环优化

模式搜索的暴力方法(第六部分):循环优化

在这篇文章中,我将展示改进的第一部分,这些改进不仅使我能够使MetaTrader 4和5交易的整个自动化链闭环,而且还可以做一些更有趣的事情。从现在起,这个解决方案使我能够完全自动化创建EA和优化,并最大限度地降低寻找有效交易配置的劳动力成本。
preview
时间序列挖掘的数据标签(第4部分):使用标签数据的可解释性分解

时间序列挖掘的数据标签(第4部分):使用标签数据的可解释性分解

本系列文章介绍了几种时间序列标记方法,这些方法可以创建符合大多数人工智能模型的数据,而根据需要进行有针对性的数据标记可以使训练后的人工智能模型更符合预期设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
DoEasy 函数库中的图形(第九十八部分):移动扩展的标准图形对象的轴点

DoEasy 函数库中的图形(第九十八部分):移动扩展的标准图形对象的轴点

在本文中,我将继续扩展的标准图形对象的开发,创建移动复合图形对象轴点的功能,通过控制点来管理图形对象轴点坐标。
preview
经典策略重塑(第12部分):欧元兑美元(EURUSD)突破交易策略

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

今天,我们将挑战在MQL5中构建一套盈利的突破交易系统。我们选择欧元兑美元(EURUSD)货币对,尝试在H1(1小时)时间框架下捕捉价格的突破行情。初期挑战:系统难以区分假突破与真实趋势的开端,导致亏损较多。我们给系统叠加了多层过滤器,旨在把亏损压到最低,同时把盈利抬到最高。最终,我们成功地让系统实现盈利,并大幅降低假突破带来的风险。
使用 Skype 发送来自 Expert Advisor 的消息
使用 Skype 发送来自 Expert Advisor 的消息

使用 Skype 发送来自 Expert Advisor 的消息

本文介绍如何使用 Skype 将来自 Expert Advisor 的内部消息和短信发送给移动电话。
preview
从头开始开发智能交易系统(第 30 部分):CHART TRADE 当作指标?

从头开始开发智能交易系统(第 30 部分):CHART TRADE 当作指标?

今天我们将再次用到 Chart Trade,但这回它作为一个图表上的指标,或许也可能不在图表上出现。
DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象
DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象

DoEasy 函数库中的图形(第七十九部分):“动画框”对象类及其衍生对象

在本文中,我将开发单个的动画框,及其衍生类。 该类允许绘制造型,同时维护,并恢复它们得下层背景。
preview
在类中包装 ONNX 模型

在类中包装 ONNX 模型

面向对象编程可以创建更紧凑、易于阅读和修改的代码。 在此,我们将会看到三个 ONNX 模型的示例。