MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
数据科学和机器学习(第 16 部分):全新面貌的决策树

数据科学和机器学习(第 16 部分):全新面貌的决策树

在我们的数据科学和机器学习系列的最新一期中,深入到错综复杂的决策树世界。本文专为寻求策略洞察的交易者量身定制,全面回顾了决策树在分析市场趋势中所发挥的强大作用。探索这些算法树的根和分支,解锁它们的潜力,从而强化您的交易决策。加入我们,以全新的视角审视决策树,并探索它们如何在复杂的金融市场航行中成为您的盟友。
preview
多交易品种多周期指标中的 DRAW_ARROW 绘图类型

多交易品种多周期指标中的 DRAW_ARROW 绘图类型

本文将介绍如何绘制多交易品种多周期的箭头指标。我们还将改进类方法,以便正确显示箭头指标的数据,这些数据是根据与当前图表交易品种/周期不一致的交易品种/周期计算的。
preview
DoEasy. 控件 (第 3 部分): 创建绑定控件

DoEasy. 控件 (第 3 部分): 创建绑定控件

在本文中,我将创建绑定到基准元素的从属控件。 开发任务将使用基准控件功能执行。 此外,我还会稍微修改一下图形元素阴影对象,因为把它应用于任何有阴影的对象时会遇到一些逻辑错误。
preview
群体优化算法:差分进化(DE)

群体优化算法:差分进化(DE)

在本文中,我们将讨论在前面讨论过的所有算法中最有争议的算法 - 差分进化算法(Differential Evolution,DE)。
preview
利用 MQL5 的交互式 GUI 改进您的交易图表(第 II 部分):可移动 GUI(II)

利用 MQL5 的交互式 GUI 改进您的交易图表(第 II 部分):可移动 GUI(II)

依靠我们的以 MQL5 创建可移动 GUI 的深度指南,在您的交易策略和实用程序中解锁动态数据表达的潜力。深入研究面向对象编程的基本原理,并探索如何在同一图表上轻松高效地设计和实现单个或多个可移动 GUI。
preview
构建K线趋势约束模型(第5部分):通知系统(第一部分)

构建K线趋势约束模型(第5部分):通知系统(第一部分)

我们将会把关键的MQL5代码分解成特定的代码段,以展示如何在本系列文章中创建的“趋势约束”指标中集成Telegram和WhatsApp来接收信号通知。这将帮助交易者,无论是新手还是经验丰富的开发者,都能更容易地理解这一概念。首先,我们将介绍MetaTrader 5的通知设置及其对用户的重要性。这将有助于开发者提前做好笔记,以便在他们的系统中做进一步应用。
preview
开发回放系统 — 市场模拟(第 11 部分):模拟器的诞生(I)

开发回放系统 — 市场模拟(第 11 部分):模拟器的诞生(I)

为了依据数据形成柱线,我们必须放弃回放,并开始研发一款模拟器。 我们将采用 1-分钟柱线,因为它们所需的难度最小。
preview
DoEasy 函数库中的时间序列(第五十八部分):指标缓冲区数据的时间序列

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

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

神经网络变得轻松(第二十八部分):政策梯度算法

我们继续研究强化学习方法。 在上一篇文章中,我们领略了深度 Q-学习方法。 按这种方法,已训练模型依据在特定情况下采取的行动来预测即将到来的奖励。 然后,根据政策和预期奖励执行动作。 但并不总是能够近似 Q-函数。 有时它的近似不会产生预期的结果。 在这种情况下,近似方法不应用于功用函数,而是应用于动作的直接政策(策略)。 其中一种方法是政策梯度。
preview
MQL5 中的范畴论 (第 4 部分):跨度、实验、及合成

MQL5 中的范畴论 (第 4 部分):跨度、实验、及合成

范畴论是数学的一个多样化和不断扩展的分支,到目前为止,在 MQL5 社区中还相对难以发现。 这些系列文章旨在介绍和研究其一些概念,其总体目标是建立一个开放的函数库,提供洞察力,同时希望在交易者的策略开发中进一步运用这一非凡的领域。
preview
构建K线趋势约束模型(第5部分):通知系统(第一部分)

构建K线趋势约束模型(第5部分):通知系统(第一部分)

我们将会把关键的MQL5代码分解成特定的代码段,以展示如何在本系列文章中创建的“趋势约束”指标中集成Telegram和WhatsApp来接收信号通知。这将帮助交易者,无论是新手还是经验丰富的开发者,都能更容易地理解这一概念。首先,我们将介绍MetaTrader 5的通知设置及其对用户的重要性。这将有助于开发者提前做好笔记,以便在他们的系统中做进一步应用。
preview
神经网络变得简单(第 61 部分):离线强化学习中的乐观情绪问题

神经网络变得简单(第 61 部分):离线强化学习中的乐观情绪问题

在离线学习期间,我们基于训练样本数据优化了智能体的政策。成品政策令智能体对其动作充满信心。然而,这种乐观情绪并不总是正当的,并且可能会在模型操作期间导致风险增加。今天,我们要寻找降低这些风险的方法之一。
preview
交易中的神经网络:基于双注意力的趋势预测模型

交易中的神经网络:基于双注意力的趋势预测模型

我们继续讨论时间序列的分段线性表示的运用,这在前一篇文章中已经开始。今天,我们要看看如何将该方法与其它时间序列分析方法相结合,从而提高价格趋势预测品质。
preview
群体优化算法:螺旋动态优化 (SDO) 算法

群体优化算法:螺旋动态优化 (SDO) 算法

文章介绍了一种基于自然界螺旋轨迹构造模式(如软体动物贝壳)的优化算法 - 螺旋动力学优化算法(Spiral Dynamics Optimization,SDO)。我对作者提出的算法进行了彻底的修改和完善,本文将探讨这些修改的必要性。
preview
MQL5中的替代风险回报标准

MQL5中的替代风险回报标准

在这篇文章中,我们介绍了几种被称为夏普比率(Sharpe ratio)替代品的风险回报标准的实现,并检查了假设的权益曲线以分析其特征。
preview
神经网络变得简单(第 68 部分):离线优先引导政策优化

神经网络变得简单(第 68 部分):离线优先引导政策优化

自从第一篇专门讨论强化学习的文章以来,我们以某种方式触及了 2 个问题:探索环境和检定奖励函数。最近的文章曾专门讨论了离线学习中的探索问题。在本文中,我想向您介绍一种算法,其作者完全剔除了奖励函数。
preview
使用MQL5与Python构建自我优化的智能交易系统

使用MQL5与Python构建自我优化的智能交易系统

在本文中,我们将讨论如何构建能够根据当前市场条件自主选择和更改交易策略的EA。我们将学习马尔可夫链(Markov Chains)以及它们如何帮助我们作为算法交易者。
preview
机器学习中的量化(第 2 部分):数据预处理、表格选择、训练 CatBoost 模型

机器学习中的量化(第 2 部分):数据预处理、表格选择、训练 CatBoost 模型

本文探讨了量化在树模型构建中的实际应用。探讨了选择量化表和数据预处理的方法。没有使用复杂的数学方程。
preview
开发回放系统 — 市场模拟(第 16 部分):新的类系统

开发回放系统 — 市场模拟(第 16 部分):新的类系统

我们需要更好地组织我们的工作。 代码正在快速增长,如果现在不做,那么以后就变得更不可能了。 我们分而治之。 MQL5 支持类,可协助实现此任务,但为此,我们需要对类有一定的了解。 大概最让初学者困惑的是继承。 在本文中,我们将看到如何以实用和简单的方式来运用这些机制。
preview
DoEasy. 控件 (第 11 部分): WinForms 对象 — 群组,CheckedListBox WinForms 对象

DoEasy. 控件 (第 11 部分): WinForms 对象 — 群组,CheckedListBox WinForms 对象

本文将讨论 WinForms 对象群组,及创建 CheckBox 对象列表对象。
preview
算法交易中的风险管理器

算法交易中的风险管理器

本文的目标是证明在算法交易中使用风险管理器的必要性,并在一个单独的类中实现控制风险的策略,以便每个人都可以验证标准化的风险管理方法在金融市场日内交易和投资中的有效性。在本文中,我们将为算法交易创建一个风险管理类。本文是上一篇文章的延续,在前文中我们讨论了为手动交易创建风险管理器。
preview
DoEasy. C控件(第 7 部分):文本标签控件

DoEasy. C控件(第 7 部分):文本标签控件

在本文中,我将创建 WinForms 文本标签控件的对象类。 这样的对象能够将其容器放置在任何位置,而其自身的功能将重现 MS Visual Studio 文本标签的功能。 我们能够为欲显示的文本设置字体参数。
preview
算法交易中的风险管理器

算法交易中的风险管理器

本文的目标是证明在算法交易中使用风险管理器的必要性,并在一个单独的类中实现控制风险的策略,以便每个人都可以验证标准化的风险管理方法在金融市场日内交易和投资中的有效性。在本文中,我们将为算法交易创建一个风险管理类。本文是上一篇文章的延续,在前文中我们讨论了为手动交易创建风险管理器。
preview
在 MQL5 中创建做市商算法

在 MQL5 中创建做市商算法

做市商是如何运作的?让我们探讨一下这个问题,创建一个初级的做市商算法。
DoEasy 函数库中的图形(第九十五部分):复合图形对象控件
DoEasy 函数库中的图形(第九十五部分):复合图形对象控件

DoEasy 函数库中的图形(第九十五部分):复合图形对象控件

在本文中,我将研究管理复合图形对象的工具包 — 管理扩展标准图形对象的控件。 今天,我从复合图形对象重新定位的内容稍微离题 ,并实现图表上复合图形对象的变更事件处理。 此外,我将重点讲解管理复合图形对象的控件。
preview
在 MQL5 中创建做市商算法

在 MQL5 中创建做市商算法

做市商是如何运作的?让我们探讨一下这个问题,创建一个初级的做市商算法。
preview
重构经典策略(第十部分):人工智能(AI)能否为MACD提供动力?

重构经典策略(第十部分):人工智能(AI)能否为MACD提供动力?

加入我们的行列,我们将实证分析MACD指标,以测试将AI应用于包含该指标的策略是否会在预测欧元兑美元(EURUSD)方面提高准确性。我们同时评估该指标本身是否比价格更容易预测,以及该指标的值是否能预测未来的价格水平。我们将为您提供所需的信息,以决定是否应该考虑将MACD整合到您的AI交易策略中。
preview
MQL5 简介(第 4 部分):掌握结构、类和时间函数

MQL5 简介(第 4 部分):掌握结构、类和时间函数

在我们的最新文章中揭开 MQL5 编程的秘密!深入了解结构、类和时间函数的基本要素,为您的编码之旅赋能。无论您是初学者还是经验丰富的开发人员,我们的指南都简化了复杂的概念,为掌握 MQL5 提供了宝贵的见解。提升你的编程技能,在算法交易领域保持领先!
preview
纳什博弈论与隐马尔可夫滤模型在交易中的应用

纳什博弈论与隐马尔可夫滤模型在交易中的应用

这篇文章深入探讨了约翰·纳什的博弈论,特别是纳什均衡,在交易中的应用。文章讨论了交易者如何利用Python脚本和MetaTrader 5,依据纳什的原则来识别并利用市场的无效性。文章还提供了实施这些策略的逐步指南,包括使用隐马尔可夫模型(HMM)和统计分析,以提升交易表现。
preview
MQL5 简介(第 5 部分):MQL5 数组函数入门指南

MQL5 简介(第 5 部分):MQL5 数组函数入门指南

在第 5 部分中探索 MQL5 数组的世界,该部分专为绝对初学者设计。本文简化了复杂的编码概念,重点在于清晰性和包容性。加入我们的学习者社区,在这里解决问题,分享知识!
preview
神经网络实验(第 7 部分):传递指标

神经网络实验(第 7 部分):传递指标

传递指标至感知器的示例。本文讲述了一般概念,并展示了最简单的现成智能交易系统,后随其优化和前向验算结果。
preview
用于预测波动性的计量经济学工具:GARCH模型

用于预测波动性的计量经济学工具:GARCH模型

文章描述了条件异方差非线性模型(GARCH)的特性。在GARCH模型的基础上,构建了iGARCH指标来预测未来一步的波动性。该模型参数的估计使用了ALGLIB数值分析库。
preview
MQL5 简介(第 5 部分):MQL5 数组函数入门指南

MQL5 简介(第 5 部分):MQL5 数组函数入门指南

在第 5 部分中探索 MQL5 数组的世界,该部分专为绝对初学者设计。本文简化了复杂的编码概念,重点在于清晰性和包容性。加入我们的学习者社区,在这里解决问题,分享知识!
preview
使用MQL5和Python构建自优化EA(第二部分):调整深度神经网络

使用MQL5和Python构建自优化EA(第二部分):调整深度神经网络

机器学习模型带有各种可调节的参数。在本系列文章中,我们将探讨如何使用SciPy库来定制您的AI模型,使其适应特定的市场。
preview
开发回放系统 — 市场模拟(第 03 部分):调整设置(I)

开发回放系统 — 市场模拟(第 03 部分):调整设置(I)

我们从梳理当前状况开始,因为我们尚未以最好的方式开始。 如果我们现在不这样做,我们很快就会遇到麻烦。
preview
DRAKON可视化编程语言 - 面向MQL开发人员和客户的通信工具

DRAKON可视化编程语言 - 面向MQL开发人员和客户的通信工具

DRAKON是一种可视化编程语言,旨在简化来自不同领域的专家(生物学家、物理学家、工程师…)与俄罗斯太空项目(例如,Buran可重复使用航天器项目)程序员之间的互动。在这篇文章中,我将讨论DRAKON如何使算法的创建变得容易和直观,即使你从未遇到过代码,以及客户在订购交易机器人时如何更容易解释他们的想法,以及程序员如何在复杂函数中减少错误。
preview
MQL5 中的高级变量和数据类型

MQL5 中的高级变量和数据类型

不仅在 MQL5 编程中,在任何编程语言中,变量和数据类型都是非常重要的主题。MQL5 变量和数据类型可分为简单类型和高级类型。在这篇文章中,我们将识别并学习高级类型,因为我们在前一篇文章中已经提到过简单类型。
preview
开发回放系统 — 市场模拟(第 06 部分):首次改进(I)

开发回放系统 — 市场模拟(第 06 部分):首次改进(I)

在本文中,我们将开始稳固整个系统,若无,则我们可能无法进行后续步骤。
preview
神经网络变得简单(第 71 部分):目标条件预测编码(GCPC)

神经网络变得简单(第 71 部分):目标条件预测编码(GCPC)

在之前的文章中,我们讨论了决策转换器方法,以及从其衍生的若干种算法。我们测验了不同的目标设定方法。在测验期间,我们依据各种设定目标的方式进行操作。然而,该模型早期研究时验算过的轨迹,始终处于我们的关注范围之外。在这篇文章中。我想向您介绍一种填补此空白的方法。
preview
DoEasy 函数库中的图形(第一百部分):改进扩展标准图形对象的处理

DoEasy 函数库中的图形(第一百部分):改进扩展标准图形对象的处理

在本文中,我将剔除在画布上同时处理扩展(和标准)图形对象和窗体对象方面的明显缺陷,并修复在前一篇文章中执行测试期间检测到的错误。 本文总结了函数库说明的这一部分。