MQL5 编程示例的文章

icon

访问海量文章以及代码实例集合,演示如何使用 MQL5 语言 为 MetaTrader 平台创建指标和交易机器人。源代码已附加在文章之中,因此您可以在 MetaEditor 中打开并运行它们,看看应用程序如何工作。

这些文章对那些刚开始探索自动交易的人,以及具有编程经验的职业交易员都极其有用。它们的特色不仅是例子,而且也蕴含着新的想法。

添加一个新的文章
最近 | 最佳
交易之间的停顿
交易之间的停顿

交易之间的停顿

文章解决的问题:当一定数量的智能交易在MТ 4客户端运行时,如何很好的安排交易之间的停顿。 在终端和MQL 4程序中用户需要的基本技能。
图形界面 X: 多行文本框中的字词回卷算法 (集成编译 12)
图形界面 X: 多行文本框中的字词回卷算法 (集成编译 12)

图形界面 X: 多行文本框中的字词回卷算法 (集成编译 12)

我们继续开发多行文本框控件。这次我们的任务是实现一个自动的文字回卷, 以防发生文本框宽度溢出, 或者如果出现机会, 将文本逆卷到上一行。
preview
神经网络在交易中的实际应用 Python (第一部分)

神经网络在交易中的实际应用 Python (第一部分)

在本文中,我们将分析一个基于Python的深层神经网络编程的交易系统的分步实现。这将使用谷歌开发的 TensorFlow 机器学习库执行。我们还将使用 Keras 库来描述神经网络。
对冲 Expert Advisor 编码基础
对冲 Expert Advisor 编码基础

对冲 Expert Advisor 编码基础

本文给出了对冲 Expert Advisor 的示例。作者将选择自己喜欢的对冲对,即 EURJPY 与 GBPJPY。此对冲对的运作方式始终相同,能较为方便地设置对冲订单类型。
用于交易事件和信号的语音通知系统
用于交易事件和信号的语音通知系统

用于交易事件和信号的语音通知系统

现如今,语音助手在人类生活中起着举足轻重的作用,因为我们会经常使用导航、语音搜索和翻译。 在本文中,我将尝试为各种交易事件、市场状态、或由交易信号生成的信号开发一个简单,且用户友好的语音通知系统。
轻松快捷开发 MetaTrader 程序的函数库(第六部分):净持帐户事件
轻松快捷开发 MetaTrader 程序的函数库(第六部分):净持帐户事件

轻松快捷开发 MetaTrader 程序的函数库(第六部分):净持帐户事件

在之前的文章中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在本系列文章的第五部分中,我们创建了交易事件类和事件集合,从中将事件发送到 Engine 函数库的基础对象和控制程序图表。 在这部分中,我们将让函数工作在净结算账户上。
图形界面III:简单与多功能按钮组(第二章)
图形界面III:简单与多功能按钮组(第二章)

图形界面III:简单与多功能按钮组(第二章)

本系列的第一章是关于简单和多功能按钮的,第二篇文章将致力于相互关联的按钮组,这样在应用程序中就可以创建元件,让用户从一个集合(组)中选择一个选项。
谬误,第 1 部分:资金管理排第二位,并不是很重要
谬误,第 1 部分:资金管理排第二位,并不是很重要

谬误,第 1 部分:资金管理排第二位,并不是很重要

以 0.1 手为基础的第一次策略测试结果展示正在变成论坛上的事实标准。从专业人士那里获得“还不错”的评价后,新手会看到“0.1”测试带来了相当保守的结果,并决定引入一个更积极进取的资金管理方式,以为正数学期望值会自动提供正面的成果。让我们看看会达成什么结果。此外,我们将试着构建多个极具指导意义的人工余额图。
四个时间范围的多个指标信号的同步显示
四个时间范围的多个指标信号的同步显示

四个时间范围的多个指标信号的同步显示

手动交易时,你必须留意多个指标的值。这跟机械化交易略有不同。如果你有两个或三个指标,且已选择了一个时间范围进行交易,则任务并不复杂。但如果你有五个或六个指标,且交易策略要求考虑多个时间范围上的信号,你将如何做呢?
错误146 ("交易作业忙") 和如何处理
错误146 ("交易作业忙") 和如何处理

错误146 ("交易作业忙") 和如何处理

文章展示在一个МТ 4客户端上几个智能交易的自由交易冲突。对于在MQL 4 终端和程序的新手有一定的帮助。
扩展 MQL5 标准库和重用代码
扩展 MQL5 标准库和重用代码

扩展 MQL5 标准库和重用代码

作为一名开发人员,MQL5 标准库让您的工作变得更加容易。然而,它无法实现世界上所有开发人员的全部需求,所以,如果您觉得您需要更多的自定义程序,您可以对标准库进行进一步的扩展。本文指导您完成将 MetaQuotes 的峰谷技术指标集成至标准库。我们从 MetaQuotes 的设计理念获得启发以实现我们的目标。
统计估计
统计估计

统计估计

对某个序列的统计参数进行估计非常重要,因为大多数数学模型和方法均基于不同的假设。例如,正态分布规律或离差值(或其他参数)就是这样。因此,在分析和预测时间序列时,我们需要一个简单方便的工具,用于快速清晰地估计主要统计参数。本文简要说明了一个随机序列的最简单统计参数,以及其可视分析的几种方法。本文还说明了如何在 MQL5 中实现这些方法,以及使用 Gnuplot 应用程序对计算结果进行可视化的方法。
分形线的构造
分形线的构造

分形线的构造

本文讲述了使用趋势线和分形来构造各种类型的分形线.
通过 WINAPI 进行文件操作
通过 WINAPI 进行文件操作

通过 WINAPI 进行文件操作

MQL4 环境是基于安全“沙盒”概念:通过语言读取和保存文件的功能仅限于部分预定义的文件夹。这将保护 MetaTrader 4 的用户避免 HDD 上的重要数据受到破坏的潜在危险。但是,离开该安全区域有时也是必要的。本文专门介绍如何能够简单而正确地进行该操作。
MT4TerminalSync - MetaTrader 4 终端的同步系统
MT4TerminalSync - MetaTrader 4 终端的同步系统

MT4TerminalSync - MetaTrader 4 终端的同步系统

本文围绕"使用操作系统功能和其他程序开发方法扩大 MQL4 程序功能"这一主题展开。本文将介绍一个程序系统示例,该程序系统将基于单一源模板实施多个终端副本同步的任务。
在 MQL5 中使用 WinInet。第二部分:POST 请求和文件
在 MQL5 中使用 WinInet。第二部分:POST 请求和文件

在 MQL5 中使用 WinInet。第二部分:POST 请求和文件

在本文中,我们将继续学习使用 HTTP 请求处理互联网和与服务器进行信息交换的原则。它介绍了 CMqlNet 类的新函数、从表单发送信息的方法、使用 POST 请求发送文件的方法以及使用 Cookie 在您登录网站时进行身份验证。
preview
多层感知机与反向传播算法

多层感知机与反向传播算法

这两种方法的普及性日益增加,因此在 Matlab、R、Python、C++ 等领域开发了大量的库,它们接收到一个训练集作为输入,并自动为问题创建合适的网络。让我们试着理解基本的神经网络类型是如何工作的(包括单神经元感知机和多层感知机)。我们将探讨一个令人兴奋的算法,它负责网络训练 - 梯度下降和反向传播。现有的复杂模型往往基于这样简单的网络模型。
preview
神经网络变得轻松(第十二部分):舍弃

神经网络变得轻松(第十二部分):舍弃

作为研究神经网络的下一步,我建议研究在神经网络训练过程中提高收敛性的方法。 有若干种这样的方法。 在本文中,我们将研究其中之一,名为“舍弃”。
逐步说明如何通过 CSV 文件组织 MetaTrader 4 与 Matlab 之间的数据数组交换。
逐步说明如何通过 CSV 文件组织 MetaTrader 4 与 Matlab 之间的数据数组交换。

逐步说明如何通过 CSV 文件组织 MetaTrader 4 与 Matlab 之间的数据数组交换。

逐步说明如何通过 CSV 文件组织 MetaTrader 4 与 Matlab 之间的数据数组交换。
MQL5 酷客宝典: 读取持有锁仓仓位的属性
MQL5 酷客宝典: 读取持有锁仓仓位的属性

MQL5 酷客宝典: 读取持有锁仓仓位的属性

MetaTrader 5 是一个多资产平台,此外,它还支持不同的仓位管理系统。这种功能为实现和创建交易思路提供了更加广泛的选择,在本文中,我们将讨论在锁仓模式下处理和计算仓位属性的方法。这篇文章包含了一个派生类,以及展示如何取得和处理锁仓仓位属性的实例 。
轻松快捷开发 MetaTrader 程序的函数库(第 二十二部分):交易类 - 基准类,限制验证
轻松快捷开发 MetaTrader 程序的函数库(第 二十二部分):交易类 - 基准类,限制验证

轻松快捷开发 MetaTrader 程序的函数库(第 二十二部分):交易类 - 基准类,限制验证

在本文中,我们将着手开函数发库基准交易类,并在其第一个版本中加入进行交易操作的权限初始验证。 此外,我们还将略微扩展基准交易类的功能和内容。
MQL5 Cookbook: 怎样在设置/修改交易参数时避免错误
MQL5 Cookbook: 怎样在设置/修改交易参数时避免错误

MQL5 Cookbook: 怎样在设置/修改交易参数时避免错误

作为我们在系列前一篇文章,"MQL Cookbook: 在MetaTrader 5策略测试器中分析仓位属性"中EA交易工作的继续,我们将使用很多有用的函数,以及提高和优化已有的函数来增强它。这一次EA交易有可以在MetaTrader 5策略测试器中优化的外部参数,并且在某些方面组成了一个简单的交易系统。
可视化使用选定标准优化的结果
可视化使用选定标准优化的结果

可视化使用选定标准优化的结果

在这篇文章中,我们继续开发用于操作优化结果的 MQL 应用程序,这一次,我们将会展示如何在通过图形界面指定了其它标准、在优化参数之后生成最佳结果的表格。
使用分形绘制水平突破位
使用分形绘制水平突破位

使用分形绘制水平突破位

本文描述了使用上/下分形显示支撑/阻力位的指标创建。
MQL5 Cookbook - 以 MQL5 编写的多币种 EA,利用限价订单工作
MQL5 Cookbook - 以 MQL5 编写的多币种 EA,利用限价订单工作

MQL5 Cookbook - 以 MQL5 编写的多币种 EA,利用限价订单工作

这次,我们将要创建一款多币种 EA,交易算法基于限价订单 Buy Stop(高买) 和 Sell Stop(低卖)。本文讨论下列事项:在规定时间范围内进行交易,布置/修改/删除限价订单,检查最后一个持仓是否在止盈或止损位置平仓,以及在成交历史中控制每个品种。
MetaTrader 5 中的并行计算
MetaTrader 5 中的并行计算

MetaTrader 5 中的并行计算

在人类的整个历史长河中,时间都是极其宝贵的,因此我们努力避免不必要的时间浪费。如果您的电脑配备了多核处理器,本文将告诉您如何为“EA 交易”的工作提速。此外,实施建议的方法不要求您掌握 MQL5 以外的其他语言的知识。
图形界面 X: 排序、重建表格和单元格中的控件 (集成编译 11)
图形界面 X: 排序、重建表格和单元格中的控件 (集成编译 11)

图形界面 X: 排序、重建表格和单元格中的控件 (集成编译 11)

我们继续向渲染表格添加新功能: 数据排序, 管理列和行数, 设置表格单元类型以将控件放入其中。
一个基于不同大陆不同时区的交易策略实例
一个基于不同大陆不同时区的交易策略实例

一个基于不同大陆不同时区的交易策略实例

在互联网上很轻松就能找到许多策略,它们也会为您提供大量各式各样的建议。我们则会采取一种专业的方法,基于不同大陆不同时区,深入策略创建的过程。
如何快速创建一个"2010 年自动交易锦标赛"专用"EA 交易"
如何快速创建一个"2010 年自动交易锦标赛"专用"EA 交易"

如何快速创建一个"2010 年自动交易锦标赛"专用"EA 交易"

为了开发出一种参与“2010 年自动交易锦标赛”的“EA 交易”,我们使用一个即用的“EA 交易”模板。 即便是 MQL5 程序员初哥也能胜任此任务,因为您策略的基类、函数和模板都已经开发完毕。 编写少量的代码来实现您的交易理念就足够了。
图形界面 X: 渲染表格的新功能 (集成编译 9)
图形界面 X: 渲染表格的新功能 (集成编译 9)

图形界面 X: 渲染表格的新功能 (集成编译 9)

时至今日, CTable 是函数库中所含的最先进类型表格。表格由 OBJ_EDIT 类型的编辑框汇集而成, 但其进一步开发成为问题。因此, 在最大性能方面, 即使是在函数库的当前开发阶段, 也最好开发 CCanvasTable 类型的渲染表格。它的当前版本毫无生气, 但从本文开始, 我们将尝试解决这个问题。
外部指标的提醒和注释。 通过外部扫描进行多货币分析
外部指标的提醒和注释。 通过外部扫描进行多货币分析

外部指标的提醒和注释。 通过外部扫描进行多货币分析

外部指标的多货币和多时间范围分析的提醒。 本文讨论了一种获得外部指标事件信息的方法,而不必将指标添加到图表或自己打开图表。 我们将其称为外部扫描。
轻松快捷开发 MetaTrader 程序的函数库(第十二部分)。
轻松快捷开发 MetaTrader 程序的函数库(第十二部分)。

轻松快捷开发 MetaTrader 程序的函数库(第十二部分)。

上篇文章中,我们在函数库中为 MQL4 定义了平仓事件,并删除了若干未使用的订单属性。 在此,我们将研究创建 Account 对象,开发帐户对象的集合,并筹备跟踪帐户事件的功能。
更改 MQL4 程序的外部参数而无需重启
更改 MQL4 程序的外部参数而无需重启

更改 MQL4 程序的外部参数而无需重启

本文介绍一种实时更改 MQL4 程序的外部参数而无需重启的方法。
图形界面 II: 主菜单元件 (第四章))
图形界面 II: 主菜单元件 (第四章))

图形界面 II: 主菜单元件 (第四章))

这是图形界面系列第二部分的最后一章。在此,我们将探讨主菜单的创建,演示这个控件的开发以及设置库中类的处理函数以正确回应用户的操作。我们还将讨论如何把上下文菜单附加到主菜单项目中。另外,我们还会提到怎样阻止当前没有激活的元件。
图形界面 IV: 信息界面元件 (第一章)
图形界面 IV: 信息界面元件 (第一章)

图形界面 IV: 信息界面元件 (第一章)

在当前开发阶段,用于创建图形界面的库包含了表单以及可以附加其中的几个控件。之前已经说过,未来的文章中将有一篇专门致力于多窗口模式,现在,我们已经万事具备,我们将在下面的章节中讨论它。在本章中,我们将开发用于创建状态栏和工具提示信息界面元件的类。
preview
从头开始采用 MQL 语言进行深度神经网络编程

从头开始采用 MQL 语言进行深度神经网络编程

本文旨在教导读者如何从头开始采用 MQL4/5 语言构建深度神经网络。
指标间的数据交换:易如反掌!
指标间的数据交换:易如反掌!

指标间的数据交换:易如反掌!

我们希望创建这样一个环境,即能够提供对附加于图表的指标的数据访问,并具有以下属性:没有数据复制;只需稍加修改我们需要使用的可用方法的代码;MQL 代码优先(当然,我们必须使用 DLL,但我们将只使用一些 C++ 代码字符串)。本文介绍了为 MetaTrader 终端开发程序环境的简易方法,这将提供从其他 MQL 程序访问指标缓冲区的方法。
图形界面 XI: 渲染控件 (统合构建14.2)
图形界面 XI: 渲染控件 (统合构建14.2)

图形界面 XI: 渲染控件 (统合构建14.2)

在新版本的函数库中, 所有控件将在 OBJ_BITMAP_LABEL 类型的单独图形对象上绘制。我们还将继续描述代码的优化: 讨论函数库核心类的变化。
移动极小化极大:技术分析的新指标及其在 MQL5 中的实施
移动极小化极大:技术分析的新指标及其在 MQL5 中的实施

移动极小化极大:技术分析的新指标及其在 MQL5 中的实施

在下文中,我将基于 Z.G.Silagadze 的论文《移动极小化极大:技术分析的新指标》说明移动极小化极大指标的实施过程。指标的理念基于对量子隧穿现象的模拟,量子隧穿现象由 G. Gamov 在 α-衰变理论中提出。
在 GUI 控件中使用布局和容器: CBox 类
在 GUI 控件中使用布局和容器: CBox 类

在 GUI 控件中使用布局和容器: CBox 类

本文介绍一种基于布局和容器来创建 GUI (图形用户界面) 的替代方法, 使用一个布局管理器 — CBox 类。类 CBox class 是一个辅助控件, 在 GUI 面板里充当一个基本控件的容器。它可令图形面板设计更加简便, 并且在某些场合, 减少编写代码时间。