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

icon

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

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

添加一个新的文章
最近 | 最佳
preview

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

在这篇参考文章中,我们将研究趋势指标类别中的标准指标。我们将创建现成的模板,用于EA中的指标使用——声明和设置参数、指标初始化和析构,以及从EA中的指示符缓冲区接收数据和信号。
preview

在莫斯科交易所(MOEX)里使用破位挂单的自动兑换网格交易

本文探讨在莫斯科交易所(MOEX)里基于破位挂单的网格交易方法如何在 MQL5 智能系统中实现。 在市场上进行交易时,最简单的策略之一是设计“捕捉”市场价格的订单网格。
preview

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

本文中的多币种智能交易系统是交易机器人,它只能在单一品种图表中运营,但可交易(开单、平单和管理订单)超过一个品种对。
preview

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

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

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

我们继续研究无监督学习算法。 一些读者可能对最近发表的与神经网络主题的相关性有疑问。 在这篇新文章中,我们回到了对神经网络的研究。
DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类

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

在本文中,我将继续开发图表对象类。 我将添加含有可用指标列表的图表窗口对象列表。
preview

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

根据本系列文章的用户和读者的评论和要求,程序已进行了修改。 本文包含一个自动优化器的新版本。 该版本实现了所需的功能,并提供了其他改进,这些是我运用该程序操作时发现的。
preview

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

交易策略是多种多样的,因此,或许可以采用几种策略并行运作,以分散风险,提高交易结果的稳定性。但是,如果每个策略都作为单独的 EA 交易来实现,那么在一个交易账户上管理它们的工作就会变得更加困难。为了解决这个问题,在一个 EA 中实现不同交易策略的操作是合理的。
preview

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

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

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

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

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

今天,我们将创建时序与交易,从而快速解读订单流程。 这是我们构建系统的第一部分。 在下一篇文章中,我们将补全该系统缺失的信息。 为了实现这一新功能,我们需要在智能交易系统代码中添加一些新的内容。
preview
掌握 MQL5:从入门到精通(第二部分)基本数据类型和变量的使用

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

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

交易中的追踪止损

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

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

我们在本系列的早期文章中领略了 Q-学习方法。 此方法均化每次操作的奖励。 2017 年出现了两篇论文,在研究奖励分配函数时展现出了极大的成功。 我们来研究运用这种技术解决我们问题的可能性。
市场及其全局模式中的物理学

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

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

在 MQL5 中使用 AutoIt

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

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

如果您无法控制其调度表,则自动化就意味着毫无意义。 没有工人能够一天 24 小时高效工作。 然而,许多人认为自动化系统理所当然地每天 24 小时运行。 但为 EA 设置工作时间范围总是有好处的。 在本文中,我们将研究如何正确设置这样的时间范围。
preview
帧分析器(Frames Analyzer)工具带来的时间片交易魔法

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

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

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

如果没有健全的安全性,自动化系统就不会成功。 但是,如果不对某些事情有很好的理解,就无法确保安全性。 在本文中,我们将探讨为什么在自动化系统中实现最大安全性是一项挑战。
preview
神经网络变得轻松(第十四部分):数据聚类

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

我的上一篇文章已经发表一年多了。 这令我有了大量时间考虑修改思路和发展新方法。 在这篇新文章中,我想转移一下以前使用的监督学习方法。 这次我们将深入研究无监督学习算法。 特别是,我们将考虑一种聚类算法 — k-均值。
preview
神经网络变得轻松(第四十四部分):动态学习技能

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

在上一篇文章中,我们讲解了 DIAYN 方法,它提供了学习各种技能的算法。 获得的技能可用在各种任务。 但这些技能可能非常难以预测,而这可能令它们难以运用。 在本文中,我们要研究一种针对学习可预测技能的算法。
preview
神经网络变得轻松(第二十二部分):递归模型的无监督学习

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

我们继续研究无监督学习算法。 这次我建议我们讨论自动编码器应用于递归模型训练时的特性。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 6 部分):两条 RSI 指标相互交叉

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

本文中的多货币智能系统是一款智能交易系统或交易机器人,它利用两条 RSI 指标线的交叉,即与慢速 RSI 与快速 RSI 两线相交。
MQL5 Cookbook: 处理自定义图表事件

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

本文研究在 MQL5 环境里设计和开发自定义图表事件的内容。一种事件分类的例程也可以在这里找到,当然,还有事件类,以及自定义事件处理器类的程序代码。
preview
构建自动运行的 EA(第 07 部分):账户类型(II)

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

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。 交易者应当始终明白自动 EA 正在做什么,以便若它“偏离轨道”,交易者可以尽早将其从图表中删除,并控制事态。
preview
开发多币种 EA 交易(第 3 部分):架构修改

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

我们在开发多币种 EA 方面已经取得了一些进展,该 EA 有几个并行工作的策略。考虑到所积累的经验,让我们回顾一下我们解决方案的架构,并尝试在我们走得太远之前对其进行改进吧。
preview
神经网络变得轻松(第三十四部分):全部参数化的分位数函数

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

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

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

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

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

在上一篇文章中,我们开始探索非梯度优化方法。 我们领略了遗传算法。 今天,我们将继续这个话题,并将研究另一类进化算法。
preview
神经网络变得轻松(第十七部分):降低维度

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

在本部分中,我们将继续讨论人工智能模型。 即,我们研究无监督学习算法。 我们已经讨论了众多聚类算法之一。 在本文中,我将分享一种解决与降维相关问题的方法。
图形界面 X: 升级渲染表格及代码优化 (集成编译 10)

图形界面 X: 升级渲染表格及代码优化 (集成编译 10)

我们继续为渲染表格 (CCanvasTable) 完善新的功能。表格现在将具有: 当悬浮时高亮显示; 为每个单元格添加一个图标数组的能力, 以及一种切换它们的方法; 在运行时设置或修改单元格文本的能力等等。
preview
在 MetaTrader 5 中测试和优化二元期权策略

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

在本文中,我将在 MetaTrader 5 中检查并优化二元期权策略。
preview
神经网络变得轻松(第十九部分):使用 MQL5 的关联规则

神经网络变得轻松(第十九部分):使用 MQL5 的关联规则

我们继续研究关联规则。 在前一篇文章中,我们讨论了这种类型问题的理论层面。 在本文中,我将展示利用 MQL5 实现 FP-Growth 方法。 我们还将采用真实数据测试所实现的解决方案。
preview
从头开始开发智能交易系统(第 21 部分):新订单系统 (IV)

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

最后,视觉系统将开始工作,尽管它尚未完工。 在此,我们将完成主要更改。 这只是它们当中很少一部份,但都是必要的。 嗯,整个工作将非常有趣。
preview
神经网络变得轻松(第三十六部分):关系强化学习

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

在上一篇文章中讨论的强化学习模型中,我们用到了卷积网络的各种变体,这些变体能够识别原始数据中的各种对象。 卷积网络的主要优点是能够识别对象,无关它们的位置。 与此同时,当物体存在各种变形和噪声时,卷积网络并不能始终表现良好。 这些是关系模型可以解决的问题。
preview
神经网络变得轻松(第三十三部分):分布式 Q-学习中的分位数回归

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

我们继续研究分布式 Q-学习。 今天我们将从另一个角度来看待这种方式。 我们将研究使用分位数回归来解决价格预测任务的可能性。
preview
MQL5 简介(第 3 部分):掌握 MQL5 的核心元素

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

在这篇便于初学者阅读的文章中,我们将为您揭开数组、自定义函数、预处理器和事件处理的神秘面纱,并对所有内容进行清晰讲解,让您可以轻松理解每一行代码,从而探索 MQL5 编程的基础知识。加入我们,用一种独特的方法释放 MQL5 的力量,确保每一步都能理解。本文为掌握 MQL5 奠定了基础,强调了对每行代码的解释,并提供了独特而丰富的学习体验。
preview
重新审视一种旧时的趋势交易策略:两个随机振荡指标,一个移动平均指标和斐波那契线

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

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

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

强化学习的问题在于需要定义奖励函数。 它可能很复杂,或难以形式化。 为了定解这个问题,我们正在探索一些基于行动和基于环境的方式,无需明确的奖励函数即可学习技能。
preview
神经网络变得轻松(第三十部分):遗传算法

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

今天我想给大家介绍一种略有不同的学习方法。 我们可以说它是从达尔文的进化论中借鉴而来的。 它可能比前面所讨论方法的可控性更低,但它允许训练不可微分的模型。