MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
手工图表和交易工具包(第二部分)。 图表图形绘图工具

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

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

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

作为神经网络主题的延续,我建议研究卷积神经网络。 这种类型的神经网络通常用来分析视觉成像。 在本文中,我们将研究这种网络在金融市场中的应用。
preview
如何利用 MQL5 检测趋势和图表形态

如何利用 MQL5 检测趋势和图表形态

在本文中,我们将提供一种通过 MQL5 自动检测价格行为形态的方法,如趋势(上行趋势、下行趋势、横盘整理)、图表形态(双顶、双底)。
在 MetaTrader 5 中使用 MATLAB 2018 的计算功能
在 MetaTrader 5 中使用 MATLAB 2018 的计算功能

在 MetaTrader 5 中使用 MATLAB 2018 的计算功能

在2015年升级了 MATLAB 包之后,有必要考虑一种现代的创建 DLL 库的方法。本文利用样本预测指标,说明了在目前使用的64位平台上关联 MetaTrader 5 和 MATLAB 的特点。通过探讨连接 MATLAB 的整个过程,MQL5 开发人员将能够更快地创建具有高级计算能力的应用程序,从而避免“陷阱”。
preview
学习为什么、以及如何设计算法交易系统

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

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

区域方法

"区域方法(area method)"交易系统的运行是基于对RSI震荡指标读取的一种较为少见的解释。使区域方法可视化的指标,以及使用此系统交易的EA交易,在这里都会详细讨论。本文还提供了关于EA交易在各种交易品种,时段和区域数值中测试的详细发现。
轻松快捷开发 MetaTrader 程序的函数库(第十一部分)。 与 MQL4 的兼容性 - 平仓事件
轻松快捷开发 MetaTrader 程序的函数库(第十一部分)。 与 MQL4 的兼容性 - 平仓事件

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

我们继续大型跨平台函数库的开发,简化 MetaTrader 5 和 MetaTrader 4 平台程序的开发。 在第十部分中,我们重启与 MQL4 函数库兼容性的工作,并定义了开仓和激活挂单的事件。 在本文中,我们将定义平仓事件,并剔除未使用的订单属性。
创建具有图形控制选项的指标
创建具有图形控制选项的指标

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

熟悉市场情绪的人都知道 MACD 指标(其全称为平滑异同移动平均线)- 自计算机分析方法面世以来即已被交易人员用于分析价格变动的强大工具。在本文中,我们将讨论 MACD 可能的变型,并在可图形切换变型的指标中实施这些变型。
如何缩短 EA 代码以让程序更加简单同时减少错误
如何缩短 EA 代码以让程序更加简单同时减少错误

如何缩短 EA 代码以让程序更加简单同时减少错误

使用本文介绍的简单概念,负责在 MQL4 中开发自动交易系统的人员能够通过缩短代码来简化现有交易系统以及缩短开发新系统所需的时间。
全新 MetaTrader 5 和 MQL5 来袭
全新 MetaTrader 5 和 MQL5 来袭

全新 MetaTrader 5 和 MQL5 来袭

这只是 MetaTrader 5 的一个简短介绍。我无法在如此短小的篇幅里给出系统所有新功能的描述 - 测试从 2009 年 9 月 9 日即已开始。这是一个具有象征意义的日子,我肯定这也会是一个幸运数字。就在几天之前,我拿到了 MetaTrader 5 终端和 MQL5 的试用版。我并没有试用所有的功能,即便如此,它们也给我留下了深刻的印象。
通过 MQL4 读取 RSS 新闻递送
通过 MQL4 读取 RSS 新闻递送

通过 MQL4 读取 RSS 新闻递送

本文讨论了利用 HTML 标签分析的函数通过 MQL4 读取 RSS(简易信息聚合)标记的示例。 我们将尝试制作一个半成品,它可以继续转变为新闻指示器或 MQL4 语言的 RSS 阅读器。
preview
MQL5 简介(第 7 部分):在 MQL5 中构建 EA 交易和使用 AI 生成代码的初级指南

MQL5 简介(第 7 部分):在 MQL5 中构建 EA 交易和使用 AI 生成代码的初级指南

在我们的综合文章中,了解使用 MQL5 构建 EA 交易的终极初学者指南。逐步学习如何使用伪代码构建 EA,并利用 AI(人工智能)生成代码的强大功能。无论你是算法交易的新手,还是想提高自己的技能,本指南都为你提供了创建有效 EA 的清晰路径。
MetaTrader 4 Build 600及以上的数据结构 -  MQL4文章
MetaTrader 4 Build 600及以上的数据结构 -  MQL4文章

MetaTrader 4 Build 600及以上的数据结构 - MQL4文章

MetaTarder 4 build 600突出了新的结构和客户端文件的位置。现在,MQL4应用程序根据类型置于不同的目录中(EA交易,指标或脚本)。 在大多数情况下,程序端数据现在存储在不同于程序端安装位置的特殊的数据文件夹。在本文中,我们将详细描述数据如何传输,以及引入新存储系统的原因。
基于 Merill(梅里尔) 形态的策略构建器
基于 Merill(梅里尔) 形态的策略构建器

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

在前一篇文章中,我们研究了如何将 Merill(梅里尔)形态应用于各种数据,例如货币品种图表上的价格,以及标准 MetaTrader 5 指标值:ATR,WPR,CCI,RSI,等等。 现在,我们尝试基于 Merill 形态创建策略构造集合。
使用 MQL5 和 MQL4 开发的选择与导航工具: 增加自动模式搜索和显示侦测到的交易品种
使用 MQL5 和 MQL4 开发的选择与导航工具: 增加自动模式搜索和显示侦测到的交易品种

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

在本文中, 我们继续扩展用于收集和在交易品种之间导航工具的功能。这一次,我们将创建新的选项卡,只显示满足一些必需参数的交易品种,并且研究如何根据所需的挑选规则简单添加自定义选项卡。
preview
学习如何基于 ATR 设计交易系统

学习如何基于 ATR 设计交易系统

在本文中,我们将学习一款可在交易中运用的新技术工具,作为我们学习如何设计简单交易系统系列的延续。 这次我们将选取另一个流行的技术指标:平均真实范围(ATR)。
自定义图形控件。第 3 部分 表单
自定义图形控件。第 3 部分 表单

自定义图形控件。第 3 部分 表单

专门讲解图形控件的有三篇文章,此为最后一篇。其中涵盖主要图形界面组件的创建 - 表单 - 及其同其它控件的搭配使用。除表单类之外,CFrame、CButton、CLabel 类亦已添加到此控件库。
轻松快捷开发 MetaTrader 程序的函数库(第 二十四部分):基准交易类 - 无效参数自动纠正
轻松快捷开发 MetaTrader 程序的函数库(第 二十四部分):基准交易类 - 无效参数自动纠正

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

在本文中,我们关注无效交易订单参数的处理程序,并改进交易事件类。 现今,所有交易事件(单个和在一次即时报价内同时发生的)均将在程序中正确定义。
preview
MetaTrader 5 中的 WebSockets

MetaTrader 5 中的 WebSockets

在引入随 MQL5 API 更新而提供的网络功能之前,MetaTrader 程序与基于 WebSocket 的服务连接和接口的能力受到许多限制。当然,这一切都改变了,在本文中,我们将探讨纯 MQL5 中 WebSocket 库的实现。WebSocket 协议的简要描述将与如何使用生成的库的逐步指南一起给出。
轻松快捷开发 MetaTrader 程序的函数库(第 三十四部分):延后交易请求 - 在特定条件下删除和修改订单与持仓
轻松快捷开发 MetaTrader 程序的函数库(第 三十四部分):延后交易请求 - 在特定条件下删除和修改订单与持仓

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

在本文中,我们将完成延后请求交易概念的论述,并创建删除挂单,以及在特定条件下修改挂单和持仓的功能。 由此,我们将拥有完整的功能,令我们能够开发简单的自定义策略,或者根据用户定义的条件激活 EA 行为逻辑。
preview
无需 Python 或 R 语言知识的 Yandex CatBoost 机器学习算法

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

本文通过一个具体的例子提供了机器学习过程的主要阶段的代码和描述。您不需要 Python 或 R 语言知识就能够获得模型。此外,基本的MQL5知识已经足够了- 这正是我的水平。因此,我希望这篇文章能为广大读者提供一个很好的指导,帮助那些对评估机器学习能力感兴趣的人,并在他们的课程中实现这些能力。
针对交易的组合数学和概率论(第二部分):通用分形
针对交易的组合数学和概率论(第二部分):通用分形

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

在本文中,我们将继续研究分形,并会特别留意总结所有材料。 为此,我将尝试把所有早期开发归纳为一个紧凑的形式,这对于交易中的实际应用来说将是方便和易于理解的。
preview
神经网络在交易中的实际应用 (第二部分). 计算机视觉

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

利用计算机视觉可以训练神经网络对价格图表和指标的直观表示。这种方法可以对整个复杂的技术指标进行更广泛的操作,因为不需要将它们以数字形式输入神经网络。
如何不陷入优化陷阱?
如何不陷入优化陷阱?

如何不陷入优化陷阱?

本文讲述了怎样更好地理解测试器优化结果的方法. 它也给出了一些避免"有害优化"的技巧.
用 Delphi 为 MQL5 编写 DLL 指南
用 Delphi 为 MQL5 编写 DLL 指南

用 Delphi 为 MQL5 编写 DLL 指南

本文说明在 Delphi 编程环境中使用流行编程语言 ObjectPascal 创建 DLL 模块的机制。本文提供的材料主要针对初学者而设计,这些初学者面临因为连接外部 DLL 模块而突破了嵌入式编程语言 MQL5 边界的问题。
使用 WCF 服务将报价从 MetaTrader 5 导出至 .NET 应用程序的方法
使用 WCF 服务将报价从 MetaTrader 5 导出至 .NET 应用程序的方法

使用 WCF 服务将报价从 MetaTrader 5 导出至 .NET 应用程序的方法

想要从 MetaTrader 5 导出报价到您自己的应用程序?MQL5-DLL 组合可给出这样的解决方案!本文介绍将报价从 MetaTrader 5 导出至以 .NET 编写的应用程序的方法。对我而言,使用该平台实施报价的导出要更为有趣、合理和容易。遗憾的是版本 5 仍然不支持 .NET,因此和以往一样,我们将使用 .NET 支持的 win32 dll 作为中间层。
针对交易的组合数学和概率论(第三部分):第一个数学模型
针对交易的组合数学和概率论(第三部分):第一个数学模型

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

早前所研讨主题的逻辑延续,即针对交易任务开发多功能数学模型。 在本文中,我将从头开始讲述与分形数学模型开发相关的整个过程。 这个模型应成为一个重要的构建模块,且其是多功能和通用的。 它将为我们遵循该思路深入开发奠定理论基础。
MQL5.com 自由职业: 开发者的收入来源 (信息图)
MQL5.com 自由职业: 开发者的收入来源 (信息图)

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

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

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

这是第一篇致力于创建一套操控优化报告工具箱的文章,可从终端导入报告,并针对所获数据进行过滤和排序。 MetaTrader 5 允许下载优化结果,然而我们的目的是在优化报告中添加自己的数据。
自组织特征映射 (Kohonen 映射) - 再访主题
自组织特征映射 (Kohonen 映射) - 再访主题

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

本文描述利用 Kohonen 映射进行操作的技术。本主题对那些在他们的项目中运用 Kohonen 映射进行市场研究时遇到困难的 MQL4/MQL5 初级程序员和经验丰富的程序员都有益处。
轻松快捷开发 MetaTrader 程序的函数库 (第 三十一部分) :延后交易请求 - 在特定条件下开仓
轻松快捷开发 MetaTrader 程序的函数库 (第 三十一部分) :延后交易请求 - 在特定条件下开仓

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

从本文开始,我们将开发一种功能,允许用户在特定条件下利用延后请求进行交易,举例来说,当达到特定时间限制、超出指定利润或由止损平仓时。
preview
学习如何基于鳄鱼(Alligator)设计交易系统

学习如何基于鳄鱼(Alligator)设计交易系统

在本文中,我们将完成有关如何基于最流行的技术指标设计交易系统的系列文章。 我们将学习如何创建基于鳄鱼指标的交易系统。
preview
自定义品种(符号):实践基础

自定义品种(符号):实践基础

本文专门介绍了程序化生成自定义品种(符号),这些自定义品种可用来演示一些显示报价的流行方法。 它描述的是一种建议的微创智能交易系统改编方案,可用在派生的自定义品种图表上,如同真实品种一样。 MQL 源代码随附于文后。
MQL4 作为交易者的工具, 还是高级技术分析
MQL4 作为交易者的工具, 还是高级技术分析

MQL4 作为交易者的工具, 还是高级技术分析

交易首先是对可能性的计算. 有一句谚语, 懒惰是进步的引擎, 这也揭示了指标以及交易系统被开发出来的原因. 绝大多数交易新手学习的都是"成型"的交易理论. 但是, 如果够幸运的话, 还有更多的没有被发现的市场奥秘和用于分析价格走向的工具, 例如那些还没有实现的技术指标或者数学和统计学工具包. 非常感谢比尔.威廉姆斯对市场运行理论的贡献. 虽然,也许现在休息是太早了些.
使用若干中间指标缓存创建多货币指标
使用若干中间指标缓存创建多货币指标

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

最近对 FOREX 市场进行群集分析的兴趣越来越高。MQL5 提供了研究货币对运动趋势的新可能。MQL5 不同于 MQL4 的一个新特点是能够使用数量不受限制的指标缓存。本文描述了一个创建多货币指标的例子。
DoEasy 函数库中的时间序列(第三十五部分):柱线对象和品种时间序列列表
DoEasy 函数库中的时间序列(第三十五部分):柱线对象和品种时间序列列表

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

本文开始 DoEasy 函数库的新系列,与创建相关,从而简化和快速进行程序开发。 在当前文章中,我们将为函数库实现访问和操控品种时间序列数据的功能。 我们计划创建柱线(Bar)对象,来存储时间序列的主要和扩展的柱线数据,并将柱线对象置于时间序列列表之中,从而便于对象的搜索和排序。
preview
形态搜索的暴力强推方式(第四部分):最小功能

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

本文基于上一篇文章中设定的目标,提出了一个改进的暴力强推版本。 我将尝试尽可能广泛地涵盖这个主题,并以该方法获取的设置来运行智能交易系统。 本文还附有一个新的程序版本。
生长型神经气:MQL5 中的实施
生长型神经气:MQL5 中的实施

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

本文会举例说明如何开发一个可以实施名为“生长型神经气” (GNG) 自适应聚类算法的 MQL5 程序。本文针对已研究过语言文档、且已具备一定编程能力和神经信息学基础知识的用户。
MQL5 Cookbook: 使用不限数量的参数开发多币种EA交易
MQL5 Cookbook: 使用不限数量的参数开发多币种EA交易

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

在本文中,我们将创建一种模式,它会使用一系列参数为交易系统作优化,而且允许不加数量限制的参数。交易品种的列表将在标准文本文件(*.txt)中创建,每个交易品种的输入参数也将存储于文件中。使用这种方法,我们将能够免除终端中对EA输入参数个数的限制。
Lite_EXPERT2.mqh: Expert Advisor 实现示例
Lite_EXPERT2.mqh: Expert Advisor 实现示例

Lite_EXPERT2.mqh: Expert Advisor 实现示例

在本文中,笔者继续通过使用实际 Expert Advisor 实现示例让读者熟悉 Lite_EXPERT2.mqh 函数。 本文涉及有关使用浮动挂单和挂单的理念(订单视交易不同而动态变化,且基于平均真实波动范围 (ATR) 指标值进行确定)。