MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
轻松快捷开发 MetaTrader 程序的函数库(第十三部分):帐户对象事件
轻松快捷开发 MetaTrader 程序的函数库(第十三部分):帐户对象事件

轻松快捷开发 MetaTrader 程序的函数库(第十三部分):帐户对象事件

本文研究如何处理帐户事件,跟踪影响自动交易的重要帐户属性变化。 在开发帐户对象集合时,我们已在上一篇文章中实现了一些跟踪帐户事件的功能。
基于快速数学计算的自定义策略测试器
基于快速数学计算的自定义策略测试器

基于快速数学计算的自定义策略测试器

本文将介绍创建自定义策略测试器和自定义优化通关分析器的方法。阅读之后, 您将了解数学计算模式, 和所谓分帧机制如何工作, 如何准备和加载用于计算的自定义数据, 以及如何使用有效的算法将它们压缩。对于那些打算在智能系统中存储自定义信息感兴趣的人来说, 这篇文章会很有趣。
ZigZag(之字折线)的力量(第一部分)。 开发指标基类
ZigZag(之字折线)的力量(第一部分)。 开发指标基类

ZigZag(之字折线)的力量(第一部分)。 开发指标基类

许多研究人员对于判定价格行为没有给予足够的重视。 与此同时,还使用各种复杂方法,而这些方法通常只是“黑盒子”,例如机器学习或神经网络。 在这种情况下显现出的最严重问题就是提交何种数据来训练特定模型。
6 步创建您自己的交易机器人!
6 步创建您自己的交易机器人!

6 步创建您自己的交易机器人!

如果您不清楚交易类如何构造,而且一看到面向对象编程之类的词就害怕,那么,本文正适合您。实际上,那些编写您自己的交易信号模块的细节,您无需知道。只需遵循几条简单法则即可。MQL5 向导会完成所有其余工作,而您则会得到一个即用型的交易机器人!
自适应行情跟踪方法的实际评估
自适应行情跟踪方法的实际评估

自适应行情跟踪方法的实际评估

本文所述交易系统的不同寻常之处主要是使用数学工具分析股票报价。系统应用了数字滤波和离散时间序列的频谱估值。策略的理论层面已描述过, 并曾创建了一款测试智能交易系统。
MQL5:在 MetaTrader 5 中分析和处理商品期货交易委员会 (CFTC) 报告
MQL5:在 MetaTrader 5 中分析和处理商品期货交易委员会 (CFTC) 报告

MQL5:在 MetaTrader 5 中分析和处理商品期货交易委员会 (CFTC) 报告

在本文中,我们将开发用于 CFTC 报告分析的工具。我们将解决下述问题:开发可直接使用委员会提供的数据文件的 CFTC 报告数据而无需进行中间处理和转换的指标。此外,该指标可用于不同目的:作为指标绘制数据、处理其他指标中的数据、在脚本中用于自动分析、在“EA 交易”的交易策略中使用。
preview
可视化!类似于 R 语言 "plot (绘图)" 的 MQL5 图形库

可视化!类似于 R 语言 "plot (绘图)" 的 MQL5 图形库

在研究交易逻辑时, 图形形式的直观表达是非常重要的。科学界中流行的一些编程语言 (如 R 和 Python) 拥有可视化的特殊 "plot (绘图)" 功能。它能够以直观方式绘制线, 点分布和直方图。在 MQL5 中, 您可以使用 CGraphics 类完成相同的操作。
preview
实用且奇特的自动交易技术

实用且奇特的自动交易技术

在本文中,我将演示一些非常有趣且实用的自动交易技术。 其中一些可能您很熟悉。 我将尝试覆盖最有趣的方法,并解释为什么它们值得使用。 此外,我将展示这些技术在实战中的适用性。 我们将创建智能交易系统,并依据历史报价来测试全部所述技术。
EA 交易中采用OnTrade() 函数处理交易事件
EA 交易中采用OnTrade() 函数处理交易事件

EA 交易中采用OnTrade() 函数处理交易事件

MQL5提供了海量的创新,其中就包括使用各种类型的事件(计时器事件、交易事件、自定义事件等)。有了处理事件的能力,您就能够创建全新类型的自动与半自动交易程序。我们会在本文中一起学习交易事件,并针对OnTrade()函数编写一些处理交易事件的代码。
通用EA交易:与MetaTrader的标准信号模块集成 (第7部分)
通用EA交易:与MetaTrader的标准信号模块集成 (第7部分)

通用EA交易:与MetaTrader的标准信号模块集成 (第7部分)

这部分文章描述了使用CStrategy引擎与MetaTrader中标准库的信号模块做集成。本文描述了如何操作信号,以及如何基于它们创建自定义的策略。
如何在 MetaTrader 5 里快速开发并调试交易策略
如何在 MetaTrader 5 里快速开发并调试交易策略

如何在 MetaTrader 5 里快速开发并调试交易策略

自动剥头皮系统理所当然地被认为是算法交易的巅峰, 但同时它们的代码也最难编写。在本文中, 我们将介绍如何使用内置调试工具并基于接收的瞬时报价分析来构建策略, 以及可视测试。开发入场和离场规则, 往往需要经历多年的手工交易。但借助 MetaTrader 5, 您可以在真实历史数据的基础上快速测试任何策略。
使用 CGraphic 开发库实现一个剥头皮市场深度
使用 CGraphic 开发库实现一个剥头皮市场深度

使用 CGraphic 开发库实现一个剥头皮市场深度

在本文中,我们将会创建一个剥头皮市场深度工具的基本功能。另外,我们将基于 CGraphic 开发库开发一个订单分时图表,并且把它与订单簿整合。使用所描述的市场深度,就可以创造一个用于短线交易的强大辅助工具。
MQL5 编程基础:数组
MQL5 编程基础:数组

MQL5 编程基础:数组

数组连同变量及函数是几乎所有编程语言的组成部分。本文主要面向 MQL5 编程新手,同时也是资深编程人员梳理和总结自身知识的良机。
在MQL中操作套接字,或者如何成为信号提供者
在MQL中操作套接字,或者如何成为信号提供者

在MQL中操作套接字,或者如何成为信号提供者

套接字(Sockets)… 如果没有它们,我们的IT世界还可能存在吗?时光倒转回1982年,再到现在,它们每分每秒都与我们同在,这是网络的基础,是我们所居住的 Matrix 世界的神经末梢。
逆转形态:测试双顶/双底形态
逆转形态:测试双顶/双底形态

逆转形态:测试双顶/双底形态

交易者经常寻找趋势逆转点,因为在趋势新形成的最初阶段价格走势具有最大潜力。 因此,在技术分析中考虑了各种逆转形态。 双顶/双底是最著名和最常用的形态之一。 本文提出了程序检测形态的方法。 它还测试了形态在历史数据上的盈利能力。
利用 MQL5 云网络加速计算
利用 MQL5 云网络加速计算

利用 MQL5 云网络加速计算

您的家用电脑是几核的?优化一项交易策略,您可以运用多少计算机?我们在此展示如何利用MQL5云网络,点击鼠标即可获取遍及全球的计算能力,并通过这种方式加速计算。每过去一年,时间就是金钱这句话都会成为更被热议的话题,我们不能承受重要运算几十小时甚或几天的等候。
逆转形态:测试头肩形态
逆转形态:测试头肩形态

逆转形态:测试头肩形态

本文是前一篇名为“逆转形态:测试双顶/双底形态”的后续文章。 现在我们将会看到另一个著名的逆转形态,称为头肩,比较两种形态的交易效率,并尝试将它们合并成为单一的交易系统。
为 MetaTrader 5 创建自定义新闻递送
为 MetaTrader 5 创建自定义新闻递送

为 MetaTrader 5 创建自定义新闻递送

在本文中, 我们将探讨创建灵活新闻递送的可能性, 可提供更多新闻类型和来源方面的选项。 本文将介绍如何将 Web API 与 MetaTrader 5 终端集成。
原生推特(Twitter)客户端:第二部
原生推特(Twitter)客户端:第二部

原生推特(Twitter)客户端:第二部

一款以 MQL 类实现的推特(Twitter)客户端,允许您发送带照片的推文。 您只需要包含一个独立的包含文件,之后您即可将所有出色的图表和信号发作推文。
跨平台智能交易系统: 时间过滤器
跨平台智能交易系统: 时间过滤器

跨平台智能交易系统: 时间过滤器

本文探讨如何实现跨平台智能交易系统的各种时间过滤方法。时间过滤器类负责检查给定时间是否处于特定时间配置设置的范围内。
保证 MQL5 代码的安全:密码保护,钥匙生成器,时间限制,远程许可证及先进的 EA 许可证密钥加密技术
保证 MQL5 代码的安全:密码保护,钥匙生成器,时间限制,远程许可证及先进的 EA 许可证密钥加密技术

保证 MQL5 代码的安全:密码保护,钥匙生成器,时间限制,远程许可证及先进的 EA 许可证密钥加密技术

大多数开发人员都需要保证其代码的安全性。本文就会讲到 MQL5 软件的几种不同的保护方式 - 其中涉及到的是赋予 MQL5 脚本、EA 交易和指标许可能力的方法。包括密码保护、钥匙生成器、账户许可、时限评估以及采用 MQL5-RPC 调用的远程保护。
如何写好市场产品的描述
如何写好市场产品的描述

如何写好市场产品的描述

MQL5 市场有很多产品出售,但是某些产品的描述并不是很好。很多文字显然需要改进,因为普通交易者不能领会它们。本文将帮助您使产品给人留下好印象。采用我们的建议来撰写惹人注目的描述,轻易地向您的客户精确展示您的卖点。
交易员的正则表达式
交易员的正则表达式

交易员的正则表达式

正则表达式 (regular expression) 是通过应用特定的规则来处理文本的一种特殊语言, 也简称为 regex 或 regexp。在本文中, 我们将要展示如何利用 RegularExpressions 库的 MQL5 版本来处理交易报告, 以及使用它处理之后的优化结果。
使用带 ENCOG 机器学习框架的 MetaTrader 5 指标进行时间序列预测
使用带 ENCOG 机器学习框架的 MetaTrader 5 指标进行时间序列预测

使用带 ENCOG 机器学习框架的 MetaTrader 5 指标进行时间序列预测

本文介绍如何将 MetaTrader 5 连接到 ENCOG - 高级神经网络和机器学习框架。它包含一个基于标准技术指标的简单神经网络指标和一个基于神经指标的 EA 交易的描述和实施。本文还附带了所有源代码、编译后的二进制文件、DLL 和一个可仿效的经过训练的网络。
为莫斯科交易所开发一个交易机器人从哪里开始呢?
为莫斯科交易所开发一个交易机器人从哪里开始呢?

为莫斯科交易所开发一个交易机器人从哪里开始呢?

很多莫斯科交易所的交易者想把他们的交易算法自动化,但是他们不知道从何做起,MQL5语言提供了很大范围的交易功能,它还额外提供了方便使用的类,以使用户在算法交易中方便地起步。
MQL5 编程基础:字符串
MQL5 编程基础:字符串

MQL5 编程基础:字符串

本文会讲解您可以利用 MQL5 中的字符串所做的一切。对此感兴趣的主要应是 MQL5 入门程序员,同时也为经验丰富的开发人员提供了一次总结和系统化其知识的良机。
通用智能交易系统:组合交易及管理策略组合(第四章)
通用智能交易系统:组合交易及管理策略组合(第四章)

通用智能交易系统:组合交易及管理策略组合(第四章)

在最后一篇关于CStrategy交易引擎的系列文章中,我们将考虑多个交易算法同时运行,学习如何从XML文件加载策略,并将给出一个简单的面板,用于从可执行模块中选择EA,并管理它们的交易模式。
MQL5中的错误处理和日志记录
MQL5中的错误处理和日志记录

MQL5中的错误处理和日志记录

本文着力介绍和软件错误处理相关的常见问题。另外,介绍了日志项及用MQL5工具包实现日志记录。
跨平台智能交易系统: 停止位
跨平台智能交易系统: 停止位

跨平台智能交易系统: 停止位

本文讨论智能交易系统中停止价位的实现, 以便在两个平台 Metatrader 4 和 Metatrader 5 之间兼容。
整合基于MQL的EA交易和数据库 (SQL Server, .NET 和 C#)
整合基于MQL的EA交易和数据库 (SQL Server, .NET 和 C#)

整合基于MQL的EA交易和数据库 (SQL Server, .NET 和 C#)

本文描述了如何把操作 Microsoft SQL Server 数据库的功能加到基于 MQL 语言的 EA 交易中,它使用了从一个DLL(动态链接库)中引入函数的方法。这个 DLL 是使用 Microsoft .NET 平台和 C# 语言创建的。本文中使用的方法只要做少许调整,就可以用于使用 MQL4 开发的 EA 交易中。
本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。
本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。

本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。

本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。
通用EA:自定义策略和辅助交易类(第三章)
通用EA:自定义策略和辅助交易类(第三章)

通用EA:自定义策略和辅助交易类(第三章)

在本文中,我们将继续分析CStrategy交易引擎的算法。这系列文章的第三篇包含如何使用这种方法开发特定的交易策略样例的详细分析。需特别关注辅助算法— 智能交易日志系统以及使用索引方式(Close[1],Open[0]等)访问数据。
图形界面 V: 垂直与水平滚动条 (第一章)
图形界面 V: 垂直与水平滚动条 (第一章)

图形界面 V: 垂直与水平滚动条 (第一章)

我们仍然在讨论在MetaTrader环境下开发创建图形界面库的开发,在本系列第五部分的第一篇文章中,我们将开发用于创建垂直与水平滚动条的类。
纺锤形图表指标
纺锤形图表指标

纺锤形图表指标

本文介绍纺锤形图表的绘制及其在交易策略和智能交易系统中的应用。首先我们讨论图表的展现,绘制记忆和日本蜡烛图的关系。其次我们分析下指标在MQL5语言中的实现源代码。最后我们测试基于该指标和由此构建的交易策略的EA。
以 delta 指标为例开发股票交易量控制指标
以 delta 指标为例开发股票交易量控制指标

以 delta 指标为例开发股票交易量控制指标

本文讨论基于实际交易量并使用 CopyTicks() 和 CopyTicksRange() 函数开发股票指标的算法。 还描述了开发此类指标的一些细微环节,以及它们在实时和策略测试器中的操作。
MQL5 中如何调用指标
MQL5 中如何调用指标

MQL5 中如何调用指标

推出新版本后,MQL 编程语言不仅提供处理那些已变更指标的方法,还提供如何创建指标的新途径。而且,您还具备了使用指标缓冲区的更多灵活性 - 现在,您可以指定目标索引方向,并可完全如您所愿地获取多个指标值。本文讲述的是调用指标的基本方法,以及通过指标缓冲区检索数据。
包含图形用户界面 (GUI) 的 EA 交易: 增加功能 (第二部分)
包含图形用户界面 (GUI) 的 EA 交易: 增加功能 (第二部分)

包含图形用户界面 (GUI) 的 EA 交易: 增加功能 (第二部分)

这是展示开发用于人工交易的多交易品种信号 EA 文章的第二部分,我们已经创建了图形界面,现在是时候把它与程序功能相关联了。
MQL5 编程基础:列表
MQL5 编程基础:列表

MQL5 编程基础:列表

用于交易策略开发的编程语言 MQL 的新版本 [MQL5] 与以前的版本 [MQL4] 相比,提供了更加强大和高效的功能。这些优势实质上是面向对象的编程功能。本文探讨对于复杂自定义数据类型的使用,例如节点和列表。它还在提供了在 MQL5 实战编程中使用列表的例子。
MQL5 向导: 根据计算价位下单, 止损和止盈。标准库扩展
MQL5 向导: 根据计算价位下单, 止损和止盈。标准库扩展

MQL5 向导: 根据计算价位下单, 止损和止盈。标准库扩展

本文描述 MQL5 标准库扩展, 可以使用 MQL5 向导接收来自包含模块的价格, 创建 EA, 下单, 止损和止盈。这种方法不会对模块的应用数量有任何额外的限制,亦不会在联合工作中导致冲突。
MQL5 Cookbook: 基于三重滤网策略开发交易系统框架
MQL5 Cookbook: 基于三重滤网策略开发交易系统框架

MQL5 Cookbook: 基于三重滤网策略开发交易系统框架

在本文中,我们将基于三重滤网(Triple Screen)策略,使用MQL5开发一个交易系统的框架。EA交易不会从头开始开发,我们会简单地修改前一篇文章, 即"MQL5 Cookbook: 在EA交易中使用指标设置交易条件"中的程序,它已经基本上满足了我们的目标。所以这篇文章也会向您展示如何简单地修改已经完成的程序的模式。