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

icon

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

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

添加一个新的文章
最近 | 最佳
preview
神经网络变得简单(第 71 部分):目标条件预测编码(GCPC)

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

在之前的文章中,我们讨论了决策转换器方法,以及从其衍生的若干种算法。我们测验了不同的目标设定方法。在测验期间,我们依据各种设定目标的方式进行操作。然而,该模型早期研究时验算过的轨迹,始终处于我们的关注范围之外。在这篇文章中。我想向您介绍一种填补此空白的方法。
preview
在 MQL5 中实现广义赫斯特指数和方差比检验

在 MQL5 中实现广义赫斯特指数和方差比检验

在本文中,我们将研究如何利用广义赫斯特指数(Generalized Hurst Exponent)和方差比检验(Variance Ratio Test)来分析 MQL5 中价格序列的行为。
preview
开发多币种 EA 交易(第 2 部分):过渡到交易策略的虚拟仓位

开发多币种 EA 交易(第 2 部分):过渡到交易策略的虚拟仓位

让我们继续开发多币种 EA,让多个策略并行工作。让我们尝试将与市场开仓相关的所有工作从策略级转移到管理策略的 EA 级。这些策略本身只进行虚拟交易,并不建立市场仓位。
preview
神经网络变得简单(第 70 部分):封闭式政策改进运算器(CFPI)

神经网络变得简单(第 70 部分):封闭式政策改进运算器(CFPI)

在本文中,我们将领略一种算法,其使用封闭式政策改进运算器来优化离线模式下的智能体动作。
preview
交易中的追踪止损

交易中的追踪止损

在本文中,我们将研究追踪止损在交易中的使用。我们将评估它的实用性和有效性以及如何使用它。追踪止损的效率很大程度上取决于价格波动和止损水平的选择。可以使用各种方法来设置止损。
preview
神经网络变得简单(第 69 部分):基于密度的行为政策支持约束(SPOT)

神经网络变得简单(第 69 部分):基于密度的行为政策支持约束(SPOT)

在离线学习中,我们使用固定的数据集,这限制了环境多样性的覆盖范围。在学习过程中,我们的 Agent 能生成超出该数据集之外的动作。如果没有来自环境的反馈,我们如何判定针对该动作的估测是正确的?在训练数据集中维护 Agent 的政策成为确保训练可靠性的一个重要方面。这就是我们将在本文中讨论的内容。
preview
MQL5 简介(第 3 部分):掌握 MQL5 的核心元素

MQL5 简介(第 3 部分):掌握 MQL5 的核心元素

在这篇便于初学者阅读的文章中,我们将为您揭开数组、自定义函数、预处理器和事件处理的神秘面纱,并对所有内容进行清晰讲解,让您可以轻松理解每一行代码,从而探索 MQL5 编程的基础知识。加入我们,用一种独特的方法释放 MQL5 的力量,确保每一步都能理解。本文为掌握 MQL5 奠定了基础,强调了对每行代码的解释,并提供了独特而丰富的学习体验。
preview
神经网络变得简单(第 68 部分):离线优先引导政策优化

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

自从第一篇专门讨论强化学习的文章以来,我们以某种方式触及了 2 个问题:探索环境和检定奖励函数。最近的文章曾专门讨论了离线学习中的探索问题。在本文中,我想向您介绍一种算法,其作者完全剔除了奖励函数。
preview
开发多币种 EA 交易(第 1 部分):多种交易策略的协作

开发多币种 EA 交易(第 1 部分):多种交易策略的协作

交易策略是多种多样的,因此,或许可以采用几种策略并行运作,以分散风险,提高交易结果的稳定性。但是,如果每个策略都作为单独的 EA 交易来实现,那么在一个交易账户上管理它们的工作就会变得更加困难。为了解决这个问题,在一个 EA 中实现不同交易策略的操作是合理的。
preview
使用 Python 和 MetaTrader5 python 软件包及 ONNX 模型文件进行深度学习预测和排序

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

本项目涉及在金融市场中使用 Python 进行基于深度学习的预测。我们将探索使用平均绝对误差(MAE)、均方误差(MSE)和R平方(R2)等关键指标测试模型性能的复杂性,并学习如何将所有内容打包到可执行文件中。我们还将制作一个 ONNX 模型文件以及它的 EA。
preview
频域中的滤波和特征提取

频域中的滤波和特征提取

在本文中,我们探索了在时间序列由数字滤波器在频域上进行表达的应用,如此即可提取也许对预测模型有用的独特特征。
preview
改编版 MQL5 网格对冲 EA(第 1 部分):制作一个简单的对冲 EA

改编版 MQL5 网格对冲 EA(第 1 部分):制作一个简单的对冲 EA

我们将创建一个简单的对冲 EA,作为我们更高级的 Grid-Hedge EA 的基础,它将是经典网格和经典对冲策略的混合体。在本文结束时,您将知晓如何创建一个简单的对冲策略,并且您还将知晓人们对于该策略是否能真正 100% 盈利的说法。
preview
理解编程范式(第 1 部分):开发价格行为智能系统的过程化方式

理解编程范式(第 1 部分):开发价格行为智能系统的过程化方式

了解编程范式及利用 MQL5 代码的应用。本文探讨了过程化编程的细节,并通过一个实际示例提供了实经验。您将学习如何利用 EMA 指标和烛条价格数据开发价格行为智能系统。额外,本文还介绍了函数化编程范式。
preview
在 MQL5 中创建做市商算法

在 MQL5 中创建做市商算法

做市商是如何运作的?让我们探讨一下这个问题,创建一个初级的做市商算法。
preview
MQL5 中的定量分析:实现有前途的算法

MQL5 中的定量分析:实现有前途的算法

我们将分析什么是定量分析,以及主要参与者如何运用定量分析的问题。我们将用 MQL5 语言创建一种定量分析算法。
preview
掌握 MQL5:从入门到精通(第二部分)基本数据类型和变量的使用

掌握 MQL5:从入门到精通(第二部分)基本数据类型和变量的使用

这是初学者系列的延续。本文将介绍如何创建常量和变量、写入日期、颜色和其他有用的数据。我们将学习如何创建枚举,如一周中的天数或线条样式(实线、虚线等)。变量和表达式是编程的基础。它们肯定存在于99%以上的程序中,因此理解它们至关重要。因此,如果你是编程新手,这篇文章会对你非常有用。所需的编程知识水平:非常基础,在我上一篇文章(见开头的链接)的范围内。
preview
神经网络变得简单(第 66 部分):离线学习中的探索问题

神经网络变得简单(第 66 部分):离线学习中的探索问题

使用准备好的训练数据集中的数据对模型进行离线训练,这种方法虽然有一定的优势,但其不利的一面是,环境信息被大大压缩到训练数据集的大小。这反过来又限制了探索的可能性。在本文中,我们将探讨一种方法,这种方法可以用尽可能多样化的数据来填充训练数据集。
preview
掌握 MQL5:从入门到精通(第一部分):开始编程

掌握 MQL5:从入门到精通(第一部分):开始编程

本文是有关编程的系列文章的概述。这里假设的是读者之前从未接触过编程,因此,本系列从最基础的地方开始。编程知识水平:绝对的新手。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 5 部分):凯尔特纳(Keltner)通道上的布林带 — 指标信号

如何利用 MQL5 创建简单的多币种智能交易系统(第 5 部分):凯尔特纳(Keltner)通道上的布林带 — 指标信号

本文中的多币种 EA 是一款智能交易系统或交易机器人,可以仅从一个品种图表中交易(开单、平单和管理订单,例如:尾随止损和止盈)多个品种(对)。在本文中,我们将用到来自两个指标的信号,在本例中为凯尔特纳(Keltner)通道上的布林带®。
preview
神经网络变得简单(第 67 部分):按照过去的经验解决新任务

神经网络变得简单(第 67 部分):按照过去的经验解决新任务

在本文中,我们将继续讨论收集数据至训练集之中的方法。显然,学习过程需要与环境不断互动。不过,状况可能会有所不同。
preview
神经网络变得简单(第 65 部分):距离加权监督学习(DWSL)

神经网络变得简单(第 65 部分):距离加权监督学习(DWSL)

在本文中,我们将领略一个有趣的算法,它是在监督和强化学习方法的交叉点上构建的。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 4 部分):三角移动平均线 — 指标信号

如何利用 MQL5 创建简单的多币种智能交易系统(第 4 部分):三角移动平均线 — 指标信号

本文中的多币种 EA 是智能交易系统或交易机器人,能从一个品种的图表里交易(开单、平单、及管理订单,例如:尾随止损和止盈)多个品种(货币对)。这次我们只会用到 1 个指标,即多时间帧或单一时间帧中的三角移动平均线。
preview
神经网络变得简单(第 64 部分):保守加权行为克隆(CWBC)方法

神经网络变得简单(第 64 部分):保守加权行为克隆(CWBC)方法

据前几篇文章中所执行测试的结果,我们得出的结论是,训练策略的最优性很大程度上取决于所采用的训练集。在本文中,我们将熟悉一种相当简单,但有效的方法来选择轨迹,并据其训练模型。
preview
神经网络变得简单(第 63 部分):决策转换器无监督预训练(PDT)

神经网络变得简单(第 63 部分):决策转换器无监督预训练(PDT)

我们将继续讨论决策转换器方法系列。从上一篇文章中,我们已经注意到,训练这些方法架构下的转换器是一项相当复杂的任务,需要一个大型标记数据集进行训练。在本文中,我们将观看到一种使用未标记轨迹进行初步模型训练的算法。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 3 部分):添加交易品种、前缀和/或后缀、以及交易时段

如何利用 MQL5 创建简单的多币种智能交易系统(第 3 部分):添加交易品种、前缀和/或后缀、以及交易时段

若干交易员同事发送电子邮件或评论了如何基于经纪商提供的名称里带有前缀和/或后缀的品种使用此多币种 EA,以及如何在该多币种 EA 上实现交易时区或交易时段。
preview
神经网络变得简单(第 62 部分):在层次化模型中运用决策转换器

神经网络变得简单(第 62 部分):在层次化模型中运用决策转换器

在最近的文章中,我们已看到了运用决策转换器方法的若干选项。该方法不仅可以分析当前状态,还可以分析先前状态的轨迹,以及在其中执行的动作。在本文中,我们将专注于在层次化模型中运用该方法。
preview
神经网络变得简单(第 61 部分):离线强化学习中的乐观情绪问题

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

在离线学习期间,我们基于训练样本数据优化了智能体的政策。成品政策令智能体对其动作充满信心。然而,这种乐观情绪并不总是正当的,并且可能会在模型操作期间导致风险增加。今天,我们要寻找降低这些风险的方法之一。
preview
神经网络实验(第 7 部分):传递指标

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

传递指标至感知器的示例。本文讲述了一般概念,并展示了最简单的现成智能交易系统,后随其优化和前向验算结果。
preview
神经网络变得简单(第 60 部分):在线决策转换器(ODT)

神经网络变得简单(第 60 部分):在线决策转换器(ODT)

最近两篇文章专门介绍了决策转换器方法,其在期望奖励的自回归模型境况下针对动作序列进行建模。在本文中,我们将研究该方法的另一种优化算法。
preview
神经网络变得简单(第 59 部分):控制二分法(DoC)

神经网络变得简单(第 59 部分):控制二分法(DoC)

在上一篇文章中,我们领略了决策变换器。但是,外汇市场复杂的随机环境不允许我们充分发挥所提议方法的潜能。在本文中,我将讲述一种算法,旨在提高在随机环境中的性能。
preview
神经网络变得简单(第 58 部分):决策转换器(DT)

神经网络变得简单(第 58 部分):决策转换器(DT)

我们继续探索强化学习方法。在本文中,我将专注于一种略有不同的算法,其参考智能体政策构造一连串动作的范式。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 2 部分):指标信号:多时间帧抛物线 SAR 指标

如何利用 MQL5 创建简单的多币种智能交易系统(第 2 部分):指标信号:多时间帧抛物线 SAR 指标

本文中的多币种智能交易系统是智能交易系统或交易机器人,它仅在一个品种图表上就能交易(开单、平单、和管理订单,例如:尾随停损和止盈)超过 1 个交易品种对。这次我们只用 1 个指标,即抛物线 SAR 或 iSAR, 将其应用在 PERIOD_M15 到 PERIOD_D1 的多个时间帧。
preview
神经网络变得简单(第 57 部分):随机边际扮演者-评论者(SMAC)

神经网络变得简单(第 57 部分):随机边际扮演者-评论者(SMAC)

在此,我将研究相当新颖的随机边际扮演者-评论者(SMAC)算法,该算法允许在熵值最大化的框架内构建潜在变量政策。
preview
神经网络变得简单(第 56 部分):利用核范数推动研究

神经网络变得简单(第 56 部分):利用核范数推动研究

强化学习中的环境研究是一个紧迫的问题。我们之前已视察过一些方式。在本文中,我们将讲述另一种基于最大化核范数的方法。它允许智能体识别拥有高度新颖性和多样性的环境状态。
preview
神经网络变得轻松(第五十五部分):对比内在控制(CIC)

神经网络变得轻松(第五十五部分):对比内在控制(CIC)

对比训练是一种无监督训练方法表象。它的目标是训练一个模型,突显数据集中的相似性和差异性。在本文中,我们将谈论使用对比训练方式来探索不同的扮演者技能。
preview
将ML模型与策略测试器集成(结论):实现价格预测的回归模型

将ML模型与策略测试器集成(结论):实现价格预测的回归模型

本文描述了一个基于决策树的回归模型的实现。该模型应预测金融资产的价格。我们已经准备好了数据,对模型进行了训练和评估,并对其进行了调整和优化。然而,需要注意的是,该模型仅用于研究目的,不应用于实际交易。
preview
神经网络变得轻松(第五十四部分):利用随机编码器(RE3)进行高效研究

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

无论何时我们研究强化学习方法时,我们都会面对有效探索环境的问题。解决这个问题通常会导致算法更复杂性,以及训练额外模型。在本文中,我们将看看解决此问题的替代方法。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 1 部分):基于 ADX 指标的信号,并结合抛物线 SAR

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

本文中的多币种智能交易系统是交易机器人,它只能在单一品种图表中运营,但可交易(开单、平单和管理订单)超过一个品种对。
preview
神经网络变得轻松(第五十三部分):奖励分解

神经网络变得轻松(第五十三部分):奖励分解

我们已经不止一次地讨论过正确选择奖励函数的重要性,我们通过为单独动作添加奖励或惩罚来刺激代理者的预期行为。但是关于由代理者解密我们的信号的问题仍旧悬而未决。在本文中,我们将探讨将单独信号传输至已训练代理者时的奖励分解。
preview
神经网络变得轻松(第五十二部分):研究乐观情绪和分布校正

神经网络变得轻松(第五十二部分):研究乐观情绪和分布校正

由于模型是基于经验复现缓冲区进行训练,故当前的扮演者政策会越来越远离存储的样本,这会降低整个模型的训练效率。在本文中,我们将查看一些能在强化学习算法中提升样本使用效率的算法。