下载MetaTrader 5

MQL5编程文章

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

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

最近 | 最佳

如何在 MetaTrader 5 里快速开发并调试交易策略

自动剥头皮系统理所当然地被认为是算法交易的巅峰, 但同时它们的代码也最难编写。在本文中, 我们将介绍如何使用内置调试工具并基于接收的瞬时报价分析来构建策略, 以及可视测试。开发入场和离场规则, 往往需要经历多年的手工交易。但借助 MetaTrader 5, 您可以在真实历史数据的基础上快速测试任何策略。

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

本文描述的过程, 是开发和实现基于移动通道发送信号的类。每个信号版本均随带交易策略和测试结果。标准库的类用于创建派生类。

跨平台智能交易程序: 重用来自 MQL5 标准库的控件

在 MQL5 标准库里存在的一些控件被证明在 MQL4 版本的跨平台智能交易程序里十分有用。本文涉及令某些 MQL5 标准库的控件与 MQL4 编译器兼容的方法。

跨平台智能交易程序: 概论

本文详细介绍了一种可以更快捷开发跨平台 EA 的方法。其所倡导的方法是将两个版本共享的功能整合到一个单独的类, 并将不兼容的功能分割到派生类。

图形界面 VII: 页面控件 (第二章)

第七部分的第一章介绍了用于创建三种表格控件的类: 文字标签型表格(CLabelsTable), 编辑框型表格(CTable) 以及绘制型表格(CCanvasTable)。在本文中(第二章)我们将讨论页面(Tabs)控件。

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

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

研究 CCanvas 类。抗锯齿和阴影

CCanvas 类的抗锯齿算法是所有使用抗锯齿构造的基础。本文包括其算法的操作内容, 并提供相应的直观示例。它也涵盖了绘制图形对象造型, 以及在画布上绘制造型的算法详情。数值分析库 ALGLIB 用于计算。

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

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

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

套接字(Sockets)… 如果没有它们,我们的IT世界还可能存在吗?时光倒转回1982年,再到现在,它们每分每秒都与我们同在,这是网络的基础,是我们所居住的 Matrix 世界的神经末梢。

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

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

交易者的 LifeHack: 四次回测比一次好

在第一次测试之前,每个交易者都会面临同样的问题 — "四种模式中使用哪一种呢?" 每种提供的模式都有其优点和特点,所以我们会用简单的方法 - 使用一个按钮一起运行全部四种模式!本文展示了如何使用 Win API 和一点魔术来同时看到全部四个测试图表。

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

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

EA交易的自我优化: 进化与遗传算法

本文涵盖的内容是提出了进化算法主要原则,以及它们的特点和多样性。我们将使用一个简单的EA交易作为实例来做实验,来展示如何通过优化使我们的交易系统获益,我们将探讨在软件程序中实现遗传、进化以及其它类型的优化,并且在优化交易系统的预测器集合与参数时提供示例程序。

交易员的正则表达式

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

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

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

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

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

创建一个人工交易助手

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

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

很多莫斯科交易所的交易者想把他们的交易算法自动化,但是他们不知道从何做起,MQL5语言提供了很大范围的交易功能,它还额外提供了方便使用的类,以使用户在算法交易中方便地起步。

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

通用智能交易系统的第六章介绍追踪止损功能的用法。本文将指导你如何使用通用规则创建一个自己的追踪止损模型,以及如何将其添加到交易引擎中来实现自动管理持仓头寸的功能。

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

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

如何采用 MQL5 创建用于 Telegram 的 bots

本文包含了采用 MQL5 逐步创建用于 Telegram 的 bots 教程。对于那些期望将自己的交易机器人与移动终端同步的用户来说, 这些信息十分有用。文章里的 bots 例程可以提供交易信号, 从网站上搜索情报, 发送有关账户余额信息以及图表报价和截图至您的智能手机。

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

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

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

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

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

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

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

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

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

我们仍然在讨论在MetaTrader环境下开发创建图形界面库的开发,在本系列第五部分的第一篇文章中,我们将开发用于创建垂直与水平滚动条的类。

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

本文描述利用 Kohonen 映射进行操作的技术。本主题对那些在他们的项目中运用 Kohonen 映射进行市场研究时遇到困难的 MQL4/MQL5 初级程序员和经验丰富的程序员都有益处。

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

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

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

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

信号计算器

直接从MetaTrader 5终端中进行信号运行的计算是非常有利的,因为终端提供了信号的预先选择和排序。通过这种方式,用户可以在终端中看到与他们的交易账户兼容得最好的信号。

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

本文提出了一种用于等距通道系统的编程方法,在此将会探讨构建这种通道的细节,并且提供了通道的分类,提出了一个统一的滑动通道方法。在代码的实现中使用了面向对象的编程(OOP)。

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

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

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

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

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

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

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

本文是通用智能交易模型系列文章的又一篇。这一部分详细介绍了基于数据集中处理的原始事件模型,并考虑了交易引擎CStrategy基类的结构。

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

让我们探讨按钮控件。我们将讨论几个用于创建简单按钮,扩展功能按钮(图标按钮和分割按钮)以及关联按钮(按钮组和单选按钮)的类的实例。另外,我们还将在已有的类中增加一些内容以扩展它们的功能。

使用比尔威廉姆系统的交易信号模块

本文描述了比尔威廉姆交易系统的规则,开发一个在图表上搜索和标记该系统模式的MQL5应用程序模块,根据找到的模式进行交易,并且也展示了在各种交易品种上的测试结果。

区域方法

"区域方法(area method)"交易系统的运行是基于对RSI震荡指标读取的一种较为少见的解释。使区域方法可视化的指标,以及使用此系统交易的EA交易,在这里都会详细讨论。本文还提供了关于EA交易在各种交易品种,时段和区域数值中测试的详细发现。

图形界面 II: 分隔线和上下文菜单元件 (第二章)

在本文中, 我们将会创建分隔线元件. 它可以用作独立的界面元件, 也可以作为许多其他元件的一部分. 之后, 我们就拥有了开发上下文菜单的全部所需, 在本文中会加以详细介绍. 另外, 我们还会对类作必要的扩充, 即用于保存应用程序中图形界面所有元件的指针库.

图形界面 II: 主菜单元件 (第四章))

这是图形界面系列第二部分的最后一章。在此,我们将探讨主菜单的创建,演示这个控件的开发以及设置库中类的处理函数以正确回应用户的操作。我们还将讨论如何把上下文菜单附加到主菜单项目中。另外,我们还会提到怎样阻止当前没有激活的元件。