MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
如何创建任意复杂度的图形面板

如何创建任意复杂度的图形面板

本文详细介绍了如何在 CAppDialog 类的基础上创建面板,以及如何在面板上增加控件。它描述了面板的结构和框架,显示了对象的继承关系。从这篇文章中,您还可以学习到事件是怎样处理的以及它们是怎样在独立的控件之间传递的。另外还有实例演示了如何编辑面板参数,例如大小和背景颜色。
模糊逻辑介绍
模糊逻辑介绍

模糊逻辑介绍

模糊逻辑扩展了我们的数理逻辑和集合论的界限。本文揭示了模糊逻辑的基本原理, 同时描述使用马丹尼型和关野型的两种推理系统。提供的例程将描述如何使用 MQL5 版本的模糊库来实现这两种类型的系统。
preview
神经网络轻松制作

神经网络轻松制作

人工智能往往伴随着极其复杂和难以理解的事物。 同时,人工智能在日常生活中也越来越多地被提及。 不同的媒体也经常发布有关运用神经网络成就的新闻。 本文的目在于展示任何人都可以轻松创建神经网络,并在交易中运用 AI 成就。
动量弹球交易策略
动量弹球交易策略

动量弹球交易策略

在这篇文章中,我们会继续探讨根据 Linda B. Raschke 和 Laurence A. Connors 的 “华尔街智慧: 高胜算短线交易策略(Street Smarts: High Probability Short-Term Trading Strategies)”一书中描述的交易策略来书写代码,这一次我们将研究动量弹球系统(Momentum Pinball system): 我们会描述创建两个指标,交易机器人和一个其中的信号模块。
利用迪纳波利 (DiNapoli) 等级进行交易
利用迪纳波利 (DiNapoli) 等级进行交易

利用迪纳波利 (DiNapoli) 等级进行交易

本文研究使用 MQL5 标准工具依据迪纳波利 (DiNapoli) 等级进行实际交易的智能交易系统变种。对其性能进行了测试并得出结论。
在 EA 交易代码中实现指标的计算
在 EA 交易代码中实现指标的计算

在 EA 交易代码中实现指标的计算

把指标代码移动到 EA 交易中可能有多种原因,怎样评估这种方法的优缺点呢?本文描述了在 EA 交易中实现指标代码,还进行了几个实验来评估 EA 交易运行的速度。
通用智能交易系统:支持挂单和对冲(第五章)
通用智能交易系统:支持挂单和对冲(第五章)

通用智能交易系统:支持挂单和对冲(第五章)

本文是对CStrategy交易引擎的进一步描述。由于交易者的广泛需要,我们向交易引擎中添加了支持挂单的相关函数。同时,最新版的MetaTrader 5现在也支持了具有对冲选项的帐户。同样的功能也添加到了CStrategy中。本文给出了使用挂单进行交易和在账户中用CStrategy类进行对冲交易的详细算法描述。
用于 Renko 制图的指标
用于 Renko 制图的指标

用于 Renko 制图的指标

本篇举例描述一个用 MQL5 实现的 Renko 制图指标。这个指标的修改,将它从经典图表中区分开来。它在指标窗口或主窗口两者中都可以构建。此外,此处还有 ZigZag 指标。您可以找到一些图表实现的例子。
遗传算法 - 很简单!
遗传算法 - 很简单!

遗传算法 - 很简单!

在本文中,笔者将讨论利用亲自开发的遗传算法进行的进化计算。笔者将通过示例说明算法的功能,并为算法的使用提供实用性的建议。
在MQL5中的三维建模
在MQL5中的三维建模

在MQL5中的三维建模

时间序列是一种动态的系统,它会按时持续收到随机变量的值或者连续等差的数值,把市场分析从2D(二维)转换到3D(三维),给我们提供了对于这种复杂过程和研究对象的新的视野。本文描述了提供二维数据的三维表现形式的可视化方法,
图形界面 I:库结构(第一章)
图形界面 I:库结构(第一章)

图形界面 I:库结构(第一章)

本文是另外一系列图形界面开发相关文章的开端。当前,还没有能够在MQL应用中快速而便捷的创建高质量图形界面的独立代码库。我所说图形界面是指我们熟悉的操作系统中的图形界面。
强化学习中的随机决策森林
强化学习中的随机决策森林

强化学习中的随机决策森林

使用 bagging 的随机森林(Random Forest, RF) 是最强大的机器学习方法之一, 它略微弱于梯度 boosting,这篇文章尝试开发了一个自我学习的交易系统,它会根据与市场的交互经验来做出决策。
如何创建订购指标的需求规范
如何创建订购指标的需求规范

如何创建订购指标的需求规范

大多数情况下, 开发交易系统的第一步是创建技术指标, 以便识别有价值的市场行为形态。 专业开发的指标可以从自由职业服务板块订购。 从本文中, 您将学习如何创建一份适当的需求规范, 这将有助于您更快地获得所需的指标。
构建三线突破图表指标
构建三线突破图表指标

构建三线突破图表指标

本文专门研究由 Steve Nison 在其著作 "Beyond Candlesticks(超越蜡烛条)" 中建议的三线突破图表。这个图表的最大优点是它可以过滤相对以前行情的小幅价格波动。我们将要讨论图表的原理,指标代码,以及基于此交易策略的一些示例。
在 MetaTrader 5 中创建和测试自定义交易品种
在 MetaTrader 5 中创建和测试自定义交易品种

在 MetaTrader 5 中创建和测试自定义交易品种

创建自定义交易品种拓展了开发交易系统和金融市场分析的边界,现在,交易者可以在无限的金融资产工具上绘制图表和测试交易策略了。
MQL5 中艾略特波浪自动分析的实施
MQL5 中艾略特波浪自动分析的实施

MQL5 中艾略特波浪自动分析的实施

艾略特波浪理论是最流行的市场分析方法之一。然而,这个过程非常复杂,从而导致我们使用额外的工具。自动标记器是其中一种工具。本文描述用 MQL5 语言创建艾略特波浪的自动分析程序。
同步多个相同交易品种而时段不同的图表
同步多个相同交易品种而时段不同的图表

同步多个相同交易品种而时段不同的图表

当做交易决定时,我们经常必须在多个时段分析图表,同时,这些图表常常包含着图形对象,把相同的对象应用到所有图表中会不大方便,在本文中,我提出了一种自动克隆将要显示在图表中对象的方法。
带有图形用户界面的通用震荡指标
带有图形用户界面的通用震荡指标

带有图形用户界面的通用震荡指标

本文描述了创建基于终端中所有震荡指标的通用指标的过程,并且指标中还带有自身的图形界面。该图形界面(GUI)使用户可以简单快速地直接在图表窗口中修改每个震荡指标的设置(不需要打开它的属性), 以及比较它们的数值和为特定的任务选取最佳的选项。
轻松快捷开发 MetaTrader 程序的函数库(第一部分)。 概念,数据管理和首期成果
轻松快捷开发 MetaTrader 程序的函数库(第一部分)。 概念,数据管理和首期成果

轻松快捷开发 MetaTrader 程序的函数库(第一部分)。 概念,数据管理和首期成果

在分析海量交易策略,订购用于 MetaTrader 5 和 MetaTrader 4 终端以及各种 MetaTrader 网站的应用程序开发订单时,我得出了一个结论,就是所有这些貌似多样性,大多基于相同的基本函数,动作和数值有规律地出现在不同的程序当中。 在 DoEasy 跨平台函数库中的这一成效,可以轻松快捷地开发 МetaТrader 5 和 МetaТrader 4 应用程序。
图形界面 X: 多行文本框控件 (集成编译 8)
图形界面 X: 多行文本框控件 (集成编译 8)

图形界面 X: 多行文本框控件 (集成编译 8)

讨论多行文本框控件。不同于 OBJ_EDIT 类型的图形对象, 这一版本没有输入字符数量的限制。它还添加了将文本框转换为简单文本编辑器的模式, 其内可以使用鼠标或键盘移动光标。
市场上产品有效展示的小贴士
市场上产品有效展示的小贴士

市场上产品有效展示的小贴士

有效地向交易人出售程序,不仅需要编写一个高效有用的产品,然后还要在市场上发布。提供一份全面详尽的描述和高品质的插图至关重要。性能标识和正确的截图也与“真正的编码”同等重要。记住一个简单的公式:没有下载=没有销量。
通用EA交易: 访问交易品种的属性 (第8部分)
通用EA交易: 访问交易品种的属性 (第8部分)

通用EA交易: 访问交易品种的属性 (第8部分)

文章的第八部分包含了 CSymbol 类的描述, 它是一个特别的对象,可以访问任何交易资产。当在 EA 交易中使用时, 这个类提供了很多交易品种的属性,而简化了EA交易的编程,并扩展了它的功能。
点数图指标
点数图指标

点数图指标

可提供当前市场形势相关信息的图表类型多种多样。许多图表很久以前就出现了,比如点数图。本文要讲述的,就是采用实时指标的点数图的一个例子。
通用智能交易系统:交易策略的模式(第一章)
通用智能交易系统:交易策略的模式(第一章)

通用智能交易系统:交易策略的模式(第一章)

任何一个智能交易系统(EA)的开发人员,无论编程技能如何,每天都面临着同样的交易目标和算法问题的困扰,即应该如何建立一个可靠的交易系统。本文介绍CStrategy交易引擎,它可以给出这些任务的解决方案,并且向用户提供一种用于描述自定义交易思想的简便机制。
交易机器人在市场发布前必须经过的检验
交易机器人在市场发布前必须经过的检验

交易机器人在市场发布前必须经过的检验

任何产品在市场发布之前,它必须通过强制的预先检验,以确保符合统一的质量标准。本文介绍了开发者们在他们的技术指标和交易机器人中最常犯下的错误,并且也展示了在把产品发送到市场之前如何进行自我测试。
通用EA交易: CUnIndicator 和挂单的使用(第9部分)
通用EA交易: CUnIndicator 和挂单的使用(第9部分)

通用EA交易: CUnIndicator 和挂单的使用(第9部分)

本文讲述的是通过通用的 CUnIndicator 类来操作指标,另外,还探讨了操作挂单的新方法。请注意,从这一点开始,CStrategy 项目的结构开始发生本质改变,现在所有的文件都位于一个目录中以便用户方便使用。
包含图形用户界面 (GUI) 的 EA 交易: 创建面板 (第一部分)
包含图形用户界面 (GUI) 的 EA 交易: 创建面板 (第一部分)

包含图形用户界面 (GUI) 的 EA 交易: 创建面板 (第一部分)

尽管很多交易者还是倾向于人工交易,但是很难完全避免一些重复性操作的自动化。这篇文章展示了一个实例,为人工交易开发一个多交易品种信号的 EA 交易。
preview
OpenCL:从朴素到更具深度的编程

OpenCL:从朴素到更具深度的编程

本文要重点讲述的是一些优化能力,但至少要对 OpenCL 内核借以执行的基本硬件多少有些了解,才能启动这些能力。获取的数据远非最高值,但即便是这样,也建议充分利用现有资源(由该终端开发人员实施的 OpenCL API 不允许控制对于优化而言很重要的一些参数 - 尤其是工作组的大小),通过主机程序执行获得的增益是非常可观的。
价格速度测量方法
价格速度测量方法

价格速度测量方法

市场研究和分析有多种不同的方法,主要是技术分析和基础分析。在技术分析中,交易者收集、处理和分析与市场有关的数字数据和参数,包括价格、数量等。在基本面分析中,交易者分析直接或间接影响市场的事件和新闻。本文研究了价格-速度测量方法,并在此基础上研究了交易策略。
基于 .Net 框架和 C# 为 EA 交易和指标开发图形界面
基于 .Net 框架和 C# 为 EA 交易和指标开发图形界面

基于 .Net 框架和 C# 为 EA 交易和指标开发图形界面

本文介绍了一种使用 Visual Studio 创建图形窗口的简单而快速的方法,并随后将其集成到专家顾问的MQL代码中。本文面向非专业读者,不需要了解C#和.NET技术。
利用 MQL5 面向对象编程法编写"EA 交易"
利用 MQL5 面向对象编程法编写"EA 交易"

利用 MQL5 面向对象编程法编写"EA 交易"

本文将着重讲述的是面向对象法,将我们曾在"针对初学者以 MQL5 编写"EA 交易"的分步指南"文中谈到的内容落到实处-创建简单的"EA 交易"。 很多人都觉得难,但是,我向您保证,看完本文之后,您就能够编写自己的面向对象 "EA 交易"了。
跨平台智能交易系统: CExpertAdvisor 和 CExpertAdvisors 类
跨平台智能交易系统: CExpertAdvisor 和 CExpertAdvisors 类

跨平台智能交易系统: CExpertAdvisor 和 CExpertAdvisors 类

本文主要介绍 CExpertAdvisor 和 CExpertAdvisors 类, 它们是本系列文章中所述跨平台智能交易系统里用到的所有组件的容器。
同时双向工作的通用 RSI 指标
同时双向工作的通用 RSI 指标

同时双向工作的通用 RSI 指标

当开发交易算法时,我们经常遇到这样一个难题:如何确定趋势/盘整从哪里开始和结束?在本文中,我们尝试创建一个通用指标,在其中我们会尝试组合几种不同类型策略的信号。在 EA 交易中,我们将尝试尽可能简化取得交易信号的过程,并将给出一个把几个指标组合为一的实例。
MQL5 酷客宝典: 实现您自己的市场深度
MQL5 酷客宝典: 实现您自己的市场深度

MQL5 酷客宝典: 实现您自己的市场深度

本文展示了如何利用市场深度 (DOM) 编程, 并介绍了 CMarketBook 类的操作原理, 它可扩展 MQL5 标准库的类, 并提供使用 DOM 的便利方法。
在真实分时基础上测试交易策略
在真实分时基础上测试交易策略

在真实分时基础上测试交易策略

本文所提供的是一个简单策略以三种模式进行测试的结果: "1 分钟 OHLC", "每笔分时" 和使用实际历史数据的 "基于真实分时的每笔分时"。
利用MQL5创建您自己的图形面板
利用MQL5创建您自己的图形面板

利用MQL5创建您自己的图形面板

MQL5程序的可用性,是由其丰富的功能性和制作精细的图形用户界面所决定的。视觉感知有时比快速且稳定的运行更加重要。根据标准库类,您可以自行创建显示面板,以下即逐步操作指南。
自定义图形控件。第一部分:创建简单控件
自定义图形控件。第一部分:创建简单控件

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

本文介绍开发图形控件的一般原则。我们将准备若干用于快速和方便地处理图形对象的工具,分析一个创建用于输入文本或数字的简单控件的例子以及使用该控件的方法。
MQL5 酷客宝典 - 轴点交易信号
MQL5 酷客宝典 - 轴点交易信号

MQL5 酷客宝典 - 轴点交易信号

本文描述的是,根据轴点-反转水平而发送信号的类的开发和实现。这个类可以通过使用标准库来构建策略,还探讨了通过增加过滤器来加强轴点策略。
针对初学者的 MQL 5 中的自定义指标
针对初学者的 MQL 5 中的自定义指标

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

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

向指标或者EA中快速添加控制面板

你是不是觉得需要向你的指标或者EA中添加图形面板来提升配置参数的速度和便捷性?在本文中,你将学会如何一步一步在你的MQL4/MQL5程序中实现输入参数的交互面板。