有关 MQL5 编程和自动交易使用的文章

icon

创建用于 MetaTrader 平台的 EA,执行各种开发者已经实现的功能。交易机器人可以每天 24 小时跟踪金融产品,复制交易,创建和发送报告,分析新闻,甚至提供特定的自定义图形界面。

这些文章描述了编程技术,进行数据处理的数学思想,创建和订购交易机器人的技巧。

添加一个新的文章
最近 | 最佳
基因演算规则:数学运算
基因演算规则:数学运算

基因演算规则:数学运算

基因演算使用于智能交易的数据优化。这些用途的范例是一个神经网络的学习,即, 这样的值得到的误差最小。基因演算是以随机搜索的方法为基础的。
preview
如何在自由职业者服务中通过完成交易员的订单来赚钱

如何在自由职业者服务中通过完成交易员的订单来赚钱

MQL5 自由职业者是一项在线服务,开发人员可以通过这项服务为交易员客户创建交易应用程序而获得收入。该服务自 2010 年起成功运营,迄今已完成超过 10 万个项目,总价值达 700 万美元。我们可以看到,这里涉及到大量资金。
利用指标实时优化智能交易系统
利用指标实时优化智能交易系统

利用指标实时优化智能交易系统

任何交易机器人的效率均取决于正确选择(优化)其参数。 然而,在某个时间区间内被认为是最佳的参数可能无法在另一个交易历史区间保持其有效性。 此外,在测试期间表现良好的 EA 在实时状态下最终会亏损。 持续优化的问题就此凸显出来。 当面对大量重复性工作时,人类总会寻找自动化方法。 在本文中,我提出了一种解决此问题的非标准方法。
开发跨平台网格 EA:测试多币种 EA
开发跨平台网格 EA:测试多币种 EA

开发跨平台网格 EA:测试多币种 EA

行情在一个月内下跌了 30% 以上。 这似乎是测试基于网格和马丁格尔的智能交易系统的最佳时间。 本文是“创建跨平台网格 EA”系列的计划外延续。 当前行情为安排网格 EA 提供了疏解压力的机会。 因此,我们要把握这次机会,并测试我们的智能交易系统。
TradeObjects: 基于 MetaTrader 图形对象的自动化交易
TradeObjects: 基于 MetaTrader 图形对象的自动化交易

TradeObjects: 基于 MetaTrader 图形对象的自动化交易

本文探讨基于图表线性标记创建自动交易系统的一种简单方法, 并提供了一款使用 MetaTrader 4/5 标准对象属性的现成智能交易系统, 可支持主要交易操作。
ZigZag (之字折线) 的力量(第二部分)。 接收、处理和显示数据的示例
ZigZag (之字折线) 的力量(第二部分)。 接收、处理和显示数据的示例

ZigZag (之字折线) 的力量(第二部分)。 接收、处理和显示数据的示例

在本文的第一部分当中,我曾描述过一个修订的 ZigZag (之字折线) 指标和一个用于接收该类型指标数据的类。 在此,我将展示如何基于这些工具开发指标,并编写一款根据 ZigZag 指标形成的信号进行交易的 EA 来测试。 作为补充,本文将介绍一套开发图形用户界面的新版 EasyAndFast 函数库。
研究烛条分析技术(第三部分):用于形态操作的函数库
研究烛条分析技术(第三部分):用于形态操作的函数库

研究烛条分析技术(第三部分):用于形态操作的函数库

本文的目的是创建一个自定义工具,令用户能够接收和使用前面所讨论形态的整体信息数组。 我们将创建一个形态相关的函数库,您可以在自己的指标、交易面板、智能交易系统等等应用中运用它们。
跨平台智能交易程序: 订单
跨平台智能交易程序: 订单

跨平台智能交易程序: 订单

MetaTrader 4 和 MetaTrader 5 在处理交易请求时使用不同的约定。本文讨论使用类对象来表达由服务器处理的交易的可能性, 目的是让跨平台智能交易程序可以无视交易平台版本和使用模式均可工作。
深度神经网络 (第 II 部)。制定和选择预测因子
深度神经网络 (第 II 部)。制定和选择预测因子

深度神经网络 (第 II 部)。制定和选择预测因子

有关深度神经网络系列的第二篇文章研究当准备模型训练的数据期间预测因子的变换和选择。
New Bar (新柱)事件处理程序
New Bar (新柱)事件处理程序

New Bar (新柱)事件处理程序

MQL5 编程语言处理问题的能力已达到一个全新的水平。即便是那些已有此类解决方案的任务,也因为面向对象编程而进阶到一个更高的水平。本文中,我们会举一个检查图表中新柱的特别简单的例子,而且,它已经转化成为一种相当强大且用途多样的工具。什么工具?到文中找答案吧。
运用 R-平方 评估策略余额曲线的品质
运用 R-平方 评估策略余额曲线的品质

运用 R-平方 评估策略余额曲线的品质

本文介绍如何构建自定义优化标准 R-平方。这一准则可用来评估一个策略的余额曲线的品质, 并选择增长最平滑和稳定的策略。这项工作讨论其构建原理, 以及用于评估属性和衡量品质的统计方法。
快捷手动交易工具箱:基本功能
快捷手动交易工具箱:基本功能

快捷手动交易工具箱:基本功能

如今,众多交易者切换至自动交易系统,这类系统可能需要附加设置,或是能够完全自动化并准备就绪。 然而,有相当一部分交易者更喜欢以旧有方式进行手动交易。 在本文中,我们将创建快速手动交易工具箱,用热键来一键执行典型交易操作。
快捷手动交易工具箱:持仓和挂单操控
快捷手动交易工具箱:持仓和挂单操控

快捷手动交易工具箱:持仓和挂单操控

在本文中,我们将扩展工具箱的功能:我们将添加在特定条件下平仓功能,并将创建控制市价和挂单的表格,且能编辑这些订单。
EA 交易中的限制和验证
EA 交易中的限制和验证

EA 交易中的限制和验证

是否可以在周一交易此交易品种?是否有足够的资金用于开仓?如果止损触发,损失有多大?如何限制挂单数量?交易操作在当前柱上执行还是在前一柱上执行?如果交易机器人无法执行此类验证,则任何交易策略可转为带来损失。本文说明在EA交易中有用的验证示例。
“傻瓜式”MQL:如何设计和构建对象类
“傻瓜式”MQL:如何设计和构建对象类

“傻瓜式”MQL:如何设计和构建对象类

我们将通过创建视觉设计的样本程序,介绍如何在 MQL5 中设计和构建类。本文为使用 MT5 应用程序的初学者编程人员所编写。我们提出一种简易明了的抓取技术用于创建类,无需深刻理解面向对象编程的理论。
机器学习:支持向量机如何应用于交易
机器学习:支持向量机如何应用于交易

机器学习:支持向量机如何应用于交易

长时间以来,支持向量机一直被应用于生物信息学和应用数学等领域,以评估复杂数据集以及提取可用于数据分类的有用模式。本文会研究何为支持向量机、它们的工作方式,以及为什么说它们在提取复杂模式时非常有用。之后,我们再研究如何将其应用于市场,并发挥交易建议的潜在作用。本文将提供使用支持向量机学习工具的有效示例,让读者能够试验自己的交易。
反向交易: 减少最大回撤以及在其它市场上测试
反向交易: 减少最大回撤以及在其它市场上测试

反向交易: 减少最大回撤以及在其它市场上测试

在这篇文章中, 我们继续致力于反向交易技巧。我们将会尝试减少最大余额回撤,直到对之前探讨的交易工具可以接受的水平。我们将会看看这样是否将会减少利润,我们还将在其它市场中检验反转方法的运行,包括股票、商品、指数、ETF和农产品市场。注意,本文包含了很多图片!
开发跨平台网格 EA(最后部分):多元化是提高盈利能力的一种途径
开发跨平台网格 EA(最后部分):多元化是提高盈利能力的一种途径

开发跨平台网格 EA(最后部分):多元化是提高盈利能力的一种途径

在本系列的前几篇文章中,我们尝试了各种方法来创建或多或少能够盈利的网格智能交易系统。 现在,我们将会尝试通过多元化来提高 EA 的盈利能力。 我们的终极目标是每年赚取 100% 的利润,而最大回撤不超过 20%。
以峰谷指标和 ATR 指标为例说明作为类来实施指标
以峰谷指标和 ATR 指标为例说明作为类来实施指标

以峰谷指标和 ATR 指标为例说明作为类来实施指标

有关指标计算的最佳方式的争论无休无止。我们应在何处计算指标值 - 在指标本身内还是嵌入使用该指标的 EA 交易的整个逻辑之中?本文说明在 EA 交易或脚本的代码中移动自定义指标 iCustom 的源代码的一种情形,并对计算和 prev_calculated 值的建模进行优化。
使用 EA Tree 在几分钟内创建 MQL5 EA 交易:第一部分
使用 EA Tree 在几分钟内创建 MQL5 EA 交易:第一部分

使用 EA Tree 在几分钟内创建 MQL5 EA 交易:第一部分

EA Tree 是第一款拖放 MetaTrader MQL5 EA 交易生成器。您可以使用非常易用的图形用户界面创建复杂的 MQL5。在 EA Tree 中,通过将盒子连接在一起创建 EA 交易。盒子可以包含 MQL5 函数、技术指标、自定义指标或值。使用盒子树,EA Tree 生成 EA 交易的 MQL5 代码。
作为创建自动化交易系统新方法的自动机编程
作为创建自动化交易系统新方法的自动机编程

作为创建自动化交易系统新方法的自动机编程

本文会让我们以一种全新的视角,来进行 MQL4 与 MQL5 中 EA、指标及脚本的开发。将来,此编程范式会逐渐变成 EA 实施领域所有交易者的基本标准。利用这种自动机编程范式,MQL5 和 MetaTrader 5 开发人员也就具备了某种程度上创建新语言 - MQL6 - 和新平台 - MetaTrader 6 的能力。
如何使用 UML 工具开发 EA 交易
如何使用 UML 工具开发 EA 交易

如何使用 UML 工具开发 EA 交易

本文讨论使用 UML 图形语言创建 EA 交易,该语言用于建立面向对象软件系统的可视化模型。此方法的主要优点是实现了建模过程的可视化。本文以一个例子说明如何使用 Software Ideas Modeler 建立一个 EA 交易的结构和属性的模型。
从用户面板"动态"更改"EA 交易"参数
从用户面板"动态"更改"EA 交易"参数

从用户面板"动态"更改"EA 交易"参数

本文提供了一个简短的示例,阐释可从用户面板控制其参数的“EA 交易”的实施。在“动态”更改参数时,“EA 交易”将从信息面板获得的值写入文件以从文件中进一步读取它们并相应地显示在面板上。本文面向手动交易或以半自动模式交易的交易人员。
用于一组指标信号的朴素贝叶斯分类器
用于一组指标信号的朴素贝叶斯分类器

用于一组指标信号的朴素贝叶斯分类器

本文通过运用多个独立指标的信号, 分析贝叶斯公式在提高交易系统可靠性方面的应用。理论计算可由一款简单的通用 EA 进行验证, 配置为使用任意指标。
跳空缺口 - 是能够获利的策略还是五五开?
跳空缺口 - 是能够获利的策略还是五五开?

跳空缺口 - 是能够获利的策略还是五五开?

这篇文章详细讨论了跳空缺口 — 前一时间段的收盘价和后一时间段的开盘价之间的较大差距, 以及对日柱方向的预测。还探讨了通过系统DLL使用 GetOpenFileName 函数的问题。
MQL5酷客宝典 - 滑动通道编程
MQL5酷客宝典 - 滑动通道编程

MQL5酷客宝典 - 滑动通道编程

本文提出了一种用于等距通道系统的编程方法,在此将会探讨构建这种通道的细节,并且提供了通道的分类,提出了一个统一的滑动通道方法。在代码的实现中使用了面向对象的编程(OOP)。
preview
构建自动运行的 EA(第 02 部分):开始编码

构建自动运行的 EA(第 02 部分):开始编码

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。 在上一篇文章中,我们讨论了任何人在继续创建自动交易的智能系统之前需要了解的第一步。 我们首先研究了概念和结构。
如何使用 EA 遵照您的规则拷贝信号?
如何使用 EA 遵照您的规则拷贝信号?

如何使用 EA 遵照您的规则拷贝信号?

当您订阅了一个信号, 也许会发生这样的情形: 您的交易账户杠杆为 1:100, 而提供者的杠杆为 1:500, 且使用最小手数, 而您的账户余额大约相等 — 但拷贝比率只有 10% 到 15%。本文介绍在这种情况下如何增加拷贝比率。
通过指定的幻数计算总持仓量的最佳方法
通过指定的幻数计算总持仓量的最佳方法

通过指定的幻数计算总持仓量的最佳方法

本文探讨了与指定交易品种和幻数有关的总持仓量的计算问题。所提议的方法仅请求交易历史记录的最少必要部分,在总持仓量等于零时查找最接近的时间,并用最新的交易进行计算。还考虑了客户端全局变量的处理。
寻找市场形态的计量经济学方法:自相关,热点图和散点图
寻找市场形态的计量经济学方法:自相关,热点图和散点图

寻找市场形态的计量经济学方法:自相关,热点图和散点图

本文研讨季节性特征的扩展研究:自相关热点图和散点图。 本文之目的是展示“市场记忆”的季节性,它通过任意顺序增量的最大相关性来表达。
跨平台智能交易程序: 概论
跨平台智能交易程序: 概论

跨平台智能交易程序: 概论

本文详细介绍了一种可以更快捷开发跨平台 EA 的方法。其所倡导的方法是将两个版本共享的功能整合到一个单独的类, 并将不兼容的功能分割到派生类。
使用图形界面处理优化结果
使用图形界面处理优化结果

使用图形界面处理优化结果

这是处理和分析优化结果想法的续篇,这一次,我们的目标是选择100个最佳的优化结果并且在图形用户界面(GUI)表格中显示它们。用户将可以在优化结果中选择一行而在独立的图表中得到多交易品种余额和回撤图。
建立自动新闻交易程序
建立自动新闻交易程序

建立自动新闻交易程序

这是 "Another MQL5 OOP"(另一个 MQL5 OOP 类)一文的续篇,该文向您展示了如何从头建立一个简单的面向对象的 EA 交易程序并向您提供了有关面向对象编程的某些提示。今天,我向您展示开发一个能够依据新闻进行交易的 EA 所需的技术基础。我的目标是继续向您提供有关面向对象编程的理念,同时也在这个系列的文章中涵盖新的主题——处理文件系统。
跨平台智能交易程序: 重用来自 MQL5 标准库的控件
跨平台智能交易程序: 重用来自 MQL5 标准库的控件

跨平台智能交易程序: 重用来自 MQL5 标准库的控件

在 MQL5 标准库里存在的一些控件被证明在 MQL4 版本的跨平台智能交易程序里十分有用。本文涉及令某些 MQL5 标准库的控件与 MQL4 编译器兼容的方法。
preview
处理时间(第一部分):基础

处理时间(第一部分):基础

能够简化和澄清时间、经纪商时移、以及夏季或冬季变更的时间处理函数和代码片段。 准确的时序也许是交易中的一个关键因素。 在当前钟点,伦敦或纽约的证券交易所是否已经或尚未开市,外汇交易的交易时间何时开始和结束? 对于一名实况手工交易者来说,这不算是个大问题。
MQL5 酷宝书 - 移动通道交易信号
MQL5 酷宝书 - 移动通道交易信号

MQL5 酷宝书 - 移动通道交易信号

本文描述的过程, 是开发和实现基于移动通道发送信号的类。每个信号版本均随带交易策略和测试结果。标准库的类用于创建派生类。
蒙特卡罗方法在强化学习中的应用
蒙特卡罗方法在强化学习中的应用

蒙特卡罗方法在强化学习中的应用

在本文中,我们将应用强化学习来开发可以自主学习的EA交易。在前一篇文章中,我们考虑了随机决策森林算法,并编写了一个简单的基于强化学习的自学习EA,概述了这种方法的主要优点(交易算法的开发简单和“培训”速度快)。强化学习(RL)可以很容易地融入到任何交易EA中,并加速其优化。
在交易中应用 OLAP(第 1 部分):在线分析多维数据
在交易中应用 OLAP(第 1 部分):在线分析多维数据

在交易中应用 OLAP(第 1 部分):在线分析多维数据

本文论述如何创建多维数据(OLAP - 在线分析处理)的在线分析框架,以及如何在 MQL 中实现此框架,还有利用交易帐户历史数据在 MetaTrader 环境中应用此类分析的示例。
学习如何设计一款布林带(Bollinger Bands)交易系统
学习如何设计一款布林带(Bollinger Bands)交易系统

学习如何设计一款布林带(Bollinger Bands)交易系统

在本文中,我们将学习布林带,这是交易界最流行的指标之一。 我们将研究技术分析,并看看如何设计一款基于布林带(Bollinger Bands)指标的算法交易系统。
100 个最佳优化递次(第 1 部分)。 开发优化分析器
100 个最佳优化递次(第 1 部分)。 开发优化分析器

100 个最佳优化递次(第 1 部分)。 开发优化分析器

本文详细阐述了运用若干种可能选项开发选择最佳优化递次的应用程序。 该应用程序能够通过各种因素来筛选优化结果。 优化递次始终写入数据库,因此您总能无需重新优化即可选择新的机器人参数。 此外,您可在单个图表上查看所有优化递次,计算参数 VaR 比率,并构建递次与特定比率集和的交易结果的正态分布图。 以及,自优化伊始(或从选定日期到另一个选定日期)开始动态构建一些计算比率的图形。