MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
MQL5 快速上手

MQL5 快速上手

您已决定学习 MQL5 交易策略的编程语言,但却对其一无所知?我们尝试从新人的视角来看待 MQL5 和 MetaTrader 5 终端,并撰写了此篇简短的介绍性文章。本文中简要地讲述了该语言的多种可能性,还包含有关使用 MetaEditor 5 及此终端的一些小贴士。
自定义图形控件。第一部分:创建简单控件
自定义图形控件。第一部分:创建简单控件

自定义图形控件。第一部分:创建简单控件

本文介绍开发图形控件的一般原则。我们将准备若干用于快速和方便地处理图形对象的工具,分析一个创建用于输入文本或数字的简单控件的例子以及使用该控件的方法。
MQL5 Cookbook: 怎样在设置/修改交易参数时避免错误
MQL5 Cookbook: 怎样在设置/修改交易参数时避免错误

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

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

MQL5 Cookbook: 在MetaTrader 5策略测试器中分析仓位属性

我们将会展示一个来自前一篇文章,"MQL5 Cookbook: 自定义信息面板上的仓位属性"的修改版的EA交易。我们将会解决一些问题,包括从柱中获得数据,在当前交易品种中检查新柱事件,在文件中包含标准库中的交易类,创建一个函数来搜索交易信号,还有一个执行交易操作的函数以及在OnTrade()函数中判断交易事件。
MQL5 Cookbook: 自定义信息面板上的仓位属性
MQL5 Cookbook: 自定义信息面板上的仓位属性

MQL5 Cookbook: 自定义信息面板上的仓位属性

这一次我们创建一个简单的EA交易,它可以取得当前交易品种的仓位属性并且在人工交易的时候在自定义信息面板上显示它们。信息面板将使用图形对象创建,显示的信息在每当有订单时都会刷新,这将比系列文章的前一篇 - "MQL5 Cookbook: 获取仓位属性"中提到的每次必须人工运行脚本要方便得多。
MQL5 Cookbook: 获取仓位属性
MQL5 Cookbook: 获取仓位属性

MQL5 Cookbook: 获取仓位属性

在本文中,我们将创建一个脚本来获得所有的仓位属性,并用对话框向用户显示它们。通过运行这个脚本,您可以从外部参数下拉列表的两种模式中选择:只看当前交易品种的仓位属性,或者查看所有交易品种的属性。
MQL5 Cookbook: 使用不同的打印模式
MQL5 Cookbook: 使用不同的打印模式

MQL5 Cookbook: 使用不同的打印模式

这是 MQL5 Cookbook 系列的第一篇文章,我将会从简单的实例开始,让那些刚刚开始编程的人逐渐熟悉这门新语言。我还记得我开始设计和编写交易系统时的尝试,可以说是非常困难,事实上那是我所学的第一门编程语言,然而,后来还是比我想象的简单一些,我只用了几个月的时间就能够开发相对复杂的程序了。
在 MQL5 中使用 WinInet。第二部分:POST 请求和文件
在 MQL5 中使用 WinInet。第二部分:POST 请求和文件

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

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

交易机器人的原型

本文是对创建算法的原则以及交易系统的元素的总结和系统化。本文讨论EA 交易算法的设计。我们将以CExpertAdvisor类作为示例进行探讨,该类可用于轻松快捷地开发交易系统。
用 MQL5 语言编写的 20 种交易信号
用 MQL5 语言编写的 20 种交易信号

用 MQL5 语言编写的 20 种交易信号

本文将向您传授如何接收交易系统工作所必需的交易信号。在这里作为单独的自定义函数提供了构成 20 个交易信号的例子,这些函数可以在开发 EA 交易程序时使用。为了您的方便,在本文中使用的所有函数都包含在一个能够轻松连接到将来的 EA 交易程序的 mqh 包含文件中。
如何在另一指标的基础上编写一个指标
如何在另一指标的基础上编写一个指标

如何在另一指标的基础上编写一个指标

在 MQL5 中,您既可以从头编写一个指标,亦可根据客户端内置或自定义的另一现有指标来创建。而在这里,您也有两种方式 - 通过向其添加新的计算和图形风格来改善某个指标,或是通过 iCustom() 或 IndicatorCreate() 函数使用客户端内置或自定义的某个指标。
MQL5 中如何调用指标
MQL5 中如何调用指标

MQL5 中如何调用指标

推出新版本后,MQL 编程语言不仅提供处理那些已变更指标的方法,还提供如何创建指标的新途径。而且,您还具备了使用指标缓冲区的更多灵活性 - 现在,您可以指定目标索引方向,并可完全如您所愿地获取多个指标值。本文讲述的是调用指标的基本方法,以及通过指标缓冲区检索数据。
MQL5 中对象创建和析构的顺序
MQL5 中对象创建和析构的顺序

MQL5 中对象创建和析构的顺序

每个对象,无论是自定义对象、动态数组还是对象数组,都以其特定的方式在 MQL5 程序中创建和删除。某些对象往往是其他对象的一部分,在取消初始化时对象删除的顺序便尤为重要。本文提供了涵盖对象使用机制的一些示例。
使用标准库类和Google Chart API 创建信息板
使用标准库类和Google Chart API 创建信息板

使用标准库类和Google Chart API 创建信息板

MQL5 编程语言主要针对自动化交易系统的创建以及复杂的技术分析工具。除此之外,它还允许我们创建有趣的信息系统以跟踪市场情况,并实现了与交易者的回路连接。本文会讲述 MQL5标准库的各个组件,并向大家展示它们为达各自目的的实际应用示例。还会呈示一个使用 Google Chart API 创建图表的例子。
preview
如何很快地制作一个交易机器人

如何很快地制作一个交易机器人

于金融市场中交易存在许多风险,其中就包括最为严重的一种 - 做出错误交易决策的风险。每一位交易者都梦寐以求有一个交易机器人,它能始终保持良好状态,而且不会受制于人类的诸多弱点 - 恐惧、贪婪和没耐心。
利用 MetaTrader 5 测试仪实现策略可视化
利用 MetaTrader 5 测试仪实现策略可视化

利用 MetaTrader 5 测试仪实现策略可视化

我们都知道有一个“百闻不如一见”的说法。关于巴黎和威尼斯,有各种各样的书可供您阅读,但是根据想像,您永远都不会懂得夜间漫步于这些神话般城市的街头会有怎样的感受。可视化的诸多优势,可以很容易地投射到我们生活的方方面面,其中就包括市场活动。比如说:基于采用指标的图表的价格分析,当然还有策略测试的可视化。本文中包含对于MetaTrader 5策略测试仪所有可视化功能的描述。
MetaTrader 5 带来新机遇
MetaTrader 5 带来新机遇

MetaTrader 5 带来新机遇

MetaTrader 4 在全世界范围内的交易者群体中收获了广泛的青睐,看起来似乎已经功德圆满了。利用其高处理速度、稳定性、编写指标的宽泛数组可能性、EA 交易、信息通达的交易系统,以及从 100 多家不同经纪人中进行挑选的能力 - 此终端于同类产品中鹤立鸡群、独树一帜。然而时间永不停歇,我们猛然间发现已经面临着选择 MetaTrade 4 还是 MetaTrade 5 的问题。那么,以有利于我们当前的观点来看,第 5 代终端有着哪些主要的不同呢?我们会在本文中给您讲述。
MetaTrader 5 - 超乎您的想像!
MetaTrader 5 - 超乎您的想像!

MetaTrader 5 - 超乎您的想像!

MetaTrader 5 客户端已经从无到有地发展起来,而且,当然也已经远远地超越了其前任版本。这种新型的交易平台为所有金融市场中的交易提供了无限的机遇。而且,其功能仍在持续扩展,以实现更多有用的功能与便利。现在,想要全部列出 MetaTrader 5 的繁多优势是非常难的。我们曾尝试专设一篇文章简要描述,结果让我们大吃一惊 - 这篇文章可远远谈不上简要!
利用 MQL5 云网络加速计算
利用 MQL5 云网络加速计算

利用 MQL5 云网络加速计算

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

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

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

针对初学者的 MQL 5 中的自定义指标

对于初学者而言,任何新鲜事物似乎都是复杂难懂的。我们熟知的事物对我们而言则极为简单明了。但我们不要忘记,任何事物,包括我们的母语,我们都是从头学起的。MQL5编程语言也是如此,它为开发人员开发自己的交易策略提供了广泛的可能性 - 您可以从基本概念和最简单的例子入手开始您的学习。本文将探讨技术指标与 MetaTrader 5 客户端的交互,并以简单自定义指标 SMA 作为示例。
在 MQL5 中使用对象指针
在 MQL5 中使用对象指针

在 MQL5 中使用对象指针

默认情况下,MQL5 中的所有对象都通过引用传递,但还有使用对象指针的可能性。然而,由于对象可能没有初始化,我们必须执行指针检查。在这种情况下,MQL5程序可能会因为关键性错误而终止并卸载。自动创建的对象不会引起此类错误,因此就此意义而言它们十分安全。通过本文,我们将理解对象引用和对象指针之间的差异,并思考如何编写使用指针的安全代码。
MQL5 简介:如何编写简单的EA 交易和自定义指标
MQL5 简介:如何编写简单的EA 交易和自定义指标

MQL5 简介:如何编写简单的EA 交易和自定义指标

相比 MQL4,MetaTrader 5 客户端的 MetaQuotes 编程语言 5 (MQL5) 具有许多新的发展潜力和更高的性能。本文将帮助您熟悉这一新的编程语言。文中给出了编写EA 交易和自定义指标的简单示例。我们还会涉及到 MQL5 语言的一些细节,这些细节对于理解示例是必要的。
EA 交易中的限制和验证
EA 交易中的限制和验证

EA 交易中的限制和验证

是否可以在周一交易此交易品种?是否有足够的资金用于开仓?如果止损触发,损失有多大?如何限制挂单数量?交易操作在当前柱上执行还是在前一柱上执行?如果交易机器人无法执行此类验证,则任何交易策略可转为带来损失。本文说明在EA交易中有用的验证示例。
使用MetaTrader 5作为MetaTrader 4的信号提供者
使用MetaTrader 5作为MetaTrader 4的信号提供者

使用MetaTrader 5作为MetaTrader 4的信号提供者

分析并通过技术实例说明怎样在MetaTrader 5平台上做交易分析而在MetaTrader 4上做交易。本文将展示如何在您的MetaTrader 5上创建简单的信号提供者,并且把它连接到多个客户端,甚至包括运行MetaTrader 4的客户端。而且您也可以发现怎样在您的真实MetaTrader 4账户中跟随自动交易锦标赛的选手。
将指标应用至其他指标
将指标应用至其他指标

将指标应用至其他指标

在编写使用 OnCalculate() 函数调用的简短形式的指标时,您可能会忽略这样一个事实,即指标的计算不仅可以通过价格数据完成,还可以通过其他指标(无论是内置指标还是自定义指标)的数据实现。是否要改进指标以使其可以正确应用至其他指标的数据?在本文中,我们将回顾修改所需的所有步骤。
MQL5:创建自己的指标
MQL5:创建自己的指标

MQL5:创建自己的指标

什么是指标?指标是我们希望以便利方式在荧幕上显示的一组计算值。这一组值在程序中以数组表示。因此,创建指标意即编写用于处理数组(价格数组)的算法并将处理结果记录在其他数组(指标值)中。本文通过描述“真实强弱指数”(True Strength Index) 的创建说明了如何在 MQL5 中编写指标。
探索新功能:MQL5 的自定义指标
探索新功能:MQL5 的自定义指标

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

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

全新 MetaTrader 5 和 MQL5 来袭

这只是 MetaTrader 5 的一个简短介绍。我无法在如此短小的篇幅里给出系统所有新功能的描述 - 测试从 2009 年 9 月 9 日即已开始。这是一个具有象征意义的日子,我肯定这也会是一个幸运数字。就在几天之前,我拿到了 MetaTrader 5 终端和 MQL5 的试用版。我并没有试用所有的功能,即便如此,它们也给我留下了深刻的印象。
付款和付款方式
付款和付款方式

付款和付款方式

MQL5.community服务为交易者以及MetaTrader 程序端应用程序的开发人员提供更多机会。在本文中,我们描述了如何执行MQL5服务的付款,如何提取获得的收入,以及如何确保操作安全性。
MQL5.community - 用户手册
MQL5.community - 用户手册

MQL5.community - 用户手册

如果你已经在本社区成功注册,那么你很可能会问:怎样在我发送的消息中插入图片?怎样格式化MQL5源代码?我的私信保存在哪?诸如此类的很多问题。本文我们为您准备了一些实用技巧,帮助你熟悉MQL5.community,并充分利用其提供的功能。
智能交易的特性
智能交易的特性

智能交易的特性

在MetaTrader 4交易系统中创建并测试智能交易。
EA是什么及他的工作原理
EA是什么及他的工作原理

EA是什么及他的工作原理

本文对EA的概念及其工作原理做一个简要介绍,并结合一个实例说明EA程序的运行过程
在 MQL4.Community上轻松简单地公布影音图像
在 MQL4.Community上轻松简单地公布影音图像

在 MQL4.Community上轻松简单地公布影音图像

通常通过展示总是会比文字描述收益更多。我们在本文中提供一个简单的方法。通过使用CamStudio创建影音图像在上 MQL4.community 论坛公布。
巨大程序中定单的考虑
巨大程序中定单的考虑

巨大程序中定单的考虑

探讨在巨大程序和复杂程序定单考虑的基本原则。
交易之间的停顿
交易之间的停顿

交易之间的停顿

文章解决的问题:当一定数量的智能交易在MТ 4客户端运行时,如何很好的安排交易之间的停顿。 在终端和MQL 4程序中用户需要的基本技能。
智能交易示例
智能交易示例

智能交易示例

以 MQL4语言程序为原理展示一个以标准MACD 指标为基础简单的智能交易系统的创建。
MagicNumber: 定单的“魔法“识别符
MagicNumber: 定单的“魔法“识别符

MagicNumber: 定单的“魔法“识别符

文章提及在相同 МТ 4 客户端内几个智能交易相互冲突的问题并且处理。 “教会”智能交易只管理自己的定单并且不修改和平仓 (手动开仓).文章希望能够给初期使用MQL 4终端和 程序的交易者带来益处。
MetaTrader 4中的测试特性和限定
MetaTrader 4中的测试特性和限定

MetaTrader 4中的测试特性和限定

文章介绍在MetaTrader 4中更多策略测试的特性和限定。
错误146 ("交易作业忙") 和如何处理
错误146 ("交易作业忙") 和如何处理

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

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