MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
开发多币种 EA 交易(第 1 部分):多种交易策略的协作

开发多币种 EA 交易(第 1 部分):多种交易策略的协作

交易策略是多种多样的,因此,或许可以采用几种策略并行运作,以分散风险,提高交易结果的稳定性。但是,如果每个策略都作为单独的 EA 交易来实现,那么在一个交易账户上管理它们的工作就会变得更加困难。为了解决这个问题,在一个 EA 中实现不同交易策略的操作是合理的。
市场及其全局模式中的物理学
市场及其全局模式中的物理学

市场及其全局模式中的物理学

在本文中,我将尝试测试这样一个假设,即任何对市场了解甚微的系统都可以在全局范围内运行。我不会发明任何理论或模式,但我只会使用已知的事实,逐步将这些事实转化为数学分析的语言。
preview
开发回放系统 — 市场模拟(第 01 部分):首次实验(I)

开发回放系统 — 市场模拟(第 01 部分):首次实验(I)

如何创建一个系统,让我们在闭市后也能研究市场,甚至模拟市场情况? 在此,我们将开始一系列新的文章,在其中我们将应对这个主题。
DoEasy 函数库中的时间序列(第四十五部分):多周期指标缓冲区
DoEasy 函数库中的时间序列(第四十五部分):多周期指标缓冲区

DoEasy 函数库中的时间序列(第四十五部分):多周期指标缓冲区

在本文中,我将着手改进指标缓冲区对象和集合类,从而可在多周期和多品种模式下操作。 我打算在当前品种图表上的任何时间帧内接收和显示数据缓冲区对象的操作。
preview
神经网络变得轻松(第三十二部分):分布式 Q-学习

神经网络变得轻松(第三十二部分):分布式 Q-学习

我们在本系列的早期文章中领略了 Q-学习方法。 此方法均化每次操作的奖励。 2017 年出现了两篇论文,在研究奖励分配函数时展现出了极大的成功。 我们来研究运用这种技术解决我们问题的可能性。
preview
在 MQL5 中使用 AutoIt

在 MQL5 中使用 AutoIt

简述。 在本文中,我们将探索采用 MetraTrader 5 终端里以集成的 MQL5 编写 AutoIt 脚本。 在其中,我们将覆盖如何操纵终端的用户界面来自动完成各种任务,并介绍一个采用 AutoItX 库的类。
preview
使用MQL5轻松创建图形面板

使用MQL5轻松创建图形面板

在这篇文章中,我们将为任何需要创建交易中最有价值和最有用的工具之一的人提供一个简单易行的指南,即简化和轻松执行交易任务的图形面板,这有助于节省时间,并在不受任何干扰的情况下更多地关注您的交易过程本身。
DoEasy 函数库中的图形(第七十三部分):图形元素的交互窗对象
DoEasy 函数库中的图形(第七十三部分):图形元素的交互窗对象

DoEasy 函数库中的图形(第七十三部分):图形元素的交互窗对象

这篇文章开辟了函数库一个新的操控图形的大章节。 在本文中,我将创建鼠标状态对象、所有图形元素的基准对象、以及函数库图形元素的交互窗对象类。
如何在 MetaTrader 5 中创建并测试自定义 MOEX(莫斯科证券交易所) 品种
如何在 MetaTrader 5 中创建并测试自定义 MOEX(莫斯科证券交易所) 品种

如何在 MetaTrader 5 中创建并测试自定义 MOEX(莫斯科证券交易所) 品种

本文介绍运用 MQL5 语言创建自定义兑换品种。 特别是,它研究使用来自流行的 Finam 网站的兑换报价。 本文中研究的另一个选项是在创建自定义品种时可以使用任意格式的文本文件。 这允许使用任何金融品种和数据源。 创建自定义品种之后,我们可以使用 MetaTrader 5 策略测试器的所有功能来测试兑换品种的交易算法。
DoEasy 函数库中的价格(第六十四部分):市场深度,DOM 快照类和快照序列对象
DoEasy 函数库中的价格(第六十四部分):市场深度,DOM 快照类和快照序列对象

DoEasy 函数库中的价格(第六十四部分):市场深度,DOM 快照类和快照序列对象

在本文中,我将创建两个类(DOM 快照对象类,和 DOM 快照序列对象类),并测试 DOM 数据序列的创建。
preview
构建自动运行的 EA(第 09 部分):自动化(II)

构建自动运行的 EA(第 09 部分):自动化(II)

如果您无法控制其调度表,则自动化就意味着毫无意义。 没有工人能够一天 24 小时高效工作。 然而,许多人认为自动化系统理所当然地每天 24 小时运行。 但为 EA 设置工作时间范围总是有好处的。 在本文中,我们将研究如何正确设置这样的时间范围。
DoEasy 函数库中的价格(第六十五部分):市场深度集合并操控 MQL5.com 信号的类
DoEasy 函数库中的价格(第六十五部分):市场深度集合并操控 MQL5.com 信号的类

DoEasy 函数库中的价格(第六十五部分):市场深度集合并操控 MQL5.com 信号的类

在本文中,我将创建所有品种的市场深度集合类,并着手开发创建信号对象类来操控 MQL5.com 信号服务的功能。
preview
掌握 MQL5:从入门到精通(第二部分)基本数据类型和变量的使用

掌握 MQL5:从入门到精通(第二部分)基本数据类型和变量的使用

这是初学者系列的延续。本文将介绍如何创建常量和变量、写入日期、颜色和其他有用的数据。我们将学习如何创建枚举,如一周中的天数或线条样式(实线、虚线等)。变量和表达式是编程的基础。它们肯定存在于99%以上的程序中,因此理解它们至关重要。因此,如果你是编程新手,这篇文章会对你非常有用。所需的编程知识水平:非常基础,在我上一篇文章(见开头的链接)的范围内。
preview
交易中的道义期望

交易中的道义期望

这篇文章是关于道义期望。 我们将看到在交易中运用它的若干示例,以及在它的帮助下可以达成的结果。
preview
种群优化算法:灰狼优化器(GWO)

种群优化算法:灰狼优化器(GWO)

我们来研究一种最新的现代优化算法 — 灰狼优化。 测试函数的原始行为令该算法成为以前研究过的算法中最有趣的算法之一。 这是训练神经网络的顶级算法之一,具有许多变量的平滑函数。
preview
交易中的追踪止损

交易中的追踪止损

在本文中,我们将研究追踪止损在交易中的使用。我们将评估它的实用性和有效性以及如何使用它。追踪止损的效率很大程度上取决于价格波动和止损水平的选择。可以使用各种方法来设置止损。
preview
帧分析器(Frames Analyzer)工具带来的时间片交易魔法

帧分析器(Frames Analyzer)工具带来的时间片交易魔法

什么是帧分析器(Frames Analyzer)? 这是适用于任意智能系统的一个插件模块,在策略测试器中、以及测试器之外进行参数优化期间,该工具在参数优化完成后立即读取测试创建的 MQD 文件、或数据库,并分析优化帧数据。 您能够与拥有帧分析器工具的其他用户共享这些优化结果,从而共同讨论结果。
preview
您应该知道的 MQL5 向导技术(第 01 部分):回归分析

您应该知道的 MQL5 向导技术(第 01 部分):回归分析

今天的交易者都是一位哲学家,他几乎总是(有意识地或无意识地)寻找新的思路,尝试它们,选择修改或抛弃它们;这是一个需要付出相当勤奋程度的探索过程。 这显然会花费交易者高昂的时间,且需要避免错误。 本系列文章将提出,MQL5 向导应该是交易者的支柱。 为什么呢? 因为交易者不仅经由 MQL5 向导组装他的新想法来节省时间,而且大大减少了重复编码的错误;他最终会把精力集中在交易哲学的几个关键领域。
preview
利用智能系统进行风险和资本管理

利用智能系统进行风险和资本管理

本文是有关您在回测报告中看不到的内容,使用自动交易软件时您应该期望什么;如果您正在使用智能系统,该如何管理您的资金;以及如果您正在使用自动化过程,如何弥补重大亏损从而坚持交易活动。
preview
种群优化算法:杜鹃优化算法(COA)

种群优化算法:杜鹃优化算法(COA)

我将研究的下一个算法是 Levy 飞行正在使用的杜鹃搜索优化。 这是最新的优化算法之一,也是排行榜的新领导者。
preview
构建自动运行的 EA(第 11 部分):自动化(III)

构建自动运行的 EA(第 11 部分):自动化(III)

如果没有健全的安全性,自动化系统就不会成功。 但是,如果不对某些事情有很好的理解,就无法确保安全性。 在本文中,我们将探讨为什么在自动化系统中实现最大安全性是一项挑战。
preview
DoEasy 函数库中的时间序列(第五十一部分):复合多周期、多品种标准指标

DoEasy 函数库中的时间序列(第五十一部分):复合多周期、多品种标准指标

在本文中,会完成多周期、多品种标准指标对象的开发。 以 Ichimoku Kinko Hyo 标准指标为例,分析复合自定义指标的创建,该指标含有辅助绘制缓冲区,可在图表上显示数据。
preview
神经网络变得轻松(第九部分):操作归档

神经网络变得轻松(第九部分):操作归档

我们已经经历了很长一段路,并且函数库中的代码越来越庞大。 这令跟踪所有连接和依赖性变得难以维护。 因此,我建议为先前创建的代码创建文档,并保持伴随每个新步骤进行更新。 正确准备的文档将有助我们看到操作的完整性。
让开发者为交易者进行服务?
让开发者为交易者进行服务?

让开发者为交易者进行服务?

算法交易变得越来越流行并需求旺盛,这自然导致了对于精致算法以及不同寻常任务的需求。从某种程度上说,这些复杂的应用程序都已经在代码库或市场中提供。尽管交易者只需几次简单的点击就可以访问这些应用, 但是这些应用也许不能完全满足所有的需要。为此, 交易者可以在 MQL5 的自由职业者板块分派订单,并寻找开发者来为他们编写期望的应用。
preview
配对交易

配对交易

在这篇文章中,我们将探讨配对交易(pair trading),即它的原理是什么,以及它的实际应用是否有前景。我们还将尝试创建一个配对交易策略。
preview
种群优化算法:猴子算法(MA)

种群优化算法:猴子算法(MA)

在本文中,我将研究猴子优化算法(MA)。 这些动物克服困难障碍,并到达最难以接近的树顶的能力构成了 MA 算法思想的基础。
preview
从头开始开发智能交易系统(第 23 部分):新订单系统 (VI)

从头开始开发智能交易系统(第 23 部分):新订单系统 (VI)

我们将会令订单系统更加灵活。 在此,我们将研究代码的修改,令其更加灵活,而这也让我们能够更快地修改持仓破位价。
DoEasy 函数库中的图形(第七十六部分):会话窗对象和预定义的颜色主题
DoEasy 函数库中的图形(第七十六部分):会话窗对象和预定义的颜色主题

DoEasy 函数库中的图形(第七十六部分):会话窗对象和预定义的颜色主题

在本文中,我所述的概念将涵盖构建各种函数库 GUI 设计主题,创建会话窗对象,它是图形元素类对象的衍生后代,并为创建函数库图形对象的阴影准备数据,以及进一步开发功能。
preview
神经网络变得轻松(第十四部分):数据聚类

神经网络变得轻松(第十四部分):数据聚类

我的上一篇文章已经发表一年多了。 这令我有了大量时间考虑修改思路和发展新方法。 在这篇新文章中,我想转移一下以前使用的监督学习方法。 这次我们将深入研究无监督学习算法。 特别是,我们将考虑一种聚类算法 — k-均值。
preview
利用回归衡量度评估 ONNX 模型

利用回归衡量度评估 ONNX 模型

回归是一项依据未标记样本预测真实数值的任务。 所谓的回归衡量度则是用来评估回归模型的预测准确性。
preview
神经网络变得轻松(第二十二部分):递归模型的无监督学习

神经网络变得轻松(第二十二部分):递归模型的无监督学习

我们继续研究无监督学习算法。 这次我建议我们讨论自动编码器应用于递归模型训练时的特性。
preview
神经网络变得轻松(第四十四部分):动态学习技能

神经网络变得轻松(第四十四部分):动态学习技能

在上一篇文章中,我们讲解了 DIAYN 方法,它提供了学习各种技能的算法。 获得的技能可用在各种任务。 但这些技能可能非常难以预测,而这可能令它们难以运用。 在本文中,我们要研究一种针对学习可预测技能的算法。
DoEasy 函数库中的图形(第七十四部分):由 CCanvas 类提供强力支持的基本图形元素
DoEasy 函数库中的图形(第七十四部分):由 CCanvas 类提供强力支持的基本图形元素

DoEasy 函数库中的图形(第七十四部分):由 CCanvas 类提供强力支持的基本图形元素

在本文中,我将重修上一篇文章中构建的图形对象概念,并准备由标准库 CCanvas 类提供强力支持的函数库所有图形对象的基类。
MVC 设计范式及其可能的应用
MVC 设计范式及其可能的应用

MVC 设计范式及其可能的应用

本文讨论了一种流行的 MVC 范式,以及它运用在 MQL 程序中的可能性、优缺点。 这个思路是将现有代码拆分为三个独立的组件:模型、视图和控制器。
preview
从头开始开发智能交易系统(第 15 部分):访问 web 上的数据(I)

从头开始开发智能交易系统(第 15 部分):访问 web 上的数据(I)

如何通过 MetaTrader 5 访问在线数据? 互联网上有很多网站,提供海量信息。 您需要知道的是,在哪里查找、以及如何才能最好地利用这些信息。
DoEasy 库中的其他类(第六十九部分):图表对象集合类
DoEasy 库中的其他类(第六十九部分):图表对象集合类

DoEasy 库中的其他类(第六十九部分):图表对象集合类

在本文里,我启动图表对象集合类的开发。 该类存储图表对象及其子窗口和指标的集合列表,从而提供操控任何选定图表及其子窗口的能力,亦或同时处理多个图表列表。
preview
构建自动运行的 EA(第 07 部分):账户类型(II)

构建自动运行的 EA(第 07 部分):账户类型(II)

今天,我们将看到如何创建一个在自动模式下简单安全地工作的智能系统。 交易者应当始终明白自动 EA 正在做什么,以便若它“偏离轨道”,交易者可以尽早将其从图表中删除,并控制事态。
MQL5 Cookbook: 处理自定义图表事件
MQL5 Cookbook: 处理自定义图表事件

MQL5 Cookbook: 处理自定义图表事件

本文研究在 MQL5 环境里设计和开发自定义图表事件的内容。一种事件分类的例程也可以在这里找到,当然,还有事件类,以及自定义事件处理器类的程序代码。
DoEasy 库中的其他类(第七十二部分):跟踪并记录集合中的图表对象参数
DoEasy 库中的其他类(第七十二部分):跟踪并记录集合中的图表对象参数

DoEasy 库中的其他类(第七十二部分):跟踪并记录集合中的图表对象参数

在本文中,我将完成图表对象类及其集合的操控。 我还将实现图表属性及其窗口变化的自动跟踪,以及把新参数保存到对象属性。 如此修订允许在未来实现整个图表集合的事件功能。
DoEasy 函数库中的时间序列(第四十八部分):在单一子窗口里基于一个缓冲区的多周期、多品种指标
DoEasy 函数库中的时间序列(第四十八部分):在单一子窗口里基于一个缓冲区的多周期、多品种指标

DoEasy 函数库中的时间序列(第四十八部分):在单一子窗口里基于一个缓冲区的多周期、多品种指标

本文研究了一个示例,该示例使用单个指标缓冲区来创建多品种、多周期标准指标,以便在指标子窗口中进行构造和操作。 我会准备库类,以便在程序主窗口中与标准指标一起操作,并有多个缓冲区来显示其数据。