MQL4和MQL5编程文章

icon

在众多发表的文章中研究 MQL5语言编程交易策略 的多数由您—我们 MQL5.community的会员所作。文章以类别分组来帮助您迅速找到任何有关MQL5编程问题的答案:集成,测试,交易策略等等。

Follow our 新发表讨论它们在 MQL5.community论坛

添加一个新的文章
最近 | 最佳
初学者快速入门或简明指南
初学者快速入门或简明指南

初学者快速入门或简明指南

亲爱的读者,您好!本文中,我们会试着为您解释并向您呈现可以如何轻松快速地掌握创建EA交易、使用指标等等原则的要领。本文面向初学者,所以不会包含任何难懂或晦涩的示例。
MQL5 中的交易操作 - 很简单
MQL5 中的交易操作 - 很简单

MQL5 中的交易操作 - 很简单

几乎所有的交易者都是为了赚钱而进入市场,但也有一些交易者却是享受交易过程的本身。然而,并不是只有手动交易才能给您兴奋的体验。自动化交易系统开发也可以让您欲罢不能。创建一个交易机器人,可以像读一本出色的悬疑小说一样有趣。
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 在您登录网站时进行身份验证。
preview
MetaTrader 5 中进行测试的原理

MetaTrader 5 中进行测试的原理

MetaTrader 5 中三种测试模式有何区别?应该特别注意什么?如何测试在几个工具上同时进行交易的 EA?在测试期间何时及如何计算指标值?如何处理事件?如何在测试期间以一种仅开盘价模式同步处理来自不同工具的指标柱?本文旨在回答这些问题以及很多其他问题。
使用WinInet.dll通过网络在终端间进行数据交互
使用WinInet.dll通过网络在终端间进行数据交互

使用WinInet.dll通过网络在终端间进行数据交互

本文描述了通过HTTP请求来操作网络,以及使用一个中间服务器进行终端间数据交互的方法。引入一个MqlNet类库,在MQL5环境中操作因特网上的资源。监视不同经纪商的报价,在终端内和其他交易者进行信息交流,在互联网上查找信息——这些是本文将介绍的一些例子。
在 MQL5 中寻找趋势的几种方法
在 MQL5 中寻找趋势的几种方法

在 MQL5 中寻找趋势的几种方法

任何一位交易人都有可能面临准确把握趋势的好机会。也许这就是每个人都想找到的万能圣杯。在本文中,我们将讨论几个判断趋势的方法。更准确地说,是如何通过 MQL5 方法,制定几个经典的趋势判断程序。
MetaTrader应用商店2013年第三季度业绩
MetaTrader应用商店2013年第三季度业绩

MetaTrader应用商店2013年第三季度业绩

又过了一个季度,我们已决定统计MetaTrader 应用商店的业绩 - MetaTrader平台最大的交易机器人和技术指标商店。 直至报告季度末期,有500多名开发者已经将他们的1200个产品放入MetaTrader 应用商店。
在 MQL5 中创建多色彩指标
在 MQL5 中创建多色彩指标

在 MQL5 中创建多色彩指标

我们会于本文中研究如何创建多色彩指标或是将现在指标转换为多色彩指标。MQL5 允许以便利的方式呈现信息。如今已不再需要查看大量带有指标的图表来执行 RSI 或 Stochastic 指标分析了,只是根据指标值为烛形图涂不同的颜色会简单许多。
如何创建自己的追踪止损
如何创建自己的追踪止损

如何创建自己的追踪止损

交易人员的基本原则 - 让利润增长,截停损失!本文讨论遵循该原则的其中的一个基本技巧 - 在增加持仓利润后移动保护性止损水平(止损水平),追踪止损水平。我们将给出用于在SAR和NRTR指标上追踪止损的类的分步创建过程。每个人都可以将该追踪止损插入他们的EA交易,或是在帐户中单独使用以控制持仓。
交易机器人的原型
交易机器人的原型

交易机器人的原型

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

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

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

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

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

针对初学者以 MQL5 编写“EA 交易”的分步指南

使用 MQL5 的“EA 交易”编程很简单,您可以轻松学会。我们在本分步指南中向您指出了基于开发的交易策略编写简单的“EA 交易”所需的基本步骤。“EA 交易”的结构、内置技术指标和交易函数的使用、调试模式的详细内容以及策略测试程序的使用将在本文中一一论及。
MQL5 中创建订单号指标
MQL5 中创建订单号指标

MQL5 中创建订单号指标

我们拟于本文中创建两个指标:标绘订单号价格图表的订单号指标,以及标绘带有指定订单号的烛形图的订单号烛形图指标。每个指标都会将新价格写入某文件,并在该指标重启后采用此保存数据(其它程序亦可使用这些数据)
MQL5 中如何调用指标
MQL5 中如何调用指标

MQL5 中如何调用指标

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

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

每个对象,无论是自定义对象、动态数组还是对象数组,都以其特定的方式在 MQL5 程序中创建和删除。某些对象往往是其他对象的一部分,在取消初始化时对象删除的顺序便尤为重要。本文提供了涵盖对象使用机制的一些示例。
如果您不是卖家或供应商,要如何从MetaTrader应用商店以及交易信号服务赚钱
如果您不是卖家或供应商,要如何从MetaTrader应用商店以及交易信号服务赚钱

如果您不是卖家或供应商,要如何从MetaTrader应用商店以及交易信号服务赚钱

今年夏天我们已经发布了一个新的伙伴计划来帮助MQL5.community成员推销他们的产品和信号。然而,它不仅有利于MetaTrader市 场卖家和付费交易信号供应商,还有利于普通用户。现在,您无需亲自编写市场应用或在MQL5.com出售您信号的订阅赚钱。您只是简单地帮忙推销这些产 品,获得您的利润份额。
EA 交易中的资金管理函数
EA 交易中的资金管理函数

EA 交易中的资金管理函数

交易策略的开发主要着重于搜索进入和退出市场的模式以及维持仓位。如果我们能够将某些模式公式化为自动交易规则,则交易者面临计算持仓量、预付款数额等问题,以及在自动模式中维持抵押资金的安全水平以保证未平仓位的问题。在本文中,我们将使用 MQL5 语言构建几个进行这些计算的简单例子。
使用标准库类和Google Chart API 创建信息板
使用标准库类和Google Chart API 创建信息板

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

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

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

于金融市场中交易存在许多风险,其中就包括最为严重的一种 - 做出错误交易决策的风险。每一位交易者都梦寐以求有一个交易机器人,它能始终保持良好状态,而且不会受制于人类的诸多弱点 - 恐惧、贪婪和没耐心。
采用跟踪止损的赚钱算法
采用跟踪止损的赚钱算法

采用跟踪止损的赚钱算法

本文旨在研究带有不同的交易进入和采用跟踪止损的退出的算法盈利能力。待用的条目类型为随机进场与反向进场交易。止损订单用于跟踪止损与跟踪止盈。本文讲述的是年盈利能力约达30%的赚钱算法。
利用 MetaTrader 5 测试仪实现策略可视化
利用 MetaTrader 5 测试仪实现策略可视化

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

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

以MQL5 编写的EA 交易程序的测试与优化指南

本文解释识别和解决代码错误的步进式过程以及EA交易程序输入参数的测试与优化的步骤。您将了解如何使用 MetaTrader 5 客户端的策略测试程序为您的 EA 交易程序寻找最佳交易品种和一组输入参数。
preview
MetaTrader 5 中的交易事件

MetaTrader 5 中的交易事件

监视交易帐户的当前状态意味着控制未平持仓和订单。在一个交易信号变为成交之前,它应作为一个请求从客户端发送到交易服务器,在服务器中,它将被放入等待处理的订单队列中。交易服务器收到请求时,依据情况将其作为过期请求删除,或进行成交 - 所有这些操作之后都会导致交易事件的发生;并且交易服务器会向客户端通知这些事件。
preview
MetaTrader 5 中的订单、持仓和成交

MetaTrader 5 中的订单、持仓和成交

不理解 MetaTrader 5 交易系统的机制,就不能创建一个强大的交易机器人。客户端从交易服务器接收有关持仓、订单和成交的信息。要使用 MQL5 正确处理这些数据,必须充分理解 MQL5程序和客户端之间的相互作用。
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程序可能会因为关键性错误而终止并卸载。自动创建的对象不会引起此类错误,因此就此意义而言它们十分安全。通过本文,我们将理解对象引用和对象指针之间的差异,并思考如何编写使用指针的安全代码。
自适应交易系统以及它们在 MetaTrader 5 客户端中的运用
自适应交易系统以及它们在 MetaTrader 5 客户端中的运用

自适应交易系统以及它们在 MetaTrader 5 客户端中的运用

本文推荐一种由很多策略组成的自适应系统,每种策略执行其自己的虚拟交易操作。实际交易依据当时最赚钱策略的信号进行。归功于使用面向对象的方法、标准库中用于处理数据的类和交易类,系统的架构看起来很简单并且可扩展;现在,您可以轻松地创建和分析包含数以百计的交易策略的自适应系统。
基于 Bill Williams 所著"证券交易新空间"的 EA 交易程序
基于 Bill Williams 所著"证券交易新空间"的 EA 交易程序

基于 Bill Williams 所著"证券交易新空间"的 EA 交易程序

在本文中,我将依据 Bill Williams 所著的《证券交易新空间:如何从股票、债券和商品交易中的混沌获利》一书讨论 EA 交易程序的开发。该策略本身已经广为人知,并且其使用在交易者之间仍然备受争议。本文考虑系统的交易信号、其实施的细节以及有关历史数据的测试结果。