MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
自适应行情跟踪方法的实际评估
自适应行情跟踪方法的实际评估

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

本文所述交易系统的不同寻常之处主要是使用数学工具分析股票报价。系统应用了数字滤波和离散时间序列的频谱估值。策略的理论层面已描述过, 并曾创建了一款测试智能交易系统。
MQL5中的错误处理和日志记录
MQL5中的错误处理和日志记录

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

本文着力介绍和软件错误处理相关的常见问题。另外,介绍了日志项及用MQL5工具包实现日志记录。
MQL5 编程基础:数组
MQL5 编程基础:数组

MQL5 编程基础:数组

数组连同变量及函数是几乎所有编程语言的组成部分。本文主要面向 MQL5 编程新手,同时也是资深编程人员梳理和总结自身知识的良机。
利用 MQL5 云网络加速计算
利用 MQL5 云网络加速计算

利用 MQL5 云网络加速计算

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

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

在本文中,我将演示一些非常有趣且实用的自动交易技术。 其中一些可能您很熟悉。 我将尝试覆盖最有趣的方法,并解释为什么它们值得使用。 此外,我将展示这些技术在实战中的适用性。 我们将创建智能交易系统,并依据历史报价来测试全部所述技术。
为 MetaTrader 5 创建自定义新闻递送
为 MetaTrader 5 创建自定义新闻递送

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

在本文中, 我们将探讨创建灵活新闻递送的可能性, 可提供更多新闻类型和来源方面的选项。 本文将介绍如何将 Web API 与 MetaTrader 5 终端集成。
使用 CGraphic 开发库实现一个剥头皮市场深度
使用 CGraphic 开发库实现一个剥头皮市场深度

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

在本文中,我们将会创建一个剥头皮市场深度工具的基本功能。另外,我们将基于 CGraphic 开发库开发一个订单分时图表,并且把它与订单簿整合。使用所描述的市场深度,就可以创造一个用于短线交易的强大辅助工具。
通用EA交易:与MetaTrader的标准信号模块集成 (第7部分)
通用EA交易:与MetaTrader的标准信号模块集成 (第7部分)

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

这部分文章描述了使用CStrategy引擎与MetaTrader中标准库的信号模块做集成。本文描述了如何操作信号,以及如何基于它们创建自定义的策略。
跨平台智能交易系统: 时间过滤器
跨平台智能交易系统: 时间过滤器

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

本文探讨如何实现跨平台智能交易系统的各种时间过滤方法。时间过滤器类负责检查给定时间是否处于特定时间配置设置的范围内。
MQL5 编程基础:字符串
MQL5 编程基础:字符串

MQL5 编程基础:字符串

本文会讲解您可以利用 MQL5 中的字符串所做的一切。对此感兴趣的主要应是 MQL5 入门程序员,同时也为经验丰富的开发人员提供了一次总结和系统化其知识的良机。
在MQL中操作套接字,或者如何成为信号提供者
在MQL中操作套接字,或者如何成为信号提供者

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

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

逆转形态:测试头肩形态

本文是前一篇名为“逆转形态:测试双顶/双底形态”的后续文章。 现在我们将会看到另一个著名的逆转形态,称为头肩,比较两种形态的交易效率,并尝试将它们合并成为单一的交易系统。
MetaTrader 4 Expert Advisor 与外部世界交换信息
MetaTrader 4 Expert Advisor 与外部世界交换信息

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

一个供 МetaТrader 4 Expert Advisor 与外部世界进行信息交换的简单、通用而可靠的解决方案。 信息的提供商和用户可能使用不同的计算机,连接是通过全局 IP 地址实现的。
纺锤形图表指标
纺锤形图表指标

纺锤形图表指标

本文介绍纺锤形图表的绘制及其在交易策略和智能交易系统中的应用。首先我们讨论图表的展现,绘制记忆和日本蜡烛图的关系。其次我们分析下指标在MQL5语言中的实现源代码。最后我们测试基于该指标和由此构建的交易策略的EA。
MetaTrader 4 客户端的程序文件夹
MetaTrader 4 客户端的程序文件夹

MetaTrader 4 客户端的程序文件夹

本文描述了 MetaTrader 4 客户端程序文件夹的内容。 对于那些已经开始掌握客户端操作细节的用户,本文将会非常有用。
EA交易, 脚本程序和指标的同步
EA交易, 脚本程序和指标的同步

EA交易, 脚本程序和指标的同步

本文介绍了开发捆绑程序, 即可能同时包含EA交易, 脚本程序和指标的程序集合的必要性以及通用原则.
如何写好市场产品的描述
如何写好市场产品的描述

如何写好市场产品的描述

MQL5 市场有很多产品出售,但是某些产品的描述并不是很好。很多文字显然需要改进,因为普通交易者不能领会它们。本文将帮助您使产品给人留下好印象。采用我们的建议来撰写惹人注目的描述,轻易地向您的客户精确展示您的卖点。
通用智能交易系统:组合交易及管理策略组合(第四章)
通用智能交易系统:组合交易及管理策略组合(第四章)

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

在最后一篇关于CStrategy交易引擎的系列文章中,我们将考虑多个交易算法同时运行,学习如何从XML文件加载策略,并将给出一个简单的面板,用于从可执行模块中选择EA,并管理它们的交易模式。
在一些指标中多次重新计算基础柱体
在一些指标中多次重新计算基础柱体

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

本文讨论当基础柱体改变时,在 MetaTrader 4 客户端里重新计算指标值的问题。它概括了如何添加指标代码的综合思路。在多次重新计算前保存一些允许重建程序代码的额外程序项。
原生推特(Twitter)客户端:第二部
原生推特(Twitter)客户端:第二部

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

一款以 MQL 类实现的推特(Twitter)客户端,允许您发送带照片的推文。 您只需要包含一个独立的包含文件,之后您即可将所有出色的图表和信号发作推文。
MetaTrader 4 客户端的秘密:指标
MetaTrader 4 客户端的秘密:指标

MetaTrader 4 客户端的秘密:指标

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

MQL5 中如何调用指标

推出新版本后,MQL 编程语言不仅提供处理那些已变更指标的方法,还提供如何创建指标的新途径。而且,您还具备了使用指标缓冲区的更多灵活性 - 现在,您可以指定目标索引方向,并可完全如您所愿地获取多个指标值。本文讲述的是调用指标的基本方法,以及通过指标缓冲区检索数据。
使用带 ENCOG 机器学习框架的 MetaTrader 5 指标进行时间序列预测
使用带 ENCOG 机器学习框架的 MetaTrader 5 指标进行时间序列预测

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

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

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

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

交易员的正则表达式

正则表达式 (regular expression) 是通过应用特定的规则来处理文本的一种特殊语言, 也简称为 regex 或 regexp。在本文中, 我们将要展示如何利用 RegularExpressions 库的 MQL5 版本来处理交易报告, 以及使用它处理之后的优化结果。
整合基于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 交易中。
新MQL4中的离线图表
新MQL4中的离线图表

新MQL4中的离线图表

更新的MQL4具有存储历史数据的新格式,并提供相应的MqlRates结构,便于时间,开盘,最低,最高,收盘和交易量值的存储。多年来,交易者们已经开发出收集和存储他们在HST文件中的数据,用于生成离线图表的MQL4应用。我们可以向您保证,所有先前编译的EX4文件在新的MetaTrader 4程序端将以之前相同的方式工作。
包含图形用户界面 (GUI) 的 EA 交易: 增加功能 (第二部分)
包含图形用户界面 (GUI) 的 EA 交易: 增加功能 (第二部分)

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

这是展示开发用于人工交易的多交易品种信号 EA 文章的第二部分,我们已经创建了图形界面,现在是时候把它与程序功能相关联了。
跨平台智能交易系统: 停止位
跨平台智能交易系统: 停止位

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

本文讨论智能交易系统中停止价位的实现, 以便在两个平台 Metatrader 4 和 Metatrader 5 之间兼容。
探索新功能:MQL5 的自定义指标
探索新功能:MQL5 的自定义指标

探索新功能:MQL5 的自定义指标

在这里,我无法一一列举新终端和新编程语言的所有新的可能性和功能。这数不胜数,而且部分创新点也需要以单独的章节来进行详细探讨。同样,本章节也不会出现以面向对象编程语言写就的代码。这部分内容十分重要,不能简单地附于其他内容之后作为补充优点呈现给开发人员。在本文中,我们将会探讨指标,以及相比 MQL4 指标的结构、图形、类型和编程细节。希望无论是初学者还是经验丰富的开发人员均能从本文中获益,也许部分读者还会有自己新的发现。
MQL5 向导: 根据计算价位下单, 止损和止盈。标准库扩展
MQL5 向导: 根据计算价位下单, 止损和止盈。标准库扩展

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

本文描述 MQL5 标准库扩展, 可以使用 MQL5 向导接收来自包含模块的价格, 创建 EA, 下单, 止损和止盈。这种方法不会对模块的应用数量有任何额外的限制,亦不会在联合工作中导致冲突。
本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。
本文讨论如何在跨平台智能交易系统中设置自定义停止价位。它还讨论了一种紧密相关的方法, 即随着时间的推移, 定义停止位的演化。

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

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

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

这是"MQL4 语言入门"系列的第二篇文章。现在我们将探讨该语言更复杂、更高级的构造,学习新内容,并了解如何将它们应用到日常实践中。您将了解新循环类型"while",新条件类型"switch",运算符 "break"和"continue"。此外,我们将学习编写您自己的函数和使用多维数组。作为餐前甜点,我还准备了一份有关预处理器的说明。
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++ 基础的程序员。
以 delta 指标为例开发股票交易量控制指标
以 delta 指标为例开发股票交易量控制指标

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

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

创建自定义指标的特性

在MetaTrader交易系统中创建自定义指标有一些特性.
MQL5 Cookbook: 基于三重滤网策略开发交易系统框架
MQL5 Cookbook: 基于三重滤网策略开发交易系统框架

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

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

交易机器人的原型

本文是对创建算法的原则以及交易系统的元素的总结和系统化。本文讨论EA 交易算法的设计。我们将以CExpertAdvisor类作为示例进行探讨,该类可用于轻松快捷地开发交易系统。
通用EA:自定义策略和辅助交易类(第三章)
通用EA:自定义策略和辅助交易类(第三章)

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

在本文中,我们将继续分析CStrategy交易引擎的算法。这系列文章的第三篇包含如何使用这种方法开发特定的交易策略样例的详细分析。需特别关注辅助算法— 智能交易日志系统以及使用索引方式(Close[1],Open[0]等)访问数据。
开发基于振荡器的之字折线 (ZigZag) 指标。 执行需求规范的示例
开发基于振荡器的之字折线 (ZigZag) 指标。 执行需求规范的示例

开发基于振荡器的之字折线 (ZigZag) 指标。 执行需求规范的示例

本文根据《订购指标时如何准备需求规范》一文中描述的规范样本之一展示之字折线 (ZigZag) 指标的开发。 该指标利用振荡器所定义的极值来构建。 它能够采用五种振荡器之一: WPR,CCI,Chaikin,RSI 或 Stochastic 振荡器。