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

icon

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

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

添加一个新的文章
最近 | 最佳
preview
交易中的追踪止损

交易中的追踪止损

在本文中,我们将研究追踪止损在交易中的使用。我们将评估它的实用性和有效性以及如何使用它。追踪止损的效率很大程度上取决于价格波动和止损水平的选择。可以使用各种方法来设置止损。
preview
神经网络变得轻松(第二十一部分):变分自动编码器(VAE)

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

在上一篇文章中,我们已熟悉了自动编码器算法。 像其它任何算法一样,它也有其优点和缺点。 在其原始实现中,自动编码器会尽可能多地将对象与训练样本分开。 这次我们将讨论如何应对它的一些缺点。
preview
掌握 MQL5:从入门到精通(第二部分)基本数据类型和变量的使用

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

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

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

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

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

这是新订单系统的第一部分。 自从我们在文章中开始打造这个 EA 以来,它已经历了各种变化和改进,同时保持了相同的图表订单系统模型。
preview
MetaTrader 中的多机器人:从单图表中启动多个机器人

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

在本文中,我将研究一个简单的模板,用来创建通用的 MetaTrader 机器人,该机器人可以在多个图表上使用,同时仅附加到一个图表,无需在每个单独的图表上为每个机器人实例进行配置。
DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合
DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合

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

鉴于程序在其运行时可能会用到不同的品种,因此应为每个品种创建一个单独的列表。 在本文中,我将把这些列表合并到一个即时报价数据集合。 实际上,这将是一个常规列表,基于指向标准库 CObject 类及其衍生类实例指针的动态数组。
MQL5 Cookbook: 减少过度配合的影响以及处理报价缺失
MQL5 Cookbook: 减少过度配合的影响以及处理报价缺失

MQL5 Cookbook: 减少过度配合的影响以及处理报价缺失

无论您使用何种交易策略,总会有一个问题:怎样选择参数以保证未来的利润。本文提供了一个EA交易的实例,使您可以同时优化多个交易品种的参数,这种方法是未了减少参数的过度配合以及处理在研究中来自单个交易品种的数据不足的问题。
preview
神经网络实验(第 6 部分):自给自足的价格预测工具 — 感知器

神经网络实验(第 6 部分):自给自足的价格预测工具 — 感知器

本文提供了一个的示例,运用感知器作为自给自足的价格预测工具,展示其一般概念和最简单的已制备智能系统,然后是其优化结果。
preview
神经网络变得轻松(第三十五部分):内在好奇心模块

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

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

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

我们继续研究无监督学习算法。 一些读者可能对最近发表的与神经网络主题的相关性有疑问。 在这篇新文章中,我们回到了对神经网络的研究。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 6 部分):两条 RSI 指标相互交叉

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

本文中的多货币智能系统是一款智能交易系统或交易机器人,它利用两条 RSI 指标线的交叉,即与慢速 RSI 与快速 RSI 两线相交。
preview
Heiken-Ashi指标与移动平均指标组合能够提供好的信号吗?

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

策略的组合可能会提供更好的机会,我们可以把指标和形态一起使用,或者更进一步,多个指标和形态一起,这样我们可以获得额外的确认因子。移动平均帮我们确认和驾驭趋势,它们是最为人所知的技术指标,这是因为它们的简单性和为分析增加价值的良好记录。
DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类
DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类

DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类

在本文中,我将继续开发图表对象类。 我将添加含有可用指标列表的图表窗口对象列表。
preview
改编版 MQL5 网格对冲 EA(第 1 部分):制作一个简单的对冲 EA

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

我们将创建一个简单的对冲 EA,作为我们更高级的 Grid-Hedge EA 的基础,它将是经典网格和经典对冲策略的混合体。在本文结束时,您将知晓如何创建一个简单的对冲策略,并且您还将知晓人们对于该策略是否能真正 100% 盈利的说法。
preview
神经网络变得轻松(第三十二部分):分布式 Q-学习

神经网络变得轻松(第三十二部分):分布式 Q-学习

我们在本系列的早期文章中领略了 Q-学习方法。 此方法均化每次操作的奖励。 2017 年出现了两篇论文,在研究奖励分配函数时展现出了极大的成功。 我们来研究运用这种技术解决我们问题的可能性。
preview
从头开始开发智能交易系统(第 12 部分):时序与交易(I)

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

今天,我们将创建时序与交易,从而快速解读订单流程。 这是我们构建系统的第一部分。 在下一篇文章中,我们将补全该系统缺失的信息。 为了实现这一新功能,我们需要在智能交易系统代码中添加一些新的内容。
preview
交易中的混沌理论(第一部分):简介、在金融市场中的应用和李亚普诺夫指数

交易中的混沌理论(第一部分):简介、在金融市场中的应用和李亚普诺夫指数

混沌理论可以应用于金融市场吗?在这篇文章中,我们将探讨传统混沌理论和混沌系统与比尔·威廉姆斯提出的概念有何不同。
preview
构建自动运行的 EA(第 14 部分):自动化(VI)

构建自动运行的 EA(第 14 部分):自动化(VI)

在本文中,我们将把本系列中的所有知识付诸实践。 我们最终将建立一个 100% 自动化和功能性的系统。 但在此之前,我们仍然需要学习最后一个细节。
市场及其全局模式中的物理学
市场及其全局模式中的物理学

市场及其全局模式中的物理学

在本文中,我将尝试测试这样一个假设,即任何对市场了解甚微的系统都可以在全局范围内运行。我不会发明任何理论或模式,但我只会使用已知的事实,逐步将这些事实转化为数学分析的语言。
preview
在 MQL5 中使用 AutoIt

在 MQL5 中使用 AutoIt

简述。 在本文中,我们将探索采用 MetraTrader 5 终端里以集成的 MQL5 编写 AutoIt 脚本。 在其中,我们将覆盖如何操纵终端的用户界面来自动完成各种任务,并介绍一个采用 AutoItX 库的类。
preview
构建自动运行的 EA(第 09 部分):自动化(II)

构建自动运行的 EA(第 09 部分):自动化(II)

如果您无法控制其调度表,则自动化就意味着毫无意义。 没有工人能够一天 24 小时高效工作。 然而,许多人认为自动化系统理所当然地每天 24 小时运行。 但为 EA 设置工作时间范围总是有好处的。 在本文中,我们将研究如何正确设置这样的时间范围。
preview
开发多币种 EA 交易(第 3 部分):架构修改

开发多币种 EA 交易(第 3 部分):架构修改

我们在开发多币种 EA 方面已经取得了一些进展,该 EA 有几个并行工作的策略。考虑到所积累的经验,让我们回顾一下我们解决方案的架构,并尝试在我们走得太远之前对其进行改进吧。
preview
帧分析器(Frames Analyzer)工具带来的时间片交易魔法

帧分析器(Frames Analyzer)工具带来的时间片交易魔法

什么是帧分析器(Frames Analyzer)? 这是适用于任意智能系统的一个插件模块,在策略测试器中、以及测试器之外进行参数优化期间,该工具在参数优化完成后立即读取测试创建的 MQD 文件、或数据库,并分析优化帧数据。 您能够与拥有帧分析器工具的其他用户共享这些优化结果,从而共同讨论结果。
preview
神经网络变得轻松(第三十四部分):全部参数化的分位数函数

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

我们继续研究分布式 Q-学习算法。 在之前的文章中,我们研究了分布式和分位数 Q-学习算法。 在第一种算法当中,我们训练了给定数值范围的概率。 在第二种算法中,我们用给定的概率训练了范围。 在这两个发行版中,我们采用了一个先验分布知识,并训练了另一个。 在本文中,我们将研究一种算法,其允许模型针对两种分布进行训练。
preview
构建自动运行的 EA(第 13 部分):自动化(V)

构建自动运行的 EA(第 13 部分):自动化(V)

您知道什么是流程图吗? 您能用它吗? 您认为流程图适合初学者吗? 我建议我们一起继续阅读这篇新文章,学习如何使用流程图。
preview
神经网络变得轻松(第十四部分):数据聚类

神经网络变得轻松(第十四部分):数据聚类

我的上一篇文章已经发表一年多了。 这令我有了大量时间考虑修改思路和发展新方法。 在这篇新文章中,我想转移一下以前使用的监督学习方法。 这次我们将深入研究无监督学习算法。 特别是,我们将考虑一种聚类算法 — k-均值。
preview
使用 Python 和 MetaTrader5 python 软件包及 ONNX 模型文件进行深度学习预测和排序

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

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

构建自动运行的 EA(第 11 部分):自动化(III)

如果没有健全的安全性,自动化系统就不会成功。 但是,如果不对某些事情有很好的理解,就无法确保安全性。 在本文中,我们将探讨为什么在自动化系统中实现最大安全性是一项挑战。
preview
重新审视一种旧时的趋势交易策略:两个随机振荡指标,一个移动平均指标和斐波那契线

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

旧时的交易策略本文介绍了一种纯技术型的趋势跟踪策略。该策略纯粹是技术性的,使用一些技术指标和工具来传递信号和目标。该策略的组成部分如下:一个周期数为14的随机振荡指标,一个周期数为5的随机振荡指标,一个周期数为200的移动平均指标,一个斐波那契投影工具(用于设定目标)。
preview
使用MQL5开发基于震荡区间突破策略的EA

使用MQL5开发基于震荡区间突破策略的EA

本文概述了如何创建一个基于价格突破震荡区间进行交易的EA。通过识别震荡区间并设定突破水平,交易者可以基于这一策略自动化其交易决策。该EA旨在为交易者提供明确的入场和出场点,同时避免虚假突破。
preview
构建自动运行的 EA(第 07 部分):账户类型(II)

构建自动运行的 EA(第 07 部分):账户类型(II)

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。 交易者应当始终明白自动 EA 正在做什么,以便若它“偏离轨道”,交易者可以尽早将其从图表中删除,并控制事态。
preview
神经网络变得轻松(第二十二部分):递归模型的无监督学习

神经网络变得轻松(第二十二部分):递归模型的无监督学习

我们继续研究无监督学习算法。 这次我建议我们讨论自动编码器应用于递归模型训练时的特性。
preview
神经网络变得轻松(第四十四部分):动态学习技能

神经网络变得轻松(第四十四部分):动态学习技能

在上一篇文章中,我们讲解了 DIAYN 方法,它提供了学习各种技能的算法。 获得的技能可用在各种任务。 但这些技能可能非常难以预测,而这可能令它们难以运用。 在本文中,我们要研究一种针对学习可预测技能的算法。
preview
您应该知道的 MQL5 向导技术(第 06 部分):傅里叶(Fourier)变换

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

约瑟夫·傅里叶(Joseph Fourier)引入的傅里叶变换是将复杂的数据波分解构为简单分量波的一种方法。 此功能对交易者来说可能更机敏,本文将对此进行关注。
MQL5 Cookbook: 处理自定义图表事件
MQL5 Cookbook: 处理自定义图表事件

MQL5 Cookbook: 处理自定义图表事件

本文研究在 MQL5 环境里设计和开发自定义图表事件的内容。一种事件分类的例程也可以在这里找到,当然,还有事件类,以及自定义事件处理器类的程序代码。
preview
MQL5 简介(第 3 部分):掌握 MQL5 的核心元素

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

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

神经网络变得轻松(第三十一部分):进化算法

在上一篇文章中,我们开始探索非梯度优化方法。 我们领略了遗传算法。 今天,我们将继续这个话题,并将研究另一类进化算法。
preview
在 MetaTrader 5 中测试和优化二元期权策略

在 MetaTrader 5 中测试和优化二元期权策略

在本文中,我将在 MetaTrader 5 中检查并优化二元期权策略。
preview
神经网络变得轻松(第十七部分):降低维度

神经网络变得轻松(第十七部分):降低维度

在本部分中,我们将继续讨论人工智能模型。 即,我们研究无监督学习算法。 我们已经讨论了众多聚类算法之一。 在本文中,我将分享一种解决与降维相关问题的方法。