MQL4和MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
轻松快捷开发 MetaTrader 程序的函数库(第 二十四部分):基准交易类 - 无效参数自动纠正
轻松快捷开发 MetaTrader 程序的函数库(第 二十四部分):基准交易类 - 无效参数自动纠正

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

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

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

作为神经网络主题的延续,我建议研究卷积神经网络。 这种类型的神经网络通常用来分析视觉成像。 在本文中,我们将研究这种网络在金融市场中的应用。
如何在 MQL 4 中开发可靠安全的交易机器人
如何在 MQL 4 中开发可靠安全的交易机器人

如何在 MQL 4 中开发可靠安全的交易机器人

本文旨在处理开发和使用 Expert Advisor 过程中出现的最常见的错误。还将介绍一个安全的自动交易系统的示例。
使用 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 可能的变型,并在可图形切换变型的指标中实施这些变型。
Lite_EXPERT2.mqh: Expert Advisor 实现示例
Lite_EXPERT2.mqh: Expert Advisor 实现示例

Lite_EXPERT2.mqh: Expert Advisor 实现示例

在本文中,笔者继续通过使用实际 Expert Advisor 实现示例让读者熟悉 Lite_EXPERT2.mqh 函数。 本文涉及有关使用浮动挂单和挂单的理念(订单视交易不同而动态变化,且基于平均真实波动范围 (ATR) 指标值进行确定)。
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) 时,您无需再提供声音文件并说明它们应予以保存的位置。
货币联动的分形分析
货币联动的分形分析

货币联动的分形分析

货币报价的独立性如何? 它们的走势是协同呢?还是一种货币的走势跟其他货币的走势截然无关? 本文描述了如何使用非线性动力学和分形几何方法解决该问题。
Lite_EXPERT2.mqh: Expert Advisor 开发人员的功能套件
Lite_EXPERT2.mqh: Expert Advisor 开发人员的功能套件

Lite_EXPERT2.mqh: Expert Advisor 开发人员的功能套件

本文是一系列“基于常见交易系统的 Expert Advisor 和交易机器人优化的惊人作用”文章的继续展开。 本文让读者熟悉 Lite_EXPERT2.mqh 文件的一个更为通用的函数库。
FANN2MQL 神经网络教学
FANN2MQL 神经网络教学

FANN2MQL 神经网络教学

本文将利用一个简单的例子为你演示如何通过 FANN2MQL 来使用神经网络:教给神经网络一个简单的模式,然后测试它是否能够识别从未见过的模式。
使用若干中间指标缓存创建多货币指标
使用若干中间指标缓存创建多货币指标

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

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

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

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

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

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

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

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

MQL 中的对象方法

本文对于所有在 MQL 环境下编程的人员,无论是初学者还是专业人士,将会非常有趣。而且 MQL 环境下的开发人员和理论家阅读此文也会相当有帮助,因为这里所分析的问题可能会成为将来实施 MetaTrader 和 MQL 的项目。
用 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 会自动在市场上下单。
利用判别分析开发交易系统
利用判别分析开发交易系统

利用判别分析开发交易系统

开发交易系统时,通常都会出现选择最佳指标与信号组合的问题。而判别分析就是找到此类组合的方法之一。本文会给出一个用于市场数据采集的 EA 开发示例,并详细阐明如何利用判别分析在 Statistica 软件中构建外汇市场预后模型。
DoEasy 函数库中的时间序列(第四十三部分):指标缓冲区对象类
DoEasy 函数库中的时间序列(第四十三部分):指标缓冲区对象类

DoEasy 函数库中的时间序列(第四十三部分):指标缓冲区对象类

本文研究开发指标缓冲区对象类,其为抽象缓冲区对象的衍生类,从而可简化声明,并可操控指标缓冲区,同时创建基于 DoEasy 库的自定义指标程序。