MQL5 编程示例的文章

icon

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

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

添加一个新的文章
最近 | 最佳
图形界面 VII: 表格控件 (第一章)
图形界面 VII: 表格控件 (第一章)

图形界面 VII: 表格控件 (第一章)

MetaTrader 图形界面系列的第七部分处理的是三种表格类型:文本标签型,编辑框型,以及绘制型。另一种重要并且常用的控件是页面,它使您可以显示/隐藏成组的其他控件并且在您的MQL应用程序中开发有效利用空间的界面。
在MQL中操作套接字,或者如何成为信号提供者
在MQL中操作套接字,或者如何成为信号提供者

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

套接字(Sockets)… 如果没有它们,我们的IT世界还可能存在吗?时光倒转回1982年,再到现在,它们每分每秒都与我们同在,这是网络的基础,是我们所居住的 Matrix 世界的神经末梢。
交易机器人在市场发布前必须经过的检验
交易机器人在市场发布前必须经过的检验

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

任何产品在市场发布之前,它必须通过强制的预先检验,以确保符合统一的质量标准。本文介绍了开发者们在他们的技术指标和交易机器人中最常犯下的错误,并且也展示了在把产品发送到市场之前如何进行自我测试。
以横盘和趋势行情为例强化策略测试器的指标优化
以横盘和趋势行情为例强化策略测试器的指标优化

以横盘和趋势行情为例强化策略测试器的指标优化

检测行情是否处于横盘对于许多策略来说是至关必要的。我们使用高知名度的 ADX 来展示如何利用策略测试器, 不但可以根据我们的特殊目的来优化指标, 而且我们也能判断指标是否符合我们的需要, 得到横盘和趋势行情的均值, 这对于判断行情的止损和目标是十分重要的。
交易者的 LifeHack: 测试中的余额,回撤,负载和订单指标
交易者的 LifeHack: 测试中的余额,回撤,负载和订单指标

交易者的 LifeHack: 测试中的余额,回撤,负载和订单指标

如何使测试过程有更好的可视化呢?答案很简单:您需要在策略测试器中使用一个或者多个指标,包含一个订单指标,一个余额和净值指标,一个回撤和存款负载指标。这种方案将有助您可视化地跟踪订单的实况,余额和净值的改变,以及回撤和存款负载。
交易员的正则表达式
交易员的正则表达式

交易员的正则表达式

正则表达式 (regular expression) 是通过应用特定的规则来处理文本的一种特殊语言, 也简称为 regex 或 regexp。在本文中, 我们将要展示如何利用 RegularExpressions 库的 MQL5 版本来处理交易报告, 以及使用它处理之后的优化结果。
在真实分时基础上测试交易策略
在真实分时基础上测试交易策略

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

本文所提供的是一个简单策略以三种模式进行测试的结果: "1 分钟 OHLC", "每笔分时" 和使用实际历史数据的 "基于真实分时的每笔分时"。
通用EA交易:与MetaTrader的标准信号模块集成 (第7部分)
通用EA交易:与MetaTrader的标准信号模块集成 (第7部分)

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

这部分文章描述了使用CStrategy引擎与MetaTrader中标准库的信号模块做集成。本文描述了如何操作信号,以及如何基于它们创建自定义的策略。
创建一个人工交易助手
创建一个人工交易助手

创建一个人工交易助手

近来,货币市场上的交易机器人已经大幅增加,它们执行着各种各样的策略和概念,然而,它们还都没有能够成功创造人工智能双赢、多赢的实例,所以,很多交易者还是进行人工交易。但是,即使对于这样的专家,还是可以为他们创建被称为机器人助手的交易面板。本文就是从头开始创建交易面板的一个实例。
为莫斯科交易所开发一个交易机器人从哪里开始呢?
为莫斯科交易所开发一个交易机器人从哪里开始呢?

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

很多莫斯科交易所的交易者想把他们的交易算法自动化,但是他们不知道从何做起,MQL5语言提供了很大范围的交易功能,它还额外提供了方便使用的类,以使用户在算法交易中方便地起步。
通用智能交易系统:自定义追踪止损(第六章)
通用智能交易系统:自定义追踪止损(第六章)

通用智能交易系统:自定义追踪止损(第六章)

通用智能交易系统的第六章介绍追踪止损功能的用法。本文将指导你如何使用通用规则创建一个自己的追踪止损模型,以及如何将其添加到交易引擎中来实现自动管理持仓头寸的功能。
图形界面 VI: 滑动条与双重滑动条控件(第二章)
图形界面 VI: 滑动条与双重滑动条控件(第二章)

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

在前一篇文章中,我们已经使用四个常用图形界面控件加强我们的开发库:复选框,编辑框,带有复选框的编辑框,以及复选组合框。第六部分的第二章将致力于滑动条与双重滑动条控件的开发。
图形界面 VI: 复选框控件,编辑框控件以及它们的组合类型 (第一章)
图形界面 VI: 复选框控件,编辑框控件以及它们的组合类型 (第一章)

图形界面 VI: 复选框控件,编辑框控件以及它们的组合类型 (第一章)

本文是在MetaTrader终端图形界面开发库系列中第六部分的开端,在第一章中,我们将讨论复选框控件,编辑框控件以及它们的组合类型。
图形界面 V: 组合框控件 (第三章)
图形界面 V: 组合框控件 (第三章)

图形界面 V: 组合框控件 (第三章)

在本系列第五部分的前两章中,我们开发了用于创建滚动条和列表视图的类,在本章中,我们将讨论创建组合框(combobox)控件的类,这也是一个组合控件,包含了第五部分前面章节中讨论的一些元件。
通用智能交易系统:支持挂单和对冲(第五章)
通用智能交易系统:支持挂单和对冲(第五章)

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

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

如何为 MetaTrader 市场创建一款非标准图表的指标

通过离线图表, 以 MQL4 编程, 以及合理的意愿, 您可以得到各种图表类型: "点线图", "Renko", "Kagi", "范围柱线", 等量图表, 等等。在本文中, 我们将展示如何在不使用 DLL 的情况下来实现它, 而且这种 "二并一" 的指标可以发布, 并从市场上购买。
图形界面 V: 列表视图元件 (第二章)
图形界面 V: 列表视图元件 (第二章)

图形界面 V: 列表视图元件 (第二章)

在前一章中,我们开发了用于创建垂直和水平滚动条的类。在本章中,我们将应用它们,我们将开发一个用于创建列表视图元件的类,它的一个组成部分将是一个垂直滚动条。
图形界面 V: 垂直与水平滚动条 (第一章)
图形界面 V: 垂直与水平滚动条 (第一章)

图形界面 V: 垂直与水平滚动条 (第一章)

我们仍然在讨论在MetaTrader环境下开发创建图形界面库的开发,在本系列第五部分的第一篇文章中,我们将开发用于创建垂直与水平滚动条的类。
自组织特征映射 (Kohonen 映射) - 再访主题
自组织特征映射 (Kohonen 映射) - 再访主题

自组织特征映射 (Kohonen 映射) - 再访主题

本文描述利用 Kohonen 映射进行操作的技术。本主题对那些在他们的项目中运用 Kohonen 映射进行市场研究时遇到困难的 MQL4/MQL5 初级程序员和经验丰富的程序员都有益处。
通用智能交易系统:组合交易及管理策略组合(第四章)
通用智能交易系统:组合交易及管理策略组合(第四章)

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

在最后一篇关于CStrategy交易引擎的系列文章中,我们将考虑多个交易算法同时运行,学习如何从XML文件加载策略,并将给出一个简单的面板,用于从可执行模块中选择EA,并管理它们的交易模式。
通用EA:自定义策略和辅助交易类(第三章)
通用EA:自定义策略和辅助交易类(第三章)

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

在本文中,我们将继续分析CStrategy交易引擎的算法。这系列文章的第三篇包含如何使用这种方法开发特定的交易策略样例的详细分析。需特别关注辅助算法— 智能交易日志系统以及使用索引方式(Close[1],Open[0]等)访问数据。
在交易中以 MQL4 手段运用模糊逻辑
在交易中以 MQL4 手段运用模糊逻辑

在交易中以 MQL4 手段运用模糊逻辑

本文举例说明在交易中以 MQL4 手段运用模糊逻辑。以及描述如何使用 MQL4 版本的 FuzzyNet 函数库开发指标和智能交易系统。
MQL5酷客宝典 - 滑动通道编程
MQL5酷客宝典 - 滑动通道编程

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

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

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

在本章中,我们将扩展库的实现,为MQL应用程序创建多窗口界面。我们还将开发一个优先级系统,用于管理鼠标左键对图形对象的点击,它是用于避免元件对用户操作没有回应的问题的。
图形界面 IV: 信息界面元件 (第一章)
图形界面 IV: 信息界面元件 (第一章)

图形界面 IV: 信息界面元件 (第一章)

在当前开发阶段,用于创建图形界面的库包含了表单以及可以附加其中的几个控件。之前已经说过,未来的文章中将有一篇专门致力于多窗口模式,现在,我们已经万事具备,我们将在下面的章节中讨论它。在本章中,我们将开发用于创建状态栏和工具提示信息界面元件的类。
图形界面III:简单与多功能按钮组(第二章)
图形界面III:简单与多功能按钮组(第二章)

图形界面III:简单与多功能按钮组(第二章)

本系列的第一章是关于简单和多功能按钮的,第二篇文章将致力于相互关联的按钮组,这样在应用程序中就可以创建元件,让用户从一个集合(组)中选择一个选项。
通用智能交易系统:事件模型和交易策略原型(第二章)
通用智能交易系统:事件模型和交易策略原型(第二章)

通用智能交易系统:事件模型和交易策略原型(第二章)

本文是通用智能交易模型系列文章的又一篇。这一部分详细介绍了基于数据集中处理的原始事件模型,并考虑了交易引擎CStrategy基类的结构。
图形界面III:简单与多功能按钮(第一章)
图形界面III:简单与多功能按钮(第一章)

图形界面III:简单与多功能按钮(第一章)

让我们探讨按钮控件。我们将讨论几个用于创建简单按钮,扩展功能按钮(图标按钮和分割按钮)以及关联按钮(按钮组和单选按钮)的类的实例。另外,我们还将在已有的类中增加一些内容以扩展它们的功能。
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++ 基础的程序员。
在 MetaTrader 中使用神经网络
在 MetaTrader 中使用神经网络

在 MetaTrader 中使用神经网络

本文介绍如何轻松在你的 MQL4 代码中使用神经网络,利用最佳的免费人工神经网络库 (FANN),并在 MQL4 代码中采用多个神经网络。
具有最小延迟的有效平均算法: 在指标和 Expert Advisor 中使用
具有最小延迟的有效平均算法: 在指标和 Expert Advisor 中使用

具有最小延迟的有效平均算法: 在指标和 Expert Advisor 中使用

本文介绍笔者开发的更高质量的自定义平均函数: JJMASeries()、JurXSeries()、JLiteSeries()、ParMASeries()、LRMASeries()、T3Series() 和 MASeries()。 作者考虑在指标中使用 SmoothXSeries() 函数的调用进行上述函数的热替换。
神经网络诀窍
神经网络诀窍

神经网络诀窍

本文面向"多层"蛋糕烘焙初学者。
在 MQL4 中处理双精度浮点数
在 MQL4 中处理双精度浮点数

在 MQL4 中处理双精度浮点数

在本文中我们将研究典型的编程错误,这种错误在处理 MQL4 程序中的双精度数值时会出现。
MetaTrader 4 客户端的程序文件夹
MetaTrader 4 客户端的程序文件夹

MetaTrader 4 客户端的程序文件夹

本文描述了 MetaTrader 4 客户端程序文件夹的内容。 对于那些已经开始掌握客户端操作细节的用户,本文将会非常有用。
是睡,还是不睡?
是睡,还是不睡?

是睡,还是不睡?

本文提出了 Sleep() 函数的替代用法,在 EA 的操作之间实现暂停。 所讨论的这种方法可以巧妙利用机器时间。
指标和信号盈利能力的可视化优化
指标和信号盈利能力的可视化优化

指标和信号盈利能力的可视化优化

本文是我的上一篇文章“指标和提醒的盈利能力的可视化测试”的延续和拓展。 通过在参数更改过程中添加一些交互性和修改研究对象,我成功地获得了一个新工具,此工具不仅仅显示基于所使用信号的预期交易结果,还允许通过移动在主图表中用作信号参数值控件的虚拟滑块,立即获得交易布局、余额图表和最终交易结果。
EA 状态短信通知
EA 状态短信通知

EA 状态短信通知

开发一个可以将你的 EA 状态通知你的短信通知系统,无论你在何处,都能始终了解任何紧急情况。
用于在通道中进行交易的 Expert Advisor
用于在通道中进行交易的 Expert Advisor

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

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

外部指标的提醒和注释(第二部分)

自发表了“外部指标的提醒和注释”文章以来,我不断收到关于开发基于指标线运行的外部通知程序的可能性的请求和询问。 在对问题进行分析之后,我决定继续探讨该话题。 获得储存在指标缓冲区中的数据成为用户的另一个关注领域。
外部指标的提醒和注释。 通过外部扫描进行多货币分析
外部指标的提醒和注释。 通过外部扫描进行多货币分析

外部指标的提醒和注释。 通过外部扫描进行多货币分析

外部指标的多货币和多时间范围分析的提醒。 本文讨论了一种获得外部指标事件信息的方法,而不必将指标添加到图表或自己打开图表。 我们将其称为外部扫描。