MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
用于在通道中进行交易的 Expert Advisor
用于在通道中进行交易的 Expert Advisor

用于在通道中进行交易的 Expert Advisor

Expert Advisor 绘制通道线。 上下通道线作为支撑位和阻力位。 Expert Advisor 标记基准点,并在价格达到或穿过通道线时提供声音通知,并绘制相关标记。 分形形成时,对应的箭头将显示在最后一个条柱上。 突破通道线意味着可能会形成上涨趋势。 Expert Advisor 自始至终都有大量的注释。
图形界面 II: 菜单项元件 (第一章)
图形界面 II: 菜单项元件 (第一章)

图形界面 II: 菜单项元件 (第一章)

在本系列文章的第二部分中, 我们将向您展示界面元件开发的详细过程, 例如主菜单和上下文菜单. 我们还会提到元件的绘制以及为此开发一个特别的类. 我们还将深度讨论程序事件管理, 包括自定义事件的问题.
MetaTrader 4 中的事件
MetaTrader 4 中的事件

MetaTrader 4 中的事件

本文介绍的是使用编程方法追踪MetaTrader 4客户终端中的事件, 它的目标读者是对终端的操作和MQL4编程具有基本知识和技能的人员.
MQL5酷客宝典 - 滑动通道编程
MQL5酷客宝典 - 滑动通道编程

MQL5酷客宝典 - 滑动通道编程

本文提出了一种用于等距通道系统的编程方法,在此将会探讨构建这种通道的细节,并且提供了通道的分类,提出了一个统一的滑动通道方法。在代码的实现中使用了面向对象的编程(OOP)。
图形界面 IV: 多窗口模式与优先级系统 (第二章)
图形界面 IV: 多窗口模式与优先级系统 (第二章)

图形界面 IV: 多窗口模式与优先级系统 (第二章)

在本章中,我们将扩展库的实现,为MQL应用程序创建多窗口界面。我们还将开发一个优先级系统,用于管理鼠标左键对图形对象的点击,它是用于避免元件对用户操作没有回应的问题的。
preview
发布算法交易文章,赚取200美元!

发布算法交易文章,赚取200美元!

撰写一篇文章,为算法交易的发展做出贡献。分享您在交易和编程方面的经验,我们将支付您200美元。此外,在受欢迎的MQL5.com网站上发表文章,为您在专业社区中推广个人标签提供绝佳的机会。成千上万的交易者将会阅读您的文章。您可以与志同道合的伙伴讨论您的想法,获得新的经验,并将您的知识货币化。
如何使用 EA 遵照您的规则拷贝信号?
如何使用 EA 遵照您的规则拷贝信号?

如何使用 EA 遵照您的规则拷贝信号?

当您订阅了一个信号, 也许会发生这样的情形: 您的交易账户杠杆为 1:100, 而提供者的杠杆为 1:500, 且使用最小手数, 而您的账户余额大约相等 — 但拷贝比率只有 10% 到 15%。本文介绍在这种情况下如何增加拷贝比率。
MQL5 秘籍之:OCO订单
MQL5 秘籍之:OCO订单

MQL5 秘籍之:OCO订单

任何交易者的交易活动都会包含各种交易机制和内在联系,包括订单之间的关系。本文提出一种处理OCO订单的解决方案。将广泛采用标准类库来实现,同时也会新建一些数据类型。
将指标应用至其他指标
将指标应用至其他指标

将指标应用至其他指标

在编写使用 OnCalculate() 函数调用的简短形式的指标时,您可能会忽略这样一个事实,即指标的计算不仅可以通过价格数据完成,还可以通过其他指标(无论是内置指标还是自定义指标)的数据实现。是否要改进指标以使其可以正确应用至其他指标的数据?在本文中,我们将回顾修改所需的所有步骤。
preview
神经网络变得轻松(第二部分):网络训练和测试

神经网络变得轻松(第二部分):网络训练和测试

在第二篇文章中,我们将继续研究神经网络,并研究在智能交易系统当中调用我们所创建 CNet 类的示例。 我们将操控两个神经网络模型,它们在训练时间和预测准确性方面都表现出相似的结果。
轻松快捷开发 MetaTrader 程序的函数库(第二部分)。 历史订单和成交的集合
轻松快捷开发 MetaTrader 程序的函数库(第二部分)。 历史订单和成交的集合

轻松快捷开发 MetaTrader 程序的函数库(第二部分)。 历史订单和成交的集合

在第一部分中,我们已着手创建一个大型跨平台函数库,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 我们创建了 COrder 抽象对象,它是一个基础对象,用于存储历史订单和成交的数据,以及市价订单和仓位。 现在,我们将开发在集合中存储帐户历史数据的所有必要对象。
在单一工具上使用不同的 EA 交易进行交易时 ORDER_MAGIC 的使用
在单一工具上使用不同的 EA 交易进行交易时 ORDER_MAGIC 的使用

在单一工具上使用不同的 EA 交易进行交易时 ORDER_MAGIC 的使用

本文考虑有关使用不同 EA 交易的自动交易的魔法标识以及分隔、组合与同步进行信息编码的问题。初学者和经验更多的交易者会对本文感兴趣,因为它解决虚拟仓位的问题,这在实施由 EA 交易的同步和各种策略组成的复杂系统时非常有用。
图形界面 VI: 滑动条与双重滑动条控件(第二章)
图形界面 VI: 滑动条与双重滑动条控件(第二章)

图形界面 VI: 滑动条与双重滑动条控件(第二章)

在前一篇文章中,我们已经使用四个常用图形界面控件加强我们的开发库:复选框,编辑框,带有复选框的编辑框,以及复选组合框。第六部分的第二章将致力于滑动条与双重滑动条控件的开发。
MQL5 酷宝书 - 移动通道交易信号
MQL5 酷宝书 - 移动通道交易信号

MQL5 酷宝书 - 移动通道交易信号

本文描述的过程, 是开发和实现基于移动通道发送信号的类。每个信号版本均随带交易策略和测试结果。标准库的类用于创建派生类。
轻松快捷开发 MetaTrader 程序的函数库 (第 三十二部分) :延后交易请求 - 在特定条件下挂单
轻松快捷开发 MetaTrader 程序的函数库 (第 三十二部分) :延后交易请求 - 在特定条件下挂单

轻松快捷开发 MetaTrader 程序的函数库 (第 三十二部分) :延后交易请求 - 在特定条件下挂单

我们继续功能开发,允许用户利用延后请求进行交易。 在本文中,我们将实现在特定条件下挂单的功能。
图形界面 IX: 进度条和线形图表控件 (第二章)
图形界面 IX: 进度条和线形图表控件 (第二章)

图形界面 IX: 进度条和线形图表控件 (第二章)

第九部份的第二章致力于开发进度条和线形图表控件。与以往一样,会提供详细的实例展示如何在自定义的MQL应用程序中使用这些控件。
MQL5 细则手册:指标子窗口控件 - 按钮
MQL5 细则手册:指标子窗口控件 - 按钮

MQL5 细则手册:指标子窗口控件 - 按钮

本文中,我们将探讨开发具备按钮控件的用户界面的示例。为向用户传递互动性理念,当光标悬停于按钮时,按钮颜色会发生改变。光标位于按钮之上时,按钮颜色将稍微变暗,点击时,按钮颜色则会变得明显更暗。此外,我们将为每一按钮添加工具提示,从而创建直观界面。
通过动态链接库(DLL)管理 MetaTrader 终端
通过动态链接库(DLL)管理 MetaTrader 终端

通过动态链接库(DLL)管理 MetaTrader 终端

这篇文章讲述了通过动态链接库(DLL)来管理MetaTrader的用户界面元件, 它使用的实例是对推送通知的传输设置做出修改. 库的代码以及例子脚本在文章的附件中.
图形界面 I: 图形界面的动画 (第三章)
图形界面 I: 图形界面的动画 (第三章)

图形界面 I: 图形界面的动画 (第三章)

在前面的文章中, 我们开始开发了一个容纳控件的表单类. 在本文中, 我们将继续丰富此表单类的内容, 增加在图表区域内移动表单的方法. 接着我们会把这个界面组件与核心库整合. 而且我们会实现这样的功能, 在鼠标光标移动到表单之上时, 表单控件会改变它的颜色.
自定义交易历史表述并创建报告图表
自定义交易历史表述并创建报告图表

自定义交易历史表述并创建报告图表

本文研讨自定义交易历史的评估方法。 并为下载和分析历史记录编写了两个类。 第一个收集交易历史并将其表述为汇总表格。 第二个是处理统计数据: 它计算众多变量并构建图表,以便更有效地评估交易结果。
MQL 作为 MQL 程序图形界面的标记工具。 第一部分
MQL 作为 MQL 程序图形界面的标记工具。 第一部分

MQL 作为 MQL 程序图形界面的标记工具。 第一部分

这篇论文提出了一种新的概念,即利用 MQL 结构来描述 MQL 程序的窗口界面。 特殊类将可观察的 MQL 标记转换为 GUI 元素,并允许对其进行管理,为其设置属性,并以统一的方式处理事件。 它还提供了一些运用标准库的对话框和元素标记的示例。
摆脱自制的 DLL
摆脱自制的 DLL

摆脱自制的 DLL

如果 MQL5 语言的功能性不足以完成任务,MQL5 程序员不得不诉诸于其他工具。他们必须转向其他编程语言并创建中间 DLL。MQL5 可提供各种数据类型并将它们传递至 API,但遗憾的是,MQL5 无法解决从收到的指针提取数据的相关问题。在本文中,我们将循规蹈矩,说明交换和使用复杂数据类型的简单机制。
preview
固化价格动作止损或固化 RSI(智能止损)

固化价格动作止损或固化 RSI(智能止损)

在交易中,止损是资金管理采用的主要工具。 有效利用止损、获利回吐和成交量可以使交易者在交易中更加一致,总体上更加有利可图。 尽管止损是一个极好的工具,但在运用中也会遇到一些挑战。 最主要的是止损猎杀(stop-loss hunt)。 本文展望如何降低交易中的猎杀,并与经典的止损用例进行比较,从而判定其盈利能力。
使用面向对象的方法来编写EA的模式
使用面向对象的方法来编写EA的模式

使用面向对象的方法来编写EA的模式

本文介绍一种使用MQL5语言来编写多模式自动交易程序的方法。每一种模式都使用面向对象的方法来实现。不仅给出不同模式下类的层次结构,还给出用于测试的类的实例。多模式自动交易程序以MQL5语言实现,它应该考虑EA的每一种执行模式。创建用于确定EA模式的函数和枚举值。
图形界面 XI: 集成标准图形库 (统合构建 16)
图形界面 XI: 集成标准图形库 (统合构建 16)

图形界面 XI: 集成标准图形库 (统合构建 16)

能够创建科学图表 (CGraphic 类) 的新版本图形库已于最近发布。创建图形界面的开发中函数库在本次更新中将引入创建图表的新版本控件。不同类型数据的可视化现在更加容易了。
preview
如何掌握机器学习

如何掌握机器学习

查看这些有用的资料选集,它们可以辅助交易者提高他们的算法交易知识。 简约算法时代正在成为过去,如果不运用机器学习技术和神经网络,成功变得越来越困难。
使用MetaTrader 5作为MetaTrader 4的信号提供者
使用MetaTrader 5作为MetaTrader 4的信号提供者

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

分析并通过技术实例说明怎样在MetaTrader 5平台上做交易分析而在MetaTrader 4上做交易。本文将展示如何在您的MetaTrader 5上创建简单的信号提供者,并且把它连接到多个客户端,甚至包括运行MetaTrader 4的客户端。而且您也可以发现怎样在您的真实MetaTrader 4账户中跟随自动交易锦标赛的选手。
轻松快捷开发 MetaTrader 程序的函数库 (第二十部分):创建和存储程序资源
轻松快捷开发 MetaTrader 程序的函数库 (第二十部分):创建和存储程序资源

轻松快捷开发 MetaTrader 程序的函数库 (第二十部分):创建和存储程序资源

本文讨论如何将数据存储在程序的源代码之中,并从中创建音频和图形文件。 在开发应用程序时,我们经常需要音频和图像。 MQL 语言拥有运用此类数据的若干种方法。
交易员之活学活用: "平静" 优化或绘制交易分布
交易员之活学活用: "平静" 优化或绘制交易分布

交易员之活学活用: "平静" 优化或绘制交易分布

分析交易历史, 并依据仓位的入场时间以 HTML 形式绘制交易结果的分布图表。图表显示三个部分 - 按小时, 按周内天数和按月份。
图形界面 X: 简单快速开发库的更新 (版本 2)
图形界面 X: 简单快速开发库的更新 (版本 2)

图形界面 X: 简单快速开发库的更新 (版本 2)

自从之前的系列文章发布以后,简单快速开发库(Easy And Fast library)又增加了一些新的功能。库的结构和代码经过部分优化后部分减少了CPU的负载,很多控件类中的一些重复方法被转移到 CElement 基类中。
使用 EA 交易可视向导创建 EA 交易
使用 EA 交易可视向导创建 EA 交易

使用 EA 交易可视向导创建 EA 交易

MetaTrader 5的EA交易可视向导提供一种高度直观的图形环境,带有一整套允许您在数分钟内完成EA交易设计的预定义交易代码块。EA交易可视向导的单击拖拽法允许您像使用铅笔和纸张一样,创建外汇交易策略与信号的可视化呈现。这些交易图表均通过Molanis的MQL5代码生成器自动进行分析,并将其转换为即用型EA交易。而互动式图形环境则会简化设计过程,且无需编写MQL5代码。
例解 MQL5 中的面向对象编程:处理警告和错误代码
例解 MQL5 中的面向对象编程:处理警告和错误代码

例解 MQL5 中的面向对象编程:处理警告和错误代码

本文以一个例子说明创建一个类用于处理 MQL 程序运行期间交易服务器返回的代码以及所有错误的类。阅读本文之后,您将学习到如何在 MQL5 中处理类和对象。同时,这是一个方便的错误处理工具;并且您可以依据您的具体需要进一步更改此工具。
改进面板:增加透明化、改变背景色以及继承于 CAppDialog/CWndClient
改进面板:增加透明化、改变背景色以及继承于 CAppDialog/CWndClient

改进面板:增加透明化、改变背景色以及继承于 CAppDialog/CWndClient

在这篇文章中,我们继续研究 CAppDialog 的使用。现在我们将会学习如何设置对话框的背景、边框和抬头的颜色。另外,这篇文章还提供了有关在图表中拖曳应用程序窗口时,如何增加透明化它的分步描述。我们还将探讨,怎样创建 CAppDialog 或者 CWndClient 的子类来分析如何操作控件的新特点。最后,我们将从新的角度回顾新项目。
面向对象编程基础
面向对象编程基础

面向对象编程基础

您无需了解什么是多态性、什么是封装性,以及使用面向对象编程(OOP)相关的一切内容……您可能只需要使用这些功能就好了。本文中涵盖了 OOP 的基础知识,且带有亲身实践示例。
走势延续模型 - 搜索图表和执行统计
走势延续模型 - 搜索图表和执行统计

走势延续模型 - 搜索图表和执行统计

本文提供了一种走势延续模型的程序化定义。 主要思路是定义两个波浪 — 主浪和修正浪。 对于极值点,我应用分形以及“潜在”分形 - 尚未形成分形的极值点。
市场数学:盈利、亏损、和成本
市场数学:盈利、亏损、和成本

市场数学:盈利、亏损、和成本

在本文中,我将向您展示如何计算任何交易的总盈利或亏损,包括佣金和掉期利息。 我会提供最精准的数学模型,并依据它来编写代码,之后将其与标准进行比较。 此外,我还将尝试进入主要 MQL5 函数的内部来计算利润,并从规则中获取所有必要值的根底。
在 MetaTrader 5 中实施多货币模式
在 MetaTrader 5 中实施多货币模式

在 MetaTrader 5 中实施多货币模式

长期以来,人们对多货币分析和多货币交易存在极大的兴趣。随着 MetaTrader 5 和 MQL5 编程语言的公开发行,实施完备的多货币体系成为可能。在本文中,针对多个交易品种,我们提出一种方法来分析和处理所有到来的价格变动。让我们将 USDx 美元指数的多货币 RSI 指标作为示例。
preview
您能用移动平均线做什么呢

您能用移动平均线做什么呢

本文研究了若干种移动平均指标的应用方法。 每种方法涉及到的曲线分析,都配有思想实现的可视化指标。 在大多数情况下,这里展示的所有思路均属于它们尊敬的作者。 我唯一的任务就是把它们归纳起来,令您看到其主要作用,并希望做出更合理的交易决策。 MQL5 熟练程度 — 基本。
图形界面 IX: 颜色选择器控件 (第一章)
图形界面 IX: 颜色选择器控件 (第一章)

图形界面 IX: 颜色选择器控件 (第一章)

从本文开始,我们来到了致力于在 MetaTrader 交易终端中创建图形界面系列文章的第九部份。它有两章,包含了新的控件和接口,例如颜色选择器,颜色按钮,进度条和线性图表等。
MQL5 傻瓜式向导
MQL5 傻瓜式向导

MQL5 傻瓜式向导

在 2011 年年初,我们发布了 MQL5 向导的第一个版本。这一新的应用程序为自动生成交易机器人提供了简单方便的工具。任何 MetaTrader 5 用户都能创建自定义的EA 交易,他们甚至无需知道如何以 MQL5 编程。