MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
逆转形态:测试双顶/双底形态
逆转形态:测试双顶/双底形态

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

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

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

在本文中, 我们将探讨创建灵活新闻递送的可能性, 可提供更多新闻类型和来源方面的选项。 本文将介绍如何将 Web API 与 MetaTrader 5 终端集成。
ZigZag(之字折线)的力量(第一部分)。 开发指标基类
ZigZag(之字折线)的力量(第一部分)。 开发指标基类

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

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

MetaTrader 4 Expert Advisor 与外部世界交换信息

一个供 МetaТrader 4 Expert Advisor 与外部世界进行信息交换的简单、通用而可靠的解决方案。 信息的提供商和用户可能使用不同的计算机,连接是通过全局 IP 地址实现的。
在一些指标中多次重新计算基础柱体
在一些指标中多次重新计算基础柱体

在一些指标中多次重新计算基础柱体

本文讨论当基础柱体改变时,在 MetaTrader 4 客户端里重新计算指标值的问题。它概括了如何添加指标代码的综合思路。在多次重新计算前保存一些允许重建程序代码的额外程序项。
Meta 交易者持仓报告 - 在 MetaTrader 4 中进行美国商品期货交易委员会报告分析的新领域
Meta 交易者持仓报告 - 在 MetaTrader 4 中进行美国商品期货交易委员会报告分析的新领域

Meta 交易者持仓报告 - 在 MetaTrader 4 中进行美国商品期货交易委员会报告分析的新领域

本文关于在 MetaTrader 中使用美国商品期货交易委员会(CFTC)的报告数据。 文章详细描述了所讨论的 META 交易者持仓报告(COT)项目,展示了如何加载和处理必要的信息。 项目中包含的 Expert Advisor 将帮助我们分析文章中给出概念的有效性。 最后,我们将得出一些结论并提供有用的建议。
利用 MQL5 云网络加速计算
利用 MQL5 云网络加速计算

利用 MQL5 云网络加速计算

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

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

本文探讨如何实现跨平台智能交易系统的各种时间过滤方法。时间过滤器类负责检查给定时间是否处于特定时间配置设置的范围内。
如何写好市场产品的描述
如何写好市场产品的描述

如何写好市场产品的描述

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

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

MQL5提供了海量的创新,其中就包括使用各种类型的事件(计时器事件、交易事件、自定义事件等)。有了处理事件的能力,您就能够创建全新类型的自动与半自动交易程序。我们会在本文中一起学习交易事件,并针对OnTrade()函数编写一些处理交易事件的代码。
在MQL中操作套接字,或者如何成为信号提供者
在MQL中操作套接字,或者如何成为信号提供者

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

套接字(Sockets)… 如果没有它们,我们的IT世界还可能存在吗?时光倒转回1982年,再到现在,它们每分每秒都与我们同在,这是网络的基础,是我们所居住的 Matrix 世界的神经末梢。
交易员的正则表达式
交易员的正则表达式

交易员的正则表达式

正则表达式 (regular expression) 是通过应用特定的规则来处理文本的一种特殊语言, 也简称为 regex 或 regexp。在本文中, 我们将要展示如何利用 RegularExpressions 库的 MQL5 版本来处理交易报告, 以及使用它处理之后的优化结果。
为莫斯科交易所开发一个交易机器人从哪里开始呢?
为莫斯科交易所开发一个交易机器人从哪里开始呢?

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

很多莫斯科交易所的交易者想把他们的交易算法自动化,但是他们不知道从何做起,MQL5语言提供了很大范围的交易功能,它还额外提供了方便使用的类,以使用户在算法交易中方便地起步。
MetaTrader 4 客户端的秘密:指标
MetaTrader 4 客户端的秘密:指标

MetaTrader 4 客户端的秘密:指标

您有自己编写指标的打算吗?也许你会发现在客户端中的指标正是你需要的。那为什么要重新发明呢?分组总结指标特点简表;添加指标到图表的特性和方法;水平;在不同时间周期内显示指标。
MQL5 编程基础:数组
MQL5 编程基础:数组

MQL5 编程基础:数组

数组连同变量及函数是几乎所有编程语言的组成部分。本文主要面向 MQL5 编程新手,同时也是资深编程人员梳理和总结自身知识的良机。
使用带 ENCOG 机器学习框架的 MetaTrader 5 指标进行时间序列预测
使用带 ENCOG 机器学习框架的 MetaTrader 5 指标进行时间序列预测

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

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

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

自动剥头皮系统理所当然地被认为是算法交易的巅峰, 但同时它们的代码也最难编写。在本文中, 我们将介绍如何使用内置调试工具并基于接收的瞬时报价分析来构建策略, 以及可视测试。开发入场和离场规则, 往往需要经历多年的手工交易。但借助 MetaTrader 5, 您可以在真实历史数据的基础上快速测试任何策略。
保证 MQL5 代码的安全:密码保护,钥匙生成器,时间限制,远程许可证及先进的 EA 许可证密钥加密技术
保证 MQL5 代码的安全:密码保护,钥匙生成器,时间限制,远程许可证及先进的 EA 许可证密钥加密技术

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

大多数开发人员都需要保证其代码的安全性。本文就会讲到 MQL5 软件的几种不同的保护方式 - 其中涉及到的是赋予 MQL5 脚本、EA 交易和指标许可能力的方法。包括密码保护、钥匙生成器、账户许可、时限评估以及采用 MQL5-RPC 调用的远程保护。
MеtaTrader 4 和 MATLAB Engine 的交互(虚拟 MATLAB 机)
MеtaTrader 4 和 MATLAB Engine 的交互(虚拟 MATLAB 机)

MеtaTrader 4 和 MATLAB Engine 的交互(虚拟 MATLAB 机)

本文探讨了 DLL 库 - 包装程序的创建,它能使 MetaTrader 4 和 MATLAB 数学桌面包进行交互。 文章对其中的“陷阱”以及克服的方法进行了介绍。 本文面向的读者是使用 Borland C++ Builder 6 编译器且具有 C/C++ 基础的程序员。
新MQL4中的离线图表
新MQL4中的离线图表

新MQL4中的离线图表

更新的MQL4具有存储历史数据的新格式,并提供相应的MqlRates结构,便于时间,开盘,最低,最高,收盘和交易量值的存储。多年来,交易者们已经开发出收集和存储他们在HST文件中的数据,用于生成离线图表的MQL4应用。我们可以向您保证,所有先前编译的EX4文件在新的MetaTrader 4程序端将以之前相同的方式工作。
通用智能交易系统:组合交易及管理策略组合(第四章)
通用智能交易系统:组合交易及管理策略组合(第四章)

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

在最后一篇关于CStrategy交易引擎的系列文章中,我们将考虑多个交易算法同时运行,学习如何从XML文件加载策略,并将给出一个简单的面板,用于从可执行模块中选择EA,并管理它们的交易模式。
跨平台智能交易系统: 停止位
跨平台智能交易系统: 停止位

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

本文讨论智能交易系统中停止价位的实现, 以便在两个平台 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 交易中。
本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。
本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。

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

本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。
图形界面 V: 垂直与水平滚动条 (第一章)
图形界面 V: 垂直与水平滚动条 (第一章)

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

我们仍然在讨论在MetaTrader环境下开发创建图形界面库的开发,在本系列第五部分的第一篇文章中,我们将开发用于创建垂直与水平滚动条的类。
MQL5中的错误处理和日志记录
MQL5中的错误处理和日志记录

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

本文着力介绍和软件错误处理相关的常见问题。另外,介绍了日志项及用MQL5工具包实现日志记录。
以 delta 指标为例开发股票交易量控制指标
以 delta 指标为例开发股票交易量控制指标

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

本文讨论基于实际交易量并使用 CopyTicks() 和 CopyTicksRange() 函数开发股票指标的算法。 还描述了开发此类指标的一些细微环节,以及它们在实时和策略测试器中的操作。
通用EA:自定义策略和辅助交易类(第三章)
通用EA:自定义策略和辅助交易类(第三章)

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

在本文中,我们将继续分析CStrategy交易引擎的算法。这系列文章的第三篇包含如何使用这种方法开发特定的交易策略样例的详细分析。需特别关注辅助算法— 智能交易日志系统以及使用索引方式(Close[1],Open[0]等)访问数据。
MetaTrader 4 客户端的程序文件夹
MetaTrader 4 客户端的程序文件夹

MetaTrader 4 客户端的程序文件夹

本文描述了 MetaTrader 4 客户端程序文件夹的内容。 对于那些已经开始掌握客户端操作细节的用户,本文将会非常有用。
MQL4 语言入门。简单词组中的难题。
MQL4 语言入门。简单词组中的难题。

MQL4 语言入门。简单词组中的难题。

这是"MQL4 语言入门"系列的第二篇文章。现在我们将探讨该语言更复杂、更高级的构造,学习新内容,并了解如何将它们应用到日常实践中。您将了解新循环类型"while",新条件类型"switch",运算符 "break"和"continue"。此外,我们将学习编写您自己的函数和使用多维数组。作为餐前甜点,我还准备了一份有关预处理器的说明。
MQL5 编程基础:字符串
MQL5 编程基础:字符串

MQL5 编程基础:字符串

本文会讲解您可以利用 MQL5 中的字符串所做的一切。对此感兴趣的主要应是 MQL5 入门程序员,同时也为经验丰富的开发人员提供了一次总结和系统化其知识的良机。
一个为莫斯科交易所期货开发的点差策略实例
一个为莫斯科交易所期货开发的点差策略实例

一个为莫斯科交易所期货开发的点差策略实例

MetaTrader 5 可以开发和测试同时交易多种金融资产的交易机器人。其内建的策略测试器能够自动从经纪商的服务器中下载所需的订单时刻历史,并会考虑到账户的合约规范,所以开发人员不用做任何人工工作。这可以使交易环境条件的重建能够简单和可靠,包括乃至不同交易品种中订单来临之间毫秒级的间隔。在本文中,我们将演示在两种莫斯科交易所期货上开发和测试一种点差策略。
外汇交易ABC
外汇交易ABC

外汇交易ABC

金融市场的运作首先是交易业务。正如我们儿时熟知的,按照自己的直觉进行买卖。但是外汇交易却有些不同。本文将解析外汇交易的一些想法和外汇交易程序MQL 4 。
创建自定义指标的特性
创建自定义指标的特性

创建自定义指标的特性

在MetaTrader交易系统中创建自定义指标有一些特性.
利用 CCanvas 的自定义指标和信息图
利用 CCanvas 的自定义指标和信息图

利用 CCanvas 的自定义指标和信息图

本文研究结构更加复杂实现的新型指标。它还描述了如何开发伪 3D 指标类型和动态信息图。
纺锤形图表指标
纺锤形图表指标

纺锤形图表指标

本文介绍纺锤形图表的绘制及其在交易策略和智能交易系统中的应用。首先我们讨论图表的展现,绘制记忆和日本蜡烛图的关系。其次我们分析下指标在MQL5语言中的实现源代码。最后我们测试基于该指标和由此构建的交易策略的EA。
图形界面 X: 高级列表和表格管理。代码优化 (集成构建 7)
图形界面 X: 高级列表和表格管理。代码优化 (集成构建 7)

图形界面 X: 高级列表和表格管理。代码优化 (集成构建 7)

函数库的代码需要进行优化: 它应该更规范化, 这样可以 — 更具可读性并易于理解学习。此外, 我们将继续开发之前创建的控件: 列表, 表格和滚动条。
EA 状态短信通知
EA 状态短信通知

EA 状态短信通知

开发一个可以将你的 EA 状态通知你的短信通知系统,无论你在何处,都能始终了解任何紧急情况。
MQL5 编程基础:列表
MQL5 编程基础:列表

MQL5 编程基础:列表

用于交易策略开发的编程语言 MQL 的新版本 [MQL5] 与以前的版本 [MQL4] 相比,提供了更加强大和高效的功能。这些优势实质上是面向对象的编程功能。本文探讨对于复杂自定义数据类型的使用,例如节点和列表。它还在提供了在 MQL5 实战编程中使用列表的例子。
智能交易的特性
智能交易的特性

智能交易的特性

在MetaTrader 4交易系统中创建并测试智能交易。