MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
轻松快捷开发 MetaTrader 程序的函数库(第十一部分)。 与 MQL4 的兼容性 - 平仓事件
轻松快捷开发 MetaTrader 程序的函数库(第十一部分)。 与 MQL4 的兼容性 - 平仓事件

轻松快捷开发 MetaTrader 程序的函数库(第十一部分)。 与 MQL4 的兼容性 - 平仓事件

我们继续大型跨平台函数库的开发,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在第十部分中,我们重启与 MQL4 函数库兼容性的工作,并定义了开仓和激活挂单的事件。 在本文中,我们将定义平仓事件,并剔除未使用的订单属性。
为 MetaTrader 打造的高级 EA 构造器 - botbrains
为 MetaTrader 打造的高级 EA 构造器 - botbrains

为 MetaTrader 打造的高级 EA 构造器 - botbrains

在本文中,我们将展示 botbrains.app 的功能 — 一款无代码开发交易机器人的平台。 若要创建一款交易机器人,您无需编写任何代码 — 只需将必要的模块拖放到规划图上,设置它们的参数,并在它们之间建立连接。
MQL5 Cookbook: 怎样在设置/修改交易参数时避免错误
MQL5 Cookbook: 怎样在设置/修改交易参数时避免错误

MQL5 Cookbook: 怎样在设置/修改交易参数时避免错误

作为我们在系列前一篇文章,"MQL Cookbook: 在MetaTrader 5策略测试器中分析仓位属性"中EA交易工作的继续,我们将使用很多有用的函数,以及提高和优化已有的函数来增强它。这一次EA交易有可以在MetaTrader 5策略测试器中优化的外部参数,并且在某些方面组成了一个简单的交易系统。
另一个 MQL5 OOP 类
另一个 MQL5 OOP 类

另一个 MQL5 OOP 类

本文会从一种理论性交易概念的构想,到编制一个在经验世界中实现这一概念的 MQL5 EA 交易,为您讲解如何从头建立一个面向对象的 EA 交易。依本人看,边做边学是取得成功的一种可靠方法。所以,我会拿出一个实用的例子,让您明白如何才能整理自己的想法,并最终完成外汇自动交易代码。和您一起遵守“面向对象”原则,也是我的目标之一。
区域方法
区域方法

区域方法

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

MQL5.com 自由职业: 开发者的收入来源 (信息图)

值此 MQL5 自由职业服务的第四个生日, 我们准备了一幅信息图来展示其自创生来的整体服务成果。让数据本身说话: 迄今已总计执行了超过 10000 笔订单, 价值约 $600,000, 有 3000 余客户和 300 余开发者已经在使用此服务。
自定义图形控件。第 2 部分 控件库
自定义图形控件。第 2 部分 控件库

自定义图形控件。第 2 部分 控件库

自定义图形控件系列的第二篇文章引入了一个控件库,而该控件库旨在处理程序(EA 交易、脚本、指标)与用户交互过程中产生的主要问题。库中包含大量的类(CInputBox、CSpinInputBox、CCheckBox、CRadioGroup、CVSсrollBar、CHSсrollBar、CList、CListMS、CComBox、CHMenu、CVMenu、CHProgress、CDialer、CDialerInputBox、CTable)及其使用示例。
在 GUI 控件中使用布局和容器: CBox 类
在 GUI 控件中使用布局和容器: CBox 类

在 GUI 控件中使用布局和容器: CBox 类

本文介绍一种基于布局和容器来创建 GUI (图形用户界面) 的替代方法, 使用一个布局管理器 — CBox 类。类 CBox class 是一个辅助控件, 在 GUI 面板里充当一个基本控件的容器。它可令图形面板设计更加简便, 并且在某些场合, 减少编写代码时间。
基于 Merill(梅里尔) 形态的策略构建器
基于 Merill(梅里尔) 形态的策略构建器

基于 Merill(梅里尔) 形态的策略构建器

在前一篇文章中,我们研究了如何将 Merill(梅里尔)形态应用于各种数据,例如货币品种图表上的价格,以及标准 MetaTrader 5 指标值:ATR,WPR,CCI,RSI,等等。 现在,我们尝试基于 Merill 形态创建策略构造集合。
在 MetaTrader 5 中应用费歇尔变换和逆费歇尔变换进行市场分析
在 MetaTrader 5 中应用费歇尔变换和逆费歇尔变换进行市场分析

在 MetaTrader 5 中应用费歇尔变换和逆费歇尔变换进行市场分析

我们知道一个市场周期的概率密度函数 (PDF) 并不会让我们想到高斯分布,而是一种正弦波的概率密度函数,并且大多数指标假定市场周期的概率密度函数为高斯分布,我们需要一种方式来纠正。解决方法是使用费歇尔变换。费歇尔变换将任何波形的概率密度函数转换为近似的高斯分布。本文介绍费歇尔变换和逆费歇尔变换的算法以及它们在交易中的应用。介绍和评估了一个基于逆费歇尔变换的专有交易模块。
全新 MetaTrader 5 和 MQL5 来袭
全新 MetaTrader 5 和 MQL5 来袭

全新 MetaTrader 5 和 MQL5 来袭

这只是 MetaTrader 5 的一个简短介绍。我无法在如此短小的篇幅里给出系统所有新功能的描述 - 测试从 2009 年 9 月 9 日即已开始。这是一个具有象征意义的日子,我肯定这也会是一个幸运数字。就在几天之前,我拿到了 MetaTrader 5 终端和 MQL5 的试用版。我并没有试用所有的功能,即便如此,它们也给我留下了深刻的印象。
轻松快捷开发 MetaTrader 程序的函数库(第 二十四部分):基准交易类 - 无效参数自动纠正
轻松快捷开发 MetaTrader 程序的函数库(第 二十四部分):基准交易类 - 无效参数自动纠正

轻松快捷开发 MetaTrader 程序的函数库(第 二十四部分):基准交易类 - 无效参数自动纠正

在本文中,我们关注无效交易订单参数的处理程序,并改进交易事件类。 现今,所有交易事件(单个和在一次即时报价内同时发生的)均将在程序中正确定义。
preview
神经网络变得轻松(第三部分):卷积网络

神经网络变得轻松(第三部分):卷积网络

作为神经网络主题的延续,我建议研究卷积神经网络。 这种类型的神经网络通常用来分析视觉成像。 在本文中,我们将研究这种网络在金融市场中的应用。
使用 MQL5 和 MQL4 开发的选择与导航工具: 增加自动模式搜索和显示侦测到的交易品种
使用 MQL5 和 MQL4 开发的选择与导航工具: 增加自动模式搜索和显示侦测到的交易品种

使用 MQL5 和 MQL4 开发的选择与导航工具: 增加自动模式搜索和显示侦测到的交易品种

在本文中, 我们继续扩展用于收集和在交易品种之间导航工具的功能。这一次,我们将创建新的选项卡,只显示满足一些必需参数的交易品种,并且研究如何根据所需的挑选规则简单添加自定义选项卡。
自组织特征映射 (Kohonen 映射) - 再访主题
自组织特征映射 (Kohonen 映射) - 再访主题

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

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

利用标准库类创建您自己的“市场报价”

新型 MetaTrader 5 客户端与 MQL5 语言提供了向交易者展示可视信息的新机遇。本文中,我们会讲到一系列通用且可扩展的类,处理图表上方任意文本信息的组织与显示工作。“市场报价”指标的示例亦有提供。
轻松快捷开发 MetaTrader 程序的函数库 (第 三十一部分) :延后交易请求 - 在特定条件下开仓
轻松快捷开发 MetaTrader 程序的函数库 (第 三十一部分) :延后交易请求 - 在特定条件下开仓

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

从本文开始,我们将开发一种功能,允许用户在特定条件下利用延后请求进行交易,举例来说,当达到特定时间限制、超出指定利润或由止损平仓时。
轻松快捷开发 MetaTrader 程序的函数库(第 三十四部分):延后交易请求 - 在特定条件下删除和修改订单与持仓
轻松快捷开发 MetaTrader 程序的函数库(第 三十四部分):延后交易请求 - 在特定条件下删除和修改订单与持仓

轻松快捷开发 MetaTrader 程序的函数库(第 三十四部分):延后交易请求 - 在特定条件下删除和修改订单与持仓

在本文中,我们将完成延后请求交易概念的论述,并创建删除挂单,以及在特定条件下修改挂单和持仓的功能。 由此,我们将拥有完整的功能,令我们能够开发简单的自定义策略,或者根据用户定义的条件激活 EA 行为逻辑。
preview
CCI 指标。 升级和新特征

CCI 指标。 升级和新特征

在本文中,我将研究升级 CCI 指标的可能性。 此外,我将对指标进行修改。
preview
手工图表和交易工具包(第二部分)。 图表图形绘图工具

手工图表和交易工具包(第二部分)。 图表图形绘图工具

这是该系列的下一篇文章,在其中我展示了如何创建一个函数库来,从而看便利地用键盘快捷键手动绘制图表图形。 所用工具包括直线及其组合。 在这一部分中,我们将查看如何在绘图工具里应用第一部分中讲述的函数。 该函数库可连接到任何 EA 或指标,这将大大简化绘图任务。 此方案未使用外部 dll,而所有命令都是由内置 MQL 工具实现的。
针对交易的组合数学和概率论(第二部分):通用分形
针对交易的组合数学和概率论(第二部分):通用分形

针对交易的组合数学和概率论(第二部分):通用分形

在本文中,我们将继续研究分形,并会特别留意总结所有材料。 为此,我将尝试把所有早期开发归纳为一个紧凑的形式,这对于交易中的实际应用来说将是方便和易于理解的。
生长型神经气:MQL5 中的实施
生长型神经气:MQL5 中的实施

生长型神经气:MQL5 中的实施

本文会举例说明如何开发一个可以实施名为“生长型神经气” (GNG) 自适应聚类算法的 MQL5 程序。本文针对已研究过语言文档、且已具备一定编程能力和神经信息学基础知识的用户。
MetaTrader 5 中的并行计算
MetaTrader 5 中的并行计算

MetaTrader 5 中的并行计算

在人类的整个历史长河中,时间都是极其宝贵的,因此我们努力避免不必要的时间浪费。如果您的电脑配备了多核处理器,本文将告诉您如何为“EA 交易”的工作提速。此外,实施建议的方法不要求您掌握 MQL5 以外的其他语言的知识。
preview
继续迈进优化(第一部分):操控优化报告

继续迈进优化(第一部分):操控优化报告

这是第一篇致力于创建一套操控优化报告工具箱的文章,可从终端导入报告,并针对所获数据进行过滤和排序。 MetaTrader 5 允许下载优化结果,然而我们的目的是在优化报告中添加自己的数据。
MQL5 Cookbook: 使用不限数量的参数开发多币种EA交易
MQL5 Cookbook: 使用不限数量的参数开发多币种EA交易

MQL5 Cookbook: 使用不限数量的参数开发多币种EA交易

在本文中,我们将创建一种模式,它会使用一系列参数为交易系统作优化,而且允许不加数量限制的参数。交易品种的列表将在标准文本文件(*.txt)中创建,每个交易品种的输入参数也将存储于文件中。使用这种方法,我们将能够免除终端中对EA输入参数个数的限制。
preview
形态搜索的暴力强推方式(第四部分):最小功能

形态搜索的暴力强推方式(第四部分):最小功能

本文基于上一篇文章中设定的目标,提出了一个改进的暴力强推版本。 我将尝试尽可能广泛地涵盖这个主题,并以该方法获取的设置来运行智能交易系统。 本文还附有一个新的程序版本。
针对交易的组合数学和概率论(第三部分):第一个数学模型
针对交易的组合数学和概率论(第三部分):第一个数学模型

针对交易的组合数学和概率论(第三部分):第一个数学模型

早前所研讨主题的逻辑延续,即针对交易任务开发多功能数学模型。 在本文中,我将从头开始讲述与分形数学模型开发相关的整个过程。 这个模型应成为一个重要的构建模块,且其是多功能和通用的。 它将为我们遵循该思路深入开发奠定理论基础。
创建具有图形控制选项的指标
创建具有图形控制选项的指标

创建具有图形控制选项的指标

熟悉市场情绪的人都知道 MACD 指标(其全称为平滑异同移动平均线)- 自计算机分析方法面世以来即已被交易人员用于分析价格变动的强大工具。在本文中,我们将讨论 MACD 可能的变型,并在可图形切换变型的指标中实施这些变型。
DoEasy 函数库中的时间序列(第三十五部分):柱线对象和品种时间序列列表
DoEasy 函数库中的时间序列(第三十五部分):柱线对象和品种时间序列列表

DoEasy 函数库中的时间序列(第三十五部分):柱线对象和品种时间序列列表

本文开始 DoEasy 函数库的新系列,与创建相关,从而简化和快速进行程序开发。 在当前文章中,我们将为函数库实现访问和操控品种时间序列数据的功能。 我们计划创建柱线(Bar)对象,来存储时间序列的主要和扩展的柱线数据,并将柱线对象置于时间序列列表之中,从而便于对象的搜索和排序。
preview
无需 Python 或 R 语言知识的 Yandex CatBoost 机器学习算法

无需 Python 或 R 语言知识的 Yandex CatBoost 机器学习算法

本文通过一个具体的例子提供了机器学习过程的主要阶段的代码和描述。您不需要 Python 或 R 语言知识就能够获得模型。此外,基本的MQL5知识已经足够了- 这正是我的水平。因此,我希望这篇文章能为广大读者提供一个很好的指导,帮助那些对评估机器学习能力感兴趣的人,并在他们的课程中实现这些能力。
preview
学习为什么、以及如何设计算法交易系统

学习为什么、以及如何设计算法交易系统

本文在介绍了 MQL5 的一些基础知识之后,通过设计一个简单的算法交易系统,向初学者展示了如何运用 MQL 的基础知识设计他们的算法交易系统(智能交易系统)
一个基于不同大陆不同时区的交易策略实例
一个基于不同大陆不同时区的交易策略实例

一个基于不同大陆不同时区的交易策略实例

在互联网上很轻松就能找到许多策略,它们也会为您提供大量各式各样的建议。我们则会采取一种专业的方法,基于不同大陆不同时区,深入策略创建的过程。
MQL5 细则手册:MetaTrader 5 交易事件的声音通知
MQL5 细则手册:MetaTrader 5 交易事件的声音通知

MQL5 细则手册:MetaTrader 5 交易事件的声音通知

在本文中,我们将考虑在“EA 交易”的文件中包含声音文件、从而为交易事件添加声音通知的事宜。将包含文件的事实意味着声音文件将位于“EA 交易”的内部。因此,在向其他用户提供编译后的“EA 交易”版本 (*.ex5) 时,您无需再提供声音文件并说明它们应予以保存的位置。
使用若干中间指标缓存创建多货币指标
使用若干中间指标缓存创建多货币指标

使用若干中间指标缓存创建多货币指标

最近对 FOREX 市场进行群集分析的兴趣越来越高。MQL5 提供了研究货币对运动趋势的新可能。MQL5 不同于 MQL4 的一个新特点是能够使用数量不受限制的指标缓存。本文描述了一个创建多货币指标的例子。
图形界面 XI: 重构函数库代码 (集成编译 14.1)
图形界面 XI: 重构函数库代码 (集成编译 14.1)

图形界面 XI: 重构函数库代码 (集成编译 14.1)

随着函数库的增长, 其代码必须重新优化以便减少其大小。本文中描述的函数库版本已变得更加面向对象。这令代码更容易学习。最新变化的详细描述将令读者能够根据自己的需求独立开发函数库。
preview
神经网络在交易中的实际应用 (第二部分). 计算机视觉

神经网络在交易中的实际应用 (第二部分). 计算机视觉

利用计算机视觉可以训练神经网络对价格图表和指标的直观表示。这种方法可以对整个复杂的技术指标进行更广泛的操作,因为不需要将它们以数字形式输入神经网络。
通过有用的技术组合让您的 MQL5 客户惊叹!
通过有用的技术组合让您的 MQL5 客户惊叹!

通过有用的技术组合让您的 MQL5 客户惊叹!

得益于 MQL5 为编程人员提供的一套非常完整的函数集和面向对象 API,他们可以在 MetaTrader 环境中大展身手。然而,Web 技术如今是用途极为广泛的工具,可以在一些情形中提供帮助:当您需要完成一些非常具体的工作;希望用一些不同的东西给您的客户留下深刻印象;或仅仅是您没有足够的时间来掌握 MT5 标准库的特定部分。今天的练习引导您完成有关如何在创建令人惊叹的技术组合的同时,管理您的开发时间的实例。
用 Delphi 为 MQL5 编写 DLL 指南
用 Delphi 为 MQL5 编写 DLL 指南

用 Delphi 为 MQL5 编写 DLL 指南

本文说明在 Delphi 编程环境中使用流行编程语言 ObjectPascal 创建 DLL 模块的机制。本文提供的材料主要针对初学者而设计,这些初学者面临因为连接外部 DLL 模块而突破了嵌入式编程语言 MQL5 边界的问题。
preview
一张图表上的多个指标(第 06 部分):将 MetaTrader 5 转变为 RAD 系统(II)

一张图表上的多个指标(第 06 部分):将 MetaTrader 5 转变为 RAD 系统(II)

在我的前一篇文章中,我向您展示了如何利用 MetaTrader 5 对象创建图表交易,从而将平台转变为 RAD 系统。 该系统运行良好,可以肯定的是,许多读者也许已经考虑过创建一个函数库,令其能够在拟议的系统中扩展功能。 有基于此,就有可能开发一款更直观的智能交易系统,其界面更友好、更易于使用。
构建新兴的社交技术, 第一部分: 发布您的 MetaTrader 5 信号
构建新兴的社交技术, 第一部分: 发布您的 MetaTrader 5 信号

构建新兴的社交技术, 第一部分: 发布您的 MetaTrader 5 信号

今天我们将学习如何将 MetaTrader 5 终端与 Twitter(推特) 链接,以便发布您的 EA 交易信号。我们将用 PHP 开发一个基于 REST web 服务的社交决策支持系统。此想法来自于自动交易的特定概念,称为电脑辅助交易。我们希望通过人工交易者的认知能力来过滤这些交易信号,否则 EA 会自动在市场上下单。