MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
连续前行优化 (第八部分): 程序改进和修复

连续前行优化 (第八部分): 程序改进和修复

根据本系列文章的用户和读者的评论和要求,程序已进行了修改。 本文包含一个自动优化器的新版本。 该版本实现了所需的功能,并提供了其他改进,这些是我运用该程序操作时发现的。
轻松快捷开发 MetaTrader 程序的函数库(第 二十三部分):基准交易类 - 基准类,有效参数验证
轻松快捷开发 MetaTrader 程序的函数库(第 二十三部分):基准交易类 - 基准类,有效参数验证

轻松快捷开发 MetaTrader 程序的函数库(第 二十三部分):基准交易类 - 基准类,有效参数验证

在本文中,我们继续开发交易类,实现错误交易订单参数值的监控,以及交易事件的语音。
山型或冰山型图表
山型或冰山型图表

山型或冰山型图表

您如何看待往 MetaTrader 5 平台里添加新图表类型的想法? 有人说它缺少其它平台里提供的一些东西。 但事实是,MetaTrader 5 是一个非常实用的平台,因为它允许您做到在许多其它平台上无法完成(或至少不能轻松完成)的事情。
preview
从头开始开发智能交易系统(第 26 部分):面向未来(I)

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

今天,我们将把我们的订单系统提升到一个新的层次。 但在此之前,我们需要解决少量问题。 我们现有的一些问题,是与在交易日里我们想要如何工作,以及我们做什么事情相关。
MetaTrader 4 与 MetaTrader 5 交易信号组件
MetaTrader 4 与 MetaTrader 5 交易信号组件

MetaTrader 4 与 MetaTrader 5 交易信号组件

MetaTrader 4 和 MetaTrader 5 用户最近得到了成为“信号提供方”并赚取更多收益的机会。现在,您可以利用新组件,在您的网站、博客或社交网络上展示您的成功交易了。使用组件的好处显而易见:它们会提高“信号提供方”的受欢迎程度、树立其作为成功交易者的声名,并吸引到新的“订阅者”。在其它网站上放置这些组件的所有交易者,也都享受到了上述好处。
preview
学习如何基于建仓/派发(AD)设计交易系统

学习如何基于建仓/派发(AD)设计交易系统

欢迎阅读本系列的新文章,了解如何基于最流行的技术指标设计交易系统。 在本文中,我们将学习一种新的技术指标,称为建仓/派发指标,并了解如何基于简单的 AD 交易策略设计一款 MQL5 交易系统。
preview
种群优化算法:灰狼优化器(GWO)

种群优化算法:灰狼优化器(GWO)

我们来研究一种最新的现代优化算法 — 灰狼优化。 测试函数的原始行为令该算法成为以前研究过的算法中最有趣的算法之一。 这是训练神经网络的顶级算法之一,具有许多变量的平滑函数。
preview
探索创建多彩烛条的选项

探索创建多彩烛条的选项

在本文中,我将探讨创建烛条自定义指标的可能性,并指出它们的优缺点。
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。
preview
如何选择智能系统:拒绝一款交易机器人的 20 条强大准则

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

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

最新的改革

看一看您的交易终端。您能看到哪些价格展示方式?柱、烛形图和线条。我们追求的是时间和价格,但却只能由价格获利。那么,分析市场时,我们能否只关注价格呢?本文会针对点数图("圈圈叉叉")提出一种算法和脚本 - 已将各种各样的价格模式考虑在内,而其实际应用亦于提供的建议中列出。
利用 MQL5 和 MQL4 实现的选择和导航实用程序:添加"homework"选项卡并保存图形对象
利用 MQL5 和 MQL4 实现的选择和导航实用程序:添加"homework"选项卡并保存图形对象

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

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

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

我们继续实现新的订单系统。 创建这样的一个系统需要熟练地掌握 MQL5,以及了解 MetaTrader 5 平台的实际工作方式,及其提供的资源。
preview
艾伦·安德鲁斯和他的时间序列分析技术

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

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

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

本文中的多货币智能系统是一款智能交易系统或交易机器人,它利用两条 RSI 指标线的交叉,即与慢速 RSI 与快速 RSI 两线相交。
preview
MQL5 中的矩阵和向量操作

MQL5 中的矩阵和向量操作

MQL5 中引入了矩阵和向量,用于实现数学解决方案的高效操作。 新类型提供了内置方法,能够创建接近数学标记符号的简洁易懂的代码。 数组提供了广泛的功能,但在很多情况下,矩阵的效率要高得多。
preview
重温默里(Murrey)系统

重温默里(Murrey)系统

图形价格分析系统在交易者中当之无愧地广受欢迎。 在本文中,我将讲述完整的默里(Murrey)系统,包括其著名的级别,以及其它一些评估当前价格位置,并据其做出交易决策的实用技术。
preview
神经网络变得轻松(第二十一部分):变分自动编码器(VAE)

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

在上一篇文章中,我们已熟悉了自动编码器算法。 像其它任何算法一样,它也有其优点和缺点。 在其原始实现中,自动编码器会尽可能多地将对象与训练样本分开。 这次我们将讨论如何应对它的一些缺点。
preview
直推和主动机器学习中的梯度提升

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

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

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

在本文中,我将研究一个简单的模板,用来创建通用的 MetaTrader 机器人,该机器人可以在多个图表上使用,同时仅附加到一个图表,无需在每个单独的图表上为每个机器人实例进行配置。
基于 CChartObject 类设计和实施新 GUI 组件
基于 CChartObject 类设计和实施新 GUI 组件

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

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

模式搜索的暴力方法

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

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

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

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

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

使用MQL5轻松创建图形面板

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

配对交易

在这篇文章中,我们将探讨配对交易(pair trading),即它的原理是什么,以及它的实际应用是否有前景。我们还将尝试创建一个配对交易策略。
preview
创建一个行情卷播面板:改进版

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

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

MetaTrader市场概述(图表)

几周前我们发布了自由职业者服务的信息图表。我们也承诺将透露一些市场统计数据。现在,我们邀请您来检验我们已经收集的数据。
preview
从头开始开发智能交易系统(第 25 部分):提供系统健壮性(II)

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

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

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

在本文中,我们将尝试理解为什么像 MQL5 这样的编程语言有结构,为什么在某些情况下,结构是在函数和过程之间传递值的理想方式,而在其他情况下,它们可能不是最好的方式。
preview
从头开始开发智能交易系统(第 18 部分):新订单系统 (I)

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

这是新订单系统的第一部分。 自从我们在文章中开始打造这个 EA 以来,它已经历了各种变化和改进,同时保持了相同的图表订单系统模型。
DoEasy 函数库中的图形(第七十七部分):阴影对象类
DoEasy 函数库中的图形(第七十七部分):阴影对象类

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

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

扩充策略构建器功能

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

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

有很多人不知道如何编程,但他们很有创造力,亦有杰出的想法。 然而,由于缺乏编程知识,他们无法实现这些想法。 我们一起看看如何利用 MetaTrader 5 平台本身创建图表交易,就如同它是一个 IDE。
preview
神经网络变得轻松(第三十五部分):内在好奇心模块

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

我们继续研究强化学习算法。 到目前为止,我们所研究的所有算法都需要创建一个奖励政策,从而令代理者能够每次从一个系统状态过渡到另一个系统状态的转换中估算其每个动作。 然而,这种方式人为因素相当大。 在实践中,动作和奖励之间存在一些时间滞后。 在本文中,我们将领略一种模型训练算法,该算法可以操控从动作到奖励的各种时间延迟。
preview
日内交易:拉里·康纳斯(Larry Connors)RSI2均值回归策略

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

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

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

在前一篇文章“在一张图表上的多个指标”中,我介绍了如何在一张图表上加载多个指标的概念和基本知识。 在本文中,我将提供源代码,并对其进行详解。
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 相关工具。