MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
DoEasy 函数库中的图形(第七十四部分):由 CCanvas 类提供强力支持的基本图形元素
DoEasy 函数库中的图形(第七十四部分):由 CCanvas 类提供强力支持的基本图形元素

DoEasy 函数库中的图形(第七十四部分):由 CCanvas 类提供强力支持的基本图形元素

在本文中,我将重修上一篇文章中构建的图形对象概念,并准备由标准库 CCanvas 类提供强力支持的函数库所有图形对象的基类。
DoEasy 函数库中的图形(第七十三部分):图形元素的交互窗对象
DoEasy 函数库中的图形(第七十三部分):图形元素的交互窗对象

DoEasy 函数库中的图形(第七十三部分):图形元素的交互窗对象

这篇文章开辟了函数库一个新的操控图形的大章节。 在本文中,我将创建鼠标状态对象、所有图形元素的基准对象、以及函数库图形元素的交互窗对象类。
DoEasy 库中的其他类(第七十二部分):跟踪并记录集合中的图表对象参数
DoEasy 库中的其他类(第七十二部分):跟踪并记录集合中的图表对象参数

DoEasy 库中的其他类(第七十二部分):跟踪并记录集合中的图表对象参数

在本文中,我将完成图表对象类及其集合的操控。 我还将实现图表属性及其窗口变化的自动跟踪,以及把新参数保存到对象属性。 如此修订允许在未来实现整个图表集合的事件功能。
来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数
来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数

来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数

这些来自专业程序员关于方法、技术和辅助工具的一些提示,可令编程变得更轻松。 我们将讨论终端重启(关闭)后如何恢复参数。 所有示例都是来自我的 Cayman 项目的真实工作代码片段。
DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件
DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件

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

在本文中,我将创建一些跟踪图表对象事件的功能 — 添加/删除品种图表和图表子窗口,以及添加/删除/更改图表窗口中的指标。
DoEasy 库中的其他类(第七十部分):扩展功能并自动更新图表对象集合
DoEasy 库中的其他类(第七十部分):扩展功能并自动更新图表对象集合

DoEasy 库中的其他类(第七十部分):扩展功能并自动更新图表对象集合

在本文中,我将扩展图表对象的功能,并编排图表导航、创建屏幕截图、以及为图表保存和应用模板。 此外,我还将实现图表对象集合、其窗口和其内指标的自动更新。
掉期利率(第一部分):锁定与合成仓位
掉期利率(第一部分):锁定与合成仓位

掉期利率(第一部分):锁定与合成仓位

在本文中,我将尝试扩展掉期利率交易方法的经典概念。 我将解释为什么我会得出这样的结论,即这个概念值得特别关注,绝对推荐研究。
preview
来自专业程序员的提示(第一部分):代码存储、调试和编译。 操控项目和日志

来自专业程序员的提示(第一部分):代码存储、调试和编译。 操控项目和日志

这些提示来自专业程序员,涵盖有关方法、技术和辅助工具,能够令编程更轻松。
DoEasy 库中的其他类(第六十九部分):图表对象集合类
DoEasy 库中的其他类(第六十九部分):图表对象集合类

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

在本文里,我启动图表对象集合类的开发。 该类存储图表对象及其子窗口和指标的集合列表,从而提供操控任何选定图表及其子窗口的能力,亦或同时处理多个图表列表。
组合剥头皮:分析过去的交易来提升未来交易的成效
组合剥头皮:分析过去的交易来提升未来交易的成效

组合剥头皮:分析过去的交易来提升未来交易的成效

本文所提供的技术讲述,旨在提高任何自动交易系统的有效性。 它简要解释了这个思路,以及它的基本原理、可能性和缺点。
DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类
DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类

DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类

在本文中,我将继续开发图表对象类。 我将添加含有可用指标列表的图表窗口对象列表。
DoEasy 库中的其他类(第六十七部分):图表对象类
DoEasy 库中的其他类(第六十七部分):图表对象类

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

在本文中,我将创建图表对象类(单个交易金融产品图表),并改进 MQL5 信号对象的集合类,以便在更新列表时也能为存储在集合中的每个信号对象更新其所有参数。
preview
形态搜索的暴力强推方式(第四部分):最小功能

形态搜索的暴力强推方式(第四部分):最小功能

本文基于上一篇文章中设定的目标,提出了一个改进的暴力强推版本。 我将尝试尽可能广泛地涵盖这个主题,并以该方法获取的设置来运行智能交易系统。 本文还附有一个新的程序版本。
MVC 设计范式及其可能的应用
MVC 设计范式及其可能的应用

MVC 设计范式及其可能的应用

本文讨论了一种流行的 MVC 范式,以及它运用在 MQL 程序中的可能性、优缺点。 这个思路是将现有代码拆分为三个独立的组件:模型、视图和控制器。
preview
神经网络变得轻松(第十三部分):批次常规化

神经网络变得轻松(第十三部分):批次常规化

在上一篇文章中,我们开始研究旨在提高神经网络训练品质的方法。 在本文中,我们将继续这个主题,并会研讨另一种方法 — 批次数据常规化。
DoEasy 函数库中的其他类(第六十六部分):MQL5.com 信号集合类
DoEasy 函数库中的其他类(第六十六部分):MQL5.com 信号集合类

DoEasy 函数库中的其他类(第六十六部分):MQL5.com 信号集合类

在本文中,我将针对 MQL5.com 信号服务创建信号集合类,拥有能够管理信号的函数。 此外,我将改进“市场深度”快照对象类,来显示 DOM 的总买卖量。
preview
网格和马丁格尔交易系统中的机器学习。 您敢为其打赌吗?

网格和马丁格尔交易系统中的机器学习。 您敢为其打赌吗?

本文介绍了应用于网格和马丁格尔交易的机器学习技术。 令人惊讶的是,这种方法在全球网络中难觅踪迹。 阅读过本文之后,您将能够创建自己的交易机器人。
preview
实用且奇特的自动交易技术

实用且奇特的自动交易技术

在本文中,我将演示一些非常有趣且实用的自动交易技术。 其中一些可能您很熟悉。 我将尝试覆盖最有趣的方法,并解释为什么它们值得使用。 此外,我将展示这些技术在实战中的适用性。 我们将创建智能交易系统,并依据历史报价来测试全部所述技术。
自适应算法(第四部分):附加功能和测试
自适应算法(第四部分):附加功能和测试

自适应算法(第四部分):附加功能和测试

我将继续采用最少的必要功能来充实算法,并测试结果。 其获利能力十分低下,但文章展示的全自动盈利交易的模型,是在不同的行情基本面及完全不同的金融产品上进行。
preview
神经网络变得轻松(第十二部分):舍弃

神经网络变得轻松(第十二部分):舍弃

作为研究神经网络的下一步,我建议研究在神经网络训练过程中提高收敛性的方法。 有若干种这样的方法。 在本文中,我们将研究其中之一,名为“舍弃”。
DoEasy 函数库中的价格(第六十五部分):市场深度集合并操控 MQL5.com 信号的类
DoEasy 函数库中的价格(第六十五部分):市场深度集合并操控 MQL5.com 信号的类

DoEasy 函数库中的价格(第六十五部分):市场深度集合并操控 MQL5.com 信号的类

在本文中,我将创建所有品种的市场深度集合类,并着手开发创建信号对象类来操控 MQL5.com 信号服务的功能。
DoEasy 函数库中的价格(第六十四部分):市场深度,DOM 快照类和快照序列对象
DoEasy 函数库中的价格(第六十四部分):市场深度,DOM 快照类和快照序列对象

DoEasy 函数库中的价格(第六十四部分):市场深度,DOM 快照类和快照序列对象

在本文中,我将创建两个类(DOM 快照对象类,和 DOM 快照序列对象类),并测试 DOM 数据序列的创建。
preview
神经网络变得轻松(第十一部分):自 GPT 获取

神经网络变得轻松(第十一部分):自 GPT 获取

也许,GPT-3 是目前已有语言类神经网络中最先进的模型之一,它的最大变体可包含 1750 亿个参数。 当然,我们不打算在家用 PC 上创建如此庞然之物。 然而,我们可以看看在我们的操作中能够采用哪种体系解决方案,以及如何从中受益。
DoEasy 函数库中的价格(第六十三部分):市场深度及其抽象请求类
DoEasy 函数库中的价格(第六十三部分):市场深度及其抽象请求类

DoEasy 函数库中的价格(第六十三部分):市场深度及其抽象请求类

在本文中,我将着手开发操控市场深度的功能。 我还将创建市场深度抽象订单对象,及其衍生类。
DoEasy 函数库中的价格(第六十二部分):实时更新即时报价序列,为操控市场深度做准备
DoEasy 函数库中的价格(第六十二部分):实时更新即时报价序列,为操控市场深度做准备

DoEasy 函数库中的价格(第六十二部分):实时更新即时报价序列,为操控市场深度做准备

在本文中,我将实现即时报价数据的实时更新,并为操控市场深度的品种对象类(DOM 本身将在下一篇文章中实现)做准备。
DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合
DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合

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

鉴于程序在其运行时可能会用到不同的品种,因此应为每个品种创建一个单独的列表。 在本文中,我将把这些列表合并到一个即时报价数据集合。 实际上,这将是一个常规列表,基于指向标准库 CObject 类及其衍生类实例指针的动态数组。
preview
多层感知机与反向传播算法

多层感知机与反向传播算法

这两种方法的普及性日益增加,因此在 Matlab、R、Python、C++ 等领域开发了大量的库,它们接收到一个训练集作为输入,并自动为问题创建合适的网络。让我们试着理解基本的神经网络类型是如何工作的(包括单神经元感知机和多层感知机)。我们将探讨一个令人兴奋的算法,它负责网络训练 - 梯度下降和反向传播。现有的复杂模型往往基于这样简单的网络模型。
DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表
DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表

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

在本文中,我将创建存储单一品种即时报价数据的列表,并在 EA 中检查其创建状态,以及检索所需数据。 每个所用品种各自的即时报价数据列表将来会构成即时报价数据集合。
自适应算法(第三部分): 放弃优化
自适应算法(第三部分): 放弃优化

自适应算法(第三部分): 放弃优化

如果采用基于历史数据的优化方法来选择参数,就不可能得到真正稳定的算法。一个稳定的算法应该知道在任何时候操作任何交易工具时需要哪些参数。它不应该预测或猜测,它应该确定知道。
preview
神经网络变得轻松(第十部分):多目击者关注

神经网络变得轻松(第十部分):多目击者关注

我们以前曾研究过神经网络中的自关注机制。 在实践中,现代神经网络体系结构会采用多个并行的自关注线程来查找序列元素之间的各种依存关系。 我们来研究这种方法的实现,并评估其对整体网络性能的影响。
preview
神经网络在交易中的实际应用 (第二部分). 计算机视觉

神经网络在交易中的实际应用 (第二部分). 计算机视觉

利用计算机视觉可以训练神经网络对价格图表和指标的直观表示。这种方法可以对整个复杂的技术指标进行更广泛的操作,因为不需要将它们以数字形式输入神经网络。
preview
神经网络变得轻松(第九部分):操作归档

神经网络变得轻松(第九部分):操作归档

我们已经经历了很长一段路,并且函数库中的代码越来越庞大。 这令跟踪所有连接和依赖性变得难以维护。 因此,我建议为先前创建的代码创建文档,并保持伴随每个新步骤进行更新。 正确准备的文档将有助我们看到操作的完整性。
preview
利用 CatBoost 算法寻找外汇市场的季节性模式

利用 CatBoost 算法寻找外汇市场的季节性模式

本文探索了用时间过滤器建立机器学习模型,并讨论了这种方法的有效性。现在,只要简单地指示模型在一周中某一天的某个时间进行交易,就可以消除人为因素。模式搜索可以由单独的算法提供。
preview
直推和主动机器学习中的梯度提升

直推和主动机器学习中的梯度提升

在本文中,我们将探讨利用真实数据的主动机器学习方法,并讨论它们的优缺点。也许你会发现这些方法很有用,并将它们包含在你的机器学习模型库中。直推是由支持向量机(SVM)的共同发明者弗拉基米尔·瓦普尼克(Vladimir Vapnik)提出的。
DoEasy 函数库中的时间序列(第五十七部分):存储一次即时报价数据的对象
DoEasy 函数库中的时间序列(第五十七部分):存储一次即时报价数据的对象

DoEasy 函数库中的时间序列(第五十七部分):存储一次即时报价数据的对象

从本文开始,着手创建操控价格数据的函数库功能。 今天,创建一个对象类,存储到达的即时报价的全部价格数据。
开发自适应算法 (第二部分): 提高效率
开发自适应算法 (第二部分): 提高效率

开发自适应算法 (第二部分): 提高效率

在本文中,我将通过改进先前创建的算法的灵活性来继续本主题的开发。随着分析窗口中烛形数量的增加,或烛形超额阈值百分比的增加,算法变得更加稳定。我不得不做出妥协,并设置一个更大的样本量进行分析或更大的烛形超额百分比。
preview
DoEasy 函数库中的时间序列(第五十八部分):指标缓冲区数据的时间序列

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

关于操控时间序列的主题总结,诸如组织存储、针对存储在指标缓冲区中的数据进行搜索和分类,如此即可在程序里利用函数库创建指标值,并进一步据其执行分析。 函数库的所有集合类的一般概念,能够轻松地在相应的集合中找到必要的数据。 在今天创建的类中,也可分别完成同样功能。
开发自适应算法(第一部分):寻找基本模式
开发自适应算法(第一部分):寻找基本模式

开发自适应算法(第一部分):寻找基本模式

在接下来的系列文章中,我将演示探讨大多数市场因素的自适应算法的开发,以及如何将这些情况系统化,用逻辑描述它们,并在您的交易活动中应用它们。我将从一个非常简单的算法开始,这个算法将逐渐获得理论,并发展成一个非常复杂的项目。
preview
神经网络变得轻松(第八部分):关注机制

神经网络变得轻松(第八部分):关注机制

在之前的文章中,我们已经测试了组织规划神经网络的各种选项。 我们还研究了自图像处理算法中借鉴而来的卷积网络。 在本文中,我建议研究关注机制,它的出现为开发语言模型提供了动力。
使用电子表格建立交易策略
使用电子表格建立交易策略

使用电子表格建立交易策略

本文介绍了使用电子表格(Excel、Calc、Google)分析任何策略的基本原则和方法。所得结果与 MetaTrader 5 测试器进行了比较。