MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
一项智能交易系统失败原因分析

一项智能交易系统失败原因分析

本文针对货币数据进行了一次分析,从而能更好地理解为什么智能交易系统在某些时段表现良好,而在其它时段表现不佳。
preview
您应该知道的 MQL5 向导技术(第 05 部分):马尔可夫(Markov)链

您应该知道的 MQL5 向导技术(第 05 部分):马尔可夫(Markov)链

马尔可夫(Markov)链是一个强大的数学工具,能够针对包括金融在内的各个领域的时间序列数据进行建模和预测。 在金融时间序列建模和预测中,马尔可夫链通常用于模拟金融资产随时间的演变,例如股票价格或汇率。 马尔可夫链模型的主要优点之一是其简单性和易用性。
最新的改革
最新的改革

最新的改革

看一看您的交易终端。您能看到哪些价格展示方式?柱、烛形图和线条。我们追求的是时间和价格,但却只能由价格获利。那么,分析市场时,我们能否只关注价格呢?本文会针对点数图("圈圈叉叉")提出一种算法和脚本 - 已将各种各样的价格模式考虑在内,而其实际应用亦于提供的建议中列出。
preview
使用 Python 和 MetaTrader5 python 软件包及 ONNX 模型文件进行深度学习预测和排序

使用 Python 和 MetaTrader5 python 软件包及 ONNX 模型文件进行深度学习预测和排序

本项目涉及在金融市场中使用 Python 进行基于深度学习的预测。我们将探索使用平均绝对误差(MAE)、均方误差(MSE)和R平方(R2)等关键指标测试模型性能的复杂性,并学习如何将所有内容打包到可执行文件中。我们还将制作一个 ONNX 模型文件以及它的 EA。
工作必须继续,再次讨论锯齿形调整浪
工作必须继续,再次讨论锯齿形调整浪

工作必须继续,再次讨论锯齿形调整浪

关于一个显而易见但仍不合标准的锯齿形调整浪构成方法,以及其所产生的结果:多帧分形锯齿形调整浪指标,它表示在单个工作时间范围 (TF) 上基于三个较大波动所构建的锯齿形调整浪。在整个过程中,较大的 TF 的时间范围可能也不符合标准,介于 M5 到 MN1 之间。
利用 MQL5 和 MQL4 实现的选择和导航实用程序:添加"homework"选项卡并保存图形对象
利用 MQL5 和 MQL4 实现的选择和导航实用程序:添加"homework"选项卡并保存图形对象

利用 MQL5 和 MQL4 实现的选择和导航实用程序:添加"homework"选项卡并保存图形对象

在本文中,我们打算扩展先前创建的实用程序功能,添加用于选择所需品种的选项卡。 我们还将学习如何保存我们在特定品种图表上创建的图形对象,这样我们就不必再次创建它们。 此外,我们将发掘如何仅使用已操控经指定网站初步遴选的品种。
preview
从头开始开发智能交易系统(第 20 部分):新订单系统 (III)

从头开始开发智能交易系统(第 20 部分):新订单系统 (III)

我们继续实现新的订单系统。 创建这样的一个系统需要熟练地掌握 MQL5,以及了解 MetaTrader 5 平台的实际工作方式,及其提供的资源。
preview
如何选择智能系统:拒绝一款交易机器人的 20 条强大准则

如何选择智能系统:拒绝一款交易机器人的 20 条强大准则

本文尝试回答这个问题:我们如何选择正确的智能系统? 哪些最适合我们的投资组合,我们如何过滤市场上提供的庞大交易机器人列表? 本文将介绍二十条明确而强大的准则来拒绝一款智能系统。 每条提出的准则都将得到很好的解释,从而帮助您做出更持久的决定,并为您建立一个更有前途的智能系统集合,从而赚取利润。
preview
艾伦·安德鲁斯和他的时间序列分析技术

艾伦·安德鲁斯和他的时间序列分析技术

艾伦·安德鲁斯(Alan Andrews)是现世代在交易领域最著名的“教育家”之一。 他的“草叉”几乎包含在所有现代报价分析程序当中。 但大多数交易者没机会用过此工具,甚至是其提供的一小部分。 此外,安德鲁斯最初的培训课程不仅包括对草叉的描述(尽管它仍然是主要工具),还包括其它一些有用的结构。 本文提供了对安德鲁斯在其原始课程中教授的奇妙图表分析方法的见解。 (流量焦虑用户)请当心,会有很多图像。
preview
MQL5 中的矩阵和向量操作

MQL5 中的矩阵和向量操作

MQL5 中引入了矩阵和向量,用于实现数学解决方案的高效操作。 新类型提供了内置方法,能够创建接近数学标记符号的简洁易懂的代码。 数组提供了广泛的功能,但在很多情况下,矩阵的效率要高得多。
MetaTrader 4中的测试特性和限定
MetaTrader 4中的测试特性和限定

MetaTrader 4中的测试特性和限定

文章介绍在MetaTrader 4中更多策略测试的特性和限定。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 6 部分):两条 RSI 指标相互交叉

如何利用 MQL5 创建简单的多币种智能交易系统(第 6 部分):两条 RSI 指标相互交叉

本文中的多货币智能系统是一款智能交易系统或交易机器人,它利用两条 RSI 指标线的交叉,即与慢速 RSI 与快速 RSI 两线相交。
preview
神经网络变得轻松(第二十一部分):变分自动编码器(VAE)

神经网络变得轻松(第二十一部分):变分自动编码器(VAE)

在上一篇文章中,我们已熟悉了自动编码器算法。 像其它任何算法一样,它也有其优点和缺点。 在其原始实现中,自动编码器会尽可能多地将对象与训练样本分开。 这次我们将讨论如何应对它的一些缺点。
基于 CChartObject 类设计和实施新 GUI 组件
基于 CChartObject 类设计和实施新 GUI 组件

基于 CChartObject 类设计和实施新 GUI 组件

在我撰写了关于通过 GUI 界面实现半自动“EA 交易”的前作后,结果表明针对更复杂的指标和“EA 交易”,最好使用新的功能来改善界面。在熟悉 MQL5 标准库类后,我实施了一些新的组件。本文介绍新 MQL5 GUI 组件的设计和实施过程;这些组件可用于指标和“EA 交易”。本文中介绍的组件包括:CChartObjectSpinner、CChartObjectProgressBar 和 CChartObjectEditTable。
preview
直推和主动机器学习中的梯度提升

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

在本文中,我们将探讨利用真实数据的主动机器学习方法,并讨论它们的优缺点。也许你会发现这些方法很有用,并将它们包含在你的机器学习模型库中。直推是由支持向量机(SVM)的共同发明者弗拉基米尔·瓦普尼克(Vladimir Vapnik)提出的。
preview
重温默里(Murrey)系统

重温默里(Murrey)系统

图形价格分析系统在交易者中当之无愧地广受欢迎。 在本文中,我将讲述完整的默里(Murrey)系统,包括其著名的级别,以及其它一些评估当前价格位置,并据其做出交易决策的实用技术。
preview
MetaTrader 中的多机器人:从单图表中启动多个机器人

MetaTrader 中的多机器人:从单图表中启动多个机器人

在本文中,我将研究一个简单的模板,用来创建通用的 MetaTrader 机器人,该机器人可以在多个图表上使用,同时仅附加到一个图表,无需在每个单独的图表上为每个机器人实例进行配置。
preview
模式搜索的暴力方法

模式搜索的暴力方法

在本文中,我们将搜索市场模式,根据确定的模式创建 EA 交易,并检查这些模式,如果它们保持有效的话,保持有效的时间有多少。
preview
学习如何基于 MFI 设计交易系统

学习如何基于 MFI 设计交易系统

这篇新文章出自我们的系列文章,是有关基于最流行的技术指标设计交易系统,它研究了一个新的技术指标 — 资金流动性指数(MFI)。 我们将详细学习它,利用 MQL5 开发一个简单的交易系统,并在 MetaTrader 5 中执行它。
preview
种群优化算法:人工蜂群(ABC)

种群优化算法:人工蜂群(ABC)

在本文中,我们将研究人工蜂群的算法,并用研究函数空间得到的新原理来补充我们的知识库。 在本文中,我将陈列我对经典算法版本的解释。
preview
使用MQL5轻松创建图形面板

使用MQL5轻松创建图形面板

在这篇文章中,我们将为任何需要创建交易中最有价值和最有用的工具之一的人提供一个简单易行的指南,即简化和轻松执行交易任务的图形面板,这有助于节省时间,并在不受任何干扰的情况下更多地关注您的交易过程本身。
preview
配对交易

配对交易

在这篇文章中,我们将探讨配对交易(pair trading),即它的原理是什么,以及它的实际应用是否有前景。我们还将尝试创建一个配对交易策略。
MetaTrader市场概述(图表)
MetaTrader市场概述(图表)

MetaTrader市场概述(图表)

几周前我们发布了自由职业者服务的信息图表。我们也承诺将透露一些市场统计数据。现在,我们邀请您来检验我们已经收集的数据。
preview
创建一个行情卷播面板:改进版

创建一个行情卷播面板:改进版

您如何看待复查我们的行情卷播面板基本版的主意? 我们改进面板要做的第一件事就是能够添加图像,例如资产徽标或其它图像,从而用户可以迅速、轻松地识别所示品种。
MetaEditor:模板作为支点
MetaEditor:模板作为支点

MetaEditor:模板作为支点

可一次性为 EA 编写完成所有准备工作并且这些准备工作可供以后持续使用,这对我们很多读者而言可能还有点陌生。
preview
从头开始开发智能交易系统(第 25 部分):提供系统健壮性(II)

从头开始开发智能交易系统(第 25 部分):提供系统健壮性(II)

在本文中,我们将朝着 EA 的性能迈出最后一步。 为此,请做好长时间阅读的准备。 为了令我们的智能交易系统可靠,我们首先从代码中删除不属于交易系统的所有内容。
preview
从基础到中级:结构(二)

从基础到中级:结构(二)

在本文中,我们将尝试理解为什么像 MQL5 这样的编程语言有结构,为什么在某些情况下,结构是在函数和过程之间传递值的理想方式,而在其他情况下,它们可能不是最好的方式。
DoEasy 函数库中的图形(第七十七部分):阴影对象类
DoEasy 函数库中的图形(第七十七部分):阴影对象类

DoEasy 函数库中的图形(第七十七部分):阴影对象类

在本文中,我将为阴影对象创建一个单独类,它是图形元素对象的衍生后代,并加入渐变填充对象背景的功能。
扩充策略构建器功能
扩充策略构建器功能

扩充策略构建器功能

在前两篇文章之中,我们讨论了 Merrill (美林)形态针对各种数据类型的应用。 并开发了一款应用程序来测试提出的思路。 在本文中,我们将继续策略构建器的工作,来提高其效率,并实现新的功能。
preview
一张图表上的多个指标(第 05 部分):将 MetaTrader 5 转变为 RAD 系统(I)

一张图表上的多个指标(第 05 部分):将 MetaTrader 5 转变为 RAD 系统(I)

有很多人不知道如何编程,但他们很有创造力,亦有杰出的想法。 然而,由于缺乏编程知识,他们无法实现这些想法。 我们一起看看如何利用 MetaTrader 5 平台本身创建图表交易,就如同它是一个 IDE。
preview
从头开始开发智能交易系统(第 18 部分):新订单系统 (I)

从头开始开发智能交易系统(第 18 部分):新订单系统 (I)

这是新订单系统的第一部分。 自从我们在文章中开始打造这个 EA 以来,它已经历了各种变化和改进,同时保持了相同的图表订单系统模型。
preview
神经网络变得轻松(第三十五部分):内在好奇心模块

神经网络变得轻松(第三十五部分):内在好奇心模块

我们继续研究强化学习算法。 到目前为止,我们所研究的所有算法都需要创建一个奖励政策,从而令代理者能够每次从一个系统状态过渡到另一个系统状态的转换中估算其每个动作。 然而,这种方式人为因素相当大。 在实践中,动作和奖励之间存在一些时间滞后。 在本文中,我们将领略一种模型训练算法,该算法可以操控从动作到奖励的各种时间延迟。
preview
在一张图表上的多个指标(第 02 部分):首次实验

在一张图表上的多个指标(第 02 部分):首次实验

在前一篇文章“在一张图表上的多个指标”中,我介绍了如何在一张图表上加载多个指标的概念和基本知识。 在本文中,我将提供源代码,并对其进行详解。
MQL5 中的电子表格
MQL5 中的电子表格

MQL5 中的电子表格

本文介绍在其第一个维度中包含不同类型的数据的动态二维数组的类。以表格的形式存储数据可方便地解决与安排、存储和操作不同类型的绑定信息相关的各种问题。实施表格处理功能性的类的源代码已附于本文。
preview
在 Linux 上利用 C++ 多线程支持开发 MetaTrader 5 概念验证 DLL

在 Linux 上利用 C++ 多线程支持开发 MetaTrader 5 概念验证 DLL

我们将开始探索如何仅基于 Linux 系统开发 MetaTrader 5 平台的步骤和工作流程,其中最终产品能在 Windows 和 Linux 系统上无缝运行。 我们将了解 Wine 和 Mingw;两者都是制作跨平台开发任务的基本工具。 特别是 Mingw 的线程实现(POSIX 和 Win32),我们在选择追随哪一个时需要仔细考虑。 然后,我们构建一个能在 MQL5 代码中所用的概念验证 DLL,最后比较两种线程实现的性能。 这一切都是为了您的基金能进一步扩张自己。 阅读本文后,您应该可以轻松地在 Linux 上构建 MT 相关工具。
信息的存储和阅览
信息的存储和阅览

信息的存储和阅览

本文介绍了信息存储和阅览的方便而高效的方法. 在这里探讨了终端标准记录文件和Comment()函数的替代方案.
preview
日内交易:拉里·康纳斯(Larry Connors)RSI2均值回归策略

日内交易:拉里·康纳斯(Larry Connors)RSI2均值回归策略

拉里·康纳斯(Larry Connors)是知名交易员与量化交易领域权威作家,其最著名的成果之一是2周期相对强弱指数(RSI2)策略。该指标通过捕捉短期超买超卖信号,辅助判断市场反转时机。在本文中,我们将首先阐述研究契机,随后在MQL5中复现康纳斯的三大经典策略,并应用于标普500指数差价合约(CFD)的日内交易场景。
DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合
DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合

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

鉴于程序在其运行时可能会用到不同的品种,因此应为每个品种创建一个单独的列表。 在本文中,我将把这些列表合并到一个即时报价数据集合。 实际上,这将是一个常规列表,基于指向标准库 CObject 类及其衍生类实例指针的动态数组。
preview
模式搜索的暴力算法(第三部分):新视野

模式搜索的暴力算法(第三部分):新视野

本文延续了暴力算法的主题,并在程序算法中引入了市场分析的新机会,从而加快了分析速度,提高了结果质量。新的添加使得在这种方法中可以看到最高质量的全局模式。
preview
用于时间序列挖掘的数据标签(第 5 部分):使用 Socket 在 EA 中进行应用和测试

用于时间序列挖掘的数据标签(第 5 部分):使用 Socket 在 EA 中进行应用和测试

本系列文章介绍了几种时间序列标注方法,可以创建符合大多数人工智能模型的数据,根据需求有针对性地进行数据标注,可以使训练出来的人工智能模型更符合预期设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!