MQL5 开发的自动交易示例的文章

icon

EA 是编程的 '巅峰',并且是每一个自动交易开发者的渴望目标。请阅读本部分中的文章,创建您自己的交易机器人。通过下面介绍的步骤,您将了解到如何创建,调试和测试自动交易系统。

这些文章不仅教导 MQL5 编程,而且也演示了如何实现交易思想和技巧。您将了解如何编写跟踪止损,如何运用资金管理,如何获取指标值,等等。

添加一个新的文章
最近 | 最佳
preview
神经网络变得轻松(第三十六部分):关系强化学习

神经网络变得轻松(第三十六部分):关系强化学习

在上一篇文章中讨论的强化学习模型中,我们用到了卷积网络的各种变体,这些变体能够识别原始数据中的各种对象。 卷积网络的主要优点是能够识别对象,无关它们的位置。 与此同时,当物体存在各种变形和噪声时,卷积网络并不能始终表现良好。 这些是关系模型可以解决的问题。
preview
从头开始开发智能交易系统(第 19 部分):新订单系统 (II)

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

在本文中,我们将开发一个“看看发生了什么”类型的图形订单系统。 请注意,我们这次不是从头开始,只不过我们将修改现有系统,在我们交易的资产图表上添加更多对象和事件。
DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表
DoEasy 函数库中的时间序列(第六十部分):品种即时报价数据的序列列表

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

在本文中,我将创建存储单一品种即时报价数据的列表,并在 EA 中检查其创建状态,以及检索所需数据。 每个所用品种各自的即时报价数据列表将来会构成即时报价数据集合。
preview
神经网络变得轻松(第三十三部分):分布式 Q-学习中的分位数回归

神经网络变得轻松(第三十三部分):分布式 Q-学习中的分位数回归

我们继续研究分布式 Q-学习。 今天我们将从另一个角度来看待这种方式。 我们将研究使用分位数回归来解决价格预测任务的可能性。
preview
神经网络变得轻松(第四十三部分):无需奖励函数精通技能

神经网络变得轻松(第四十三部分):无需奖励函数精通技能

强化学习的问题在于需要定义奖励函数。 它可能很复杂,或难以形式化。 为了定解这个问题,我们正在探索一些基于行动和基于环境的方式,无需明确的奖励函数即可学习技能。
DoEasy 库中的其他类(第六十七部分):图表对象类
DoEasy 库中的其他类(第六十七部分):图表对象类

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

在本文中,我将创建图表对象类(单个交易金融产品图表),并改进 MQL5 信号对象的集合类,以便在更新列表时也能为存储在集合中的每个信号对象更新其所有参数。
preview
神经网络变得轻松(第三十四部分):全部参数化的分位数函数

神经网络变得轻松(第三十四部分):全部参数化的分位数函数

我们继续研究分布式 Q-学习算法。 在之前的文章中,我们研究了分布式和分位数 Q-学习算法。 在第一种算法当中,我们训练了给定数值范围的概率。 在第二种算法中,我们用给定的概率训练了范围。 在这两个发行版中,我们采用了一个先验分布知识,并训练了另一个。 在本文中,我们将研究一种算法,其允许模型针对两种分布进行训练。
preview
神经网络变得轻松(第三十部分):遗传算法

神经网络变得轻松(第三十部分):遗传算法

今天我想给大家介绍一种略有不同的学习方法。 我们可以说它是从达尔文的进化论中借鉴而来的。 它可能比前面所讨论方法的可控性更低,但它允许训练不可微分的模型。
preview
DoEasy 函数库中的时间序列(第五十四部分):抽象基准指标类的衍生

DoEasy 函数库中的时间序列(第五十四部分):抽象基准指标类的衍生

本文研究基于基准抽象指标衍生对象类的创建。 这些对象所提供功能,可访问创建的指标 EA,收集和获取各种指标和价格数据的数值统计信息。 同样,创建指标对象集合,从中可以访问程序中创建的每个指标的属性和数据。
preview
从头开始开发智能交易系统(第 13 部分):时序与交易(II)

从头开始开发智能交易系统(第 13 部分):时序与交易(II)

今天,我们将针对市场分析构建《时序与交易》系统的第二部分。 在前一篇文章《时序与交易(I)》当中,我们讨论了一种替代的图表组织系统,该系统能够针对市场上执行的成交进行最快速的解释。
preview
神经网络变得轻松(第三十九部分):Go-Explore,一种不同的探索方式

神经网络变得轻松(第三十九部分):Go-Explore,一种不同的探索方式

我们继续在强化学习模型中研究环境。 在本文中,我们将见识到另一种算法 — Go-Explore,它允许您在模型训练阶段有效地探索环境。
preview
神经网络实验(第 3 部分):实际应用

神经网络实验(第 3 部分):实际应用

在本系列文章中,我会采用实验和非标准方法来开发一个可盈利的交易系统,并检查神经网络是否对交易者有任何帮助。 若在交易中运用神经网络,MetaTrader 5 则可作为近乎自给自足的工具。
preview
神经网络变得轻松(第二十四部分):改进迁移学习工具

神经网络变得轻松(第二十四部分):改进迁移学习工具

在上一篇文章中,我们创建了一款用于创建和编辑神经网络架构的工具。 今天我们将继续打造这款工具。 我们将努力令其对用户更加友好。 也许可以看到,我们的主题往上更进一步。 但是,您不认为规划良好的工作空间在实现结果方面起着重要作用吗?
preview
神经网络变得轻松(第十八部分):关联规则

神经网络变得轻松(第十八部分):关联规则

作为本系列文章的延续,我们来研究无监督学习方法中的另一类问题:挖掘关联规则。 这种问题类型首先用于零售业,即超市等,来分析市场篮子。 在本文中,我们将讨论这些算法在交易中的适用性。
preview
MQL5 中的范畴论 (第 7 部分):多域、相对域和索引域

MQL5 中的范畴论 (第 7 部分):多域、相对域和索引域

范畴论是数学的一个多样化和不断扩展的分支,直到最近才在 MQL5 社区中得到一些报道。 这些系列文章旨在探索和验证一些概念和公理,其总体目标是建立一个开放的函数库,提供洞察力,同时也希望进一步在交易者的策略开发中运用这个非凡的领域。
preview
神经网络变得轻松(第三十八部分):凭借分歧进行自我监督探索

神经网络变得轻松(第三十八部分):凭借分歧进行自我监督探索

强化学习中的一个关键问题是环境探索。 之前,我们已经见识到基于内在好奇心的研究方法。 今天我提议看看另一种算法:凭借分歧进行探索。
DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件
DoEasy 函数库中的其他类(第七十一部分):图表对象集合事件

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

在本文中,我将创建一些跟踪图表对象事件的功能 — 添加/删除品种图表和图表子窗口,以及添加/删除/更改图表窗口中的指标。
preview
多层感知器和反向传播算法(第 3 部分):与策略测试器集成 - 概述(I)

多层感知器和反向传播算法(第 3 部分):与策略测试器集成 - 概述(I)

多层感知器是简单感知器的演变,可以解决非线性可分离问题。 结合反向传播算法,可以有效地训练该神经网络。 在多层感知器和反向传播系列的第 3 部分当中,我们将见识到如何将此技术集成到策略测试器之中。 这种集成将允许使用复杂的数据分析,旨在制定更好的决策,从而优化您的交易策略。 在本文中,我们将讨论这种技术的优点和问题。
preview
神经网络变得轻松(第四十部分):在大数据上运用 Go-Explore

神经网络变得轻松(第四十部分):在大数据上运用 Go-Explore

本文讨论 Go-Explore 算法覆盖长周期训练的运用,因为随着训练时间的增加,随机动作选择策略也许不会导致可盈利验算。
preview
神经网络变得轻松(第十五部分):利用 MQL5 进行数据聚类

神经网络变得轻松(第十五部分):利用 MQL5 进行数据聚类

我们继续研究聚类方法。 在本文中,我们将创建一个新的 CKmeans 类来实现最常见的聚类方法之一:k-均值。 在测试期间,该模型成功地识别了大约 500 种形态。
preview
您应该知道的 MQL5 向导技术(第 06 部分):傅里叶(Fourier)变换

您应该知道的 MQL5 向导技术(第 06 部分):傅里叶(Fourier)变换

约瑟夫·傅里叶(Joseph Fourier)引入的傅里叶变换是将复杂的数据波分解构为简单分量波的一种方法。 此功能对交易者来说可能更机敏,本文将对此进行关注。
preview
DoEasy 函数库中的时间序列(第五十七部分):指标缓冲区数据对象

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

在本文中,开发一个对象,其中包含一个指标的一个缓冲区的所有数据。 这些对象对于存储指标缓冲区的数据序列将是必需的。 在其的辅助下,才有可能对任何指标的缓冲区数据,以及其他类似数据进行排序和比较。
preview
为EA交易提供指标的现成模板(第3部分):趋势指标

为EA交易提供指标的现成模板(第3部分):趋势指标

在这篇参考文章中,我们将研究趋势指标类别中的标准指标。我们将创建现成的模板,用于EA中的指标使用——声明和设置参数、指标初始化和析构,以及从EA中的指示符缓冲区接收数据和信号。
preview
重新审视一种旧时的趋势交易策略:两个随机振荡指标,一个移动平均指标和斐波那契线

重新审视一种旧时的趋势交易策略:两个随机振荡指标,一个移动平均指标和斐波那契线

旧时的交易策略本文介绍了一种纯技术型的趋势跟踪策略。该策略纯粹是技术性的,使用一些技术指标和工具来传递信号和目标。该策略的组成部分如下:一个周期数为14的随机振荡指标,一个周期数为5的随机振荡指标,一个周期数为200的移动平均指标,一个斐波那契投影工具(用于设定目标)。
preview
神经网络变得轻松(第二十九部分):优势扮演者-评价者算法

神经网络变得轻松(第二十九部分):优势扮演者-评价者算法

在本系列的前几篇文章中,我们见识到两种增强的学习算法。 它们中的每一个都有自己的优点和缺点。 正如在这种情况下经常发生的那样,接下来的思路是将这两种方法合并到一个算法,使用两者间的最佳者。 这将弥补它们每种的短处。 本文将讨论其中一种方法。
preview
从头开始开发智能交易系统(第 11 部分):交叉订单系统

从头开始开发智能交易系统(第 11 部分):交叉订单系统

在本文中,我们将创建一个交叉订单系统。 有一种类型的资产让交易员的生涯变得非常困难 — 那就是期货合约。 但为什么令他们的职业生涯变得如此困难?
preview
神经网络变得轻松(第四十六部分):条件导向目标强化学习(GCRL)

神经网络变得轻松(第四十六部分):条件导向目标强化学习(GCRL)

在本文中,我们要看看另一种强化学习方式。 它被称为条件导向目标强化学习(GCRL)。 按这种方式,代理者经过训练,可以在特定场景中达成不同的目标。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 1 部分):基于 ADX 指标的信号,并结合抛物线 SAR

如何利用 MQL5 创建简单的多币种智能交易系统(第 1 部分):基于 ADX 指标的信号,并结合抛物线 SAR

本文中的多币种智能交易系统是交易机器人,它只能在单一品种图表中运营,但可交易(开单、平单和管理订单)超过一个品种对。
preview
神经网络实验(第 4 部分):模板

神经网络实验(第 4 部分):模板

在本文中,我将利用实验和非标准方法开发一个可盈利的交易系统,并验证神经网络是否对交易者有任何帮助。 若在交易中运用神经网络的话, MetaTrader 5 完全可作为一款自给自足的工具。 简单的解释。
preview
神经网络实验(第 5 部分):常规化传输到神经网络的输入参数

神经网络实验(第 5 部分):常规化传输到神经网络的输入参数

神经网络是交易者工具包中的终极工具。 我们来检查一下这个假设是否成立。 在交易中运用神经网络,MetaTrader 5 是最接近自给自足的媒介。 为此提供了一个简单的解释。
preview
神经网络变得轻松(第二十三部分):构建迁移学习工具

神经网络变得轻松(第二十三部分):构建迁移学习工具

在本系列文章中,我们已经不止一次提到了迁移学习。 然而,都只是提及而已。 在本文中,我建议填补这一空白,并仔细研究迁移学习。
preview
DoEasy 函数库中的时间序列(第五十六部分):自定义指标对象,从集合中的指标对象获取数据

DoEasy 函数库中的时间序列(第五十六部分):自定义指标对象,从集合中的指标对象获取数据

本文研究在 EA 中创建自定义指标对象。 我们稍微改进一下库类,并添加一些方法,以便从 EA 中的指标对象获取数据。
preview
创建多交易品种、多周期指标

创建多交易品种、多周期指标

在本文中,我们将研究创建多交易品种、多周期指标的原则。我们还将了解如何从 EA 交易和其他指标中获取此类指标的数据。我们将探讨在 EA 交易和指标中使用多指标的主要功能,并将了解如何通过自定义指标缓冲区绘制它们。
preview
神经网络变得轻松(第四十二部分):模型拖延症、原因和解决方案

神经网络变得轻松(第四十二部分):模型拖延症、原因和解决方案

在强化学习的背景下,模型拖延症可能由多种原因引起。 本文研究了模型拖延症的一些可能原因,以及克服它们的方法。
preview
神经网络变得轻松(第三十七部分):分散关注度

神经网络变得轻松(第三十七部分):分散关注度

在上一篇文章中,我们讨论了在其架构中使用关注度机制的关系模型。 这些模型的具体特征之一是计算资源的密集功用。 在本文中,我们将研究于自我关注度模块内减少计算操作数量的机制之一。 这将提高模型的常规性能。
preview
Heiken-Ashi指标与移动平均指标组合能够提供好的信号吗?

Heiken-Ashi指标与移动平均指标组合能够提供好的信号吗?

策略的组合可能会提供更好的机会,我们可以把指标和形态一起使用,或者更进一步,多个指标和形态一起,这样我们可以获得额外的确认因子。移动平均帮我们确认和驾驭趋势,它们是最为人所知的技术指标,这是因为它们的简单性和为分析增加价值的良好记录。
preview
神经网络变得轻松(第十六部分):聚类运用实践

神经网络变得轻松(第十六部分):聚类运用实践

在上一篇文章中,我们为数据聚类创建了一个类。 在本文中,我想分享在解决实际交易任务时应用所获结果会遇到的可能变体。
preview
MQL5 中的范畴论 (第 6 部分):单态回拉和满态外推

MQL5 中的范畴论 (第 6 部分):单态回拉和满态外推

范畴论是数学的一个多样化和不断扩展的分支,直到最近才在 MQL5 社区中得到一些报道。 这些系列文章旨在探索和验证一些概念和公理,其总体目标是建立一个开放的函数库,提供洞察力,同时也希望进一步在交易者的策略开发中运用这个非凡的领域。
preview
在类中包装 ONNX 模型

在类中包装 ONNX 模型

面向对象编程可以创建更紧凑、易于阅读和修改的代码。 在此,我们将会看到三个 ONNX 模型的示例。
preview
神经网络变得轻松(第五十四部分):利用随机编码器(RE3)进行高效研究

神经网络变得轻松(第五十四部分):利用随机编码器(RE3)进行高效研究

无论何时我们研究强化学习方法时,我们都会面对有效探索环境的问题。解决这个问题通常会导致算法更复杂性,以及训练额外模型。在本文中,我们将看看解决此问题的替代方法。