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

icon

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

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

添加一个新的文章
最近 | 最佳
preview
让图表更有趣:添加背景

让图表更有趣:添加背景

许多工作站包含一些代表性的图片用以显示用户的一些信息。 这些图片令工作环境更加优美和令人兴奋。 我们来看看如何通过添加背景令图表更有趣。
preview
从市场里选择智能交易系统的正确途径

从市场里选择智能交易系统的正确途径

在本文中,我们将研究购买智能交易系统时应该注意的一些要点。 我们还将寻求提升盈利的方法,从而明智地花钱,并从付出中获取盈利。 此外,读完本文之后,您会发现,即便使用简单免费的产品也有可能赚到钱。
来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数
来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数

来自专业程序员的提示(第二部分):在智能交易系统、脚本和外部程序之间存储和交换参数

这些来自专业程序员关于方法、技术和辅助工具的一些提示,可令编程变得更轻松。 我们将讨论终端重启(关闭)后如何恢复参数。 所有示例都是来自我的 Cayman 项目的真实工作代码片段。
在MetaTrader5中创建交互应用来展现RSS订阅
在MetaTrader5中创建交互应用来展现RSS订阅

在MetaTrader5中创建交互应用来展现RSS订阅

本文中我们将讨论创建一个应用来展现RSS订阅的可能性。本文将介绍如何使用MetaTrader 5的标准类库来创建交互应用。
preview
创建多交易品种、多周期指标

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

在本文中,我们将研究创建多交易品种、多周期指标的原则。我们还将了解如何从 EA 交易和其他指标中获取此类指标的数据。我们将探讨在 EA 交易和指标中使用多指标的主要功能,并将了解如何通过自定义指标缓冲区绘制它们。
preview
构建自动运行的 EA(第 12 部分):自动化(IV)

构建自动运行的 EA(第 12 部分):自动化(IV)

如果您认为自动化系统很简单,那么您可能并未完全理解创建它们需要什么。 在本文中,我们将谈谈杀死大量智能系统的问题。 不分青红皂白地触发订单是解决这个问题的可能方法。
preview
非线性指标

非线性指标

在本文中,我将尝试研究一些构建非线性指标的方法,并探索其在交易中的用处。 MetaTrader 交易平台中有相当多的指标采用非线性方式。
preview
从头开始开发智能交易系统(第 8 部分):概念上的飞跃

从头开始开发智能交易系统(第 8 部分):概念上的飞跃

实现新功能的最简单途径是什么? 在本文中,我们将后撤一步,然后再前进两步。
preview
神经网络变得轻松(第八部分):关注机制

神经网络变得轻松(第八部分):关注机制

在之前的文章中,我们已经测试了组织规划神经网络的各种选项。 我们还研究了自图像处理算法中借鉴而来的卷积网络。 在本文中,我建议研究关注机制,它的出现为开发语言模型提供了动力。
preview
神经网络实验(第 2 部分):智能神经网络优化

神经网络实验(第 2 部分):智能神经网络优化

在本文中,我将利用实验和非标准方法开发一个可盈利的交易系统,并验证神经网络是否对交易者有任何帮助。 若在交易中运用神经网络的话, MetaTrader 5 完全可作为一款自给自足的工具。
MetaTrader 4中的测试特性和限定
MetaTrader 4中的测试特性和限定

MetaTrader 4中的测试特性和限定

文章介绍在MetaTrader 4中更多策略测试的特性和限定。
preview
为EA交易提供指标的现成模板(第3部分):趋势指标

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

在这篇参考文章中,我们将研究趋势指标类别中的标准指标。我们将创建现成的模板,用于EA中的指标使用——声明和设置参数、指标初始化和析构,以及从EA中的指示符缓冲区接收数据和信号。
preview
开发多币种 EA 交易(第 1 部分):多种交易策略的协作

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

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

神经网络变得轻松(第七部分):自适应优化方法

在之前的文章中,我们利用随机梯度下降法针对网络中的所有神经元按照相同的学习率训练神经网络。 在本文中,我提议着眼于自适应学习方法,该方法能够改变每个神经元的学习率。 我们还将研究这种方法的利弊。
preview
从头开始开发智能交易系统(第 20 部分):新订单系统 (III)

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

我们继续实现新的订单系统。 创建这样的一个系统需要熟练地掌握 MQL5,以及了解 MetaTrader 5 平台的实际工作方式,及其提供的资源。
preview
连续前行优化 (第八部分): 程序改进和修复

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

根据本系列文章的用户和读者的评论和要求,程序已进行了修改。 本文包含一个自动优化器的新版本。 该版本实现了所需的功能,并提供了其他改进,这些是我运用该程序操作时发现的。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 1 部分):基于 ADX 指标的信号,并结合抛物线 SAR

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

本文中的多币种智能交易系统是交易机器人,它只能在单一品种图表中运营,但可交易(开单、平单和管理订单)超过一个品种对。
preview
在莫斯科交易所(MOEX)里使用破位挂单的自动兑换网格交易

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

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

交易中的追踪止损

在本文中,我们将研究追踪止损在交易中的使用。我们将评估它的实用性和有效性以及如何使用它。追踪止损的效率很大程度上取决于价格波动和止损水平的选择。可以使用各种方法来设置止损。
preview
一张图表上的多个指标(第 05 部分):将 MetaTrader 5 转变为 RAD 系统(I)

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

有很多人不知道如何编程,但他们很有创造力,亦有杰出的想法。 然而,由于缺乏编程知识,他们无法实现这些想法。 我们一起看看如何利用 MetaTrader 5 平台本身创建图表交易,就如同它是一个 IDE。
preview
神经网络变得轻松(第二十一部分):变分自动编码器(VAE)

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

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

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

在本文中,我将研究一个简单的模板,用来创建通用的 MetaTrader 机器人,该机器人可以在多个图表上使用,同时仅附加到一个图表,无需在每个单独的图表上为每个机器人实例进行配置。
preview
从头开始开发智能交易系统(第 18 部分):新订单系统 (I)

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

这是新订单系统的第一部分。 自从我们在文章中开始打造这个 EA 以来,它已经历了各种变化和改进,同时保持了相同的图表订单系统模型。
MQL5 Cookbook: 减少过度配合的影响以及处理报价缺失
MQL5 Cookbook: 减少过度配合的影响以及处理报价缺失

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

无论您使用何种交易策略,总会有一个问题:怎样选择参数以保证未来的利润。本文提供了一个EA交易的实例,使您可以同时优化多个交易品种的参数,这种方法是未了减少参数的过度配合以及处理在研究中来自单个交易品种的数据不足的问题。
DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合
DoEasy 函数库中的时间序列(第六十一部分):品种即时报价序列集合

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

鉴于程序在其运行时可能会用到不同的品种,因此应为每个品种创建一个单独的列表。 在本文中,我将把这些列表合并到一个即时报价数据集合。 实际上,这将是一个常规列表,基于指向标准库 CObject 类及其衍生类实例指针的动态数组。
preview
掌握 MQL5:从入门到精通(第二部分)基本数据类型和变量的使用

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

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

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

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

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

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

基于MQL5的订单剥头皮交易系统

这款MetaTrader 5 EA实现了基于订单流的剥头皮交易策略,并配备了高级风险管理功能。它使用多种技术指标,通过订单的不平衡性来识别交易机会。回测结果显示该策略具有潜在的盈利能力,但同时也突显了需要进一步优化的必要性,尤其是在风险管理和交易结果比率方面。该策略适合经验丰富的交易者,但在实际部署之前,需要进行彻底的测试和深入理解。
DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类
DoEasy 库中的其他类(第六十八部分):图表窗口对象类和图表窗口中的指标对象类

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

在本文中,我将继续开发图表对象类。 我将添加含有可用指标列表的图表窗口对象列表。
preview
神经网络变得轻松(第二十部分):自动编码器

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

我们继续研究无监督学习算法。 一些读者可能对最近发表的与神经网络主题的相关性有疑问。 在这篇新文章中,我们回到了对神经网络的研究。
preview
神经网络变得轻松(第三十二部分):分布式 Q-学习

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

我们在本系列的早期文章中领略了 Q-学习方法。 此方法均化每次操作的奖励。 2017 年出现了两篇论文,在研究奖励分配函数时展现出了极大的成功。 我们来研究运用这种技术解决我们问题的可能性。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 6 部分):两条 RSI 指标相互交叉

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

本文中的多货币智能系统是一款智能交易系统或交易机器人,它利用两条 RSI 指标线的交叉,即与慢速 RSI 与快速 RSI 两线相交。
preview
构建自动运行的 EA(第 14 部分):自动化(VI)

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

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

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

在本文中,我将尝试测试这样一个假设,即任何对市场了解甚微的系统都可以在全局范围内运行。我不会发明任何理论或模式,但我只会使用已知的事实,逐步将这些事实转化为数学分析的语言。
preview
从头开始开发智能交易系统(第 12 部分):时序与交易(I)

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

今天,我们将创建时序与交易,从而快速解读订单流程。 这是我们构建系统的第一部分。 在下一篇文章中,我们将补全该系统缺失的信息。 为了实现这一新功能,我们需要在智能交易系统代码中添加一些新的内容。
preview
在 MQL5 中使用 AutoIt

在 MQL5 中使用 AutoIt

简述。 在本文中,我们将探索采用 MetraTrader 5 终端里以集成的 MQL5 编写 AutoIt 脚本。 在其中,我们将覆盖如何操纵终端的用户界面来自动完成各种任务,并介绍一个采用 AutoItX 库的类。
preview
Heiken-Ashi指标与移动平均指标组合能够提供好的信号吗?

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

策略的组合可能会提供更好的机会,我们可以把指标和形态一起使用,或者更进一步,多个指标和形态一起,这样我们可以获得额外的确认因子。移动平均帮我们确认和驾驭趋势,它们是最为人所知的技术指标,这是因为它们的简单性和为分析增加价值的良好记录。
preview
构建自动运行的 EA(第 09 部分):自动化(II)

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

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

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

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