有关 MQL5 编程和自动交易使用的文章

icon

创建用于 MetaTrader 平台的 EA,执行各种开发者已经实现的功能。交易机器人可以每天 24 小时跟踪金融产品,复制交易,创建和发送报告,分析新闻,甚至提供特定的自定义图形界面。

这些文章描述了编程技术,进行数据处理的数学思想,创建和订购交易机器人的技巧。

添加一个新的文章
最近 | 最佳
preview
MQL5 简介(第 6 部分):MQL5 中的数组函数新手指南 (二)

MQL5 简介(第 6 部分):MQL5 中的数组函数新手指南 (二)

开始我们 MQL5 旅程的下一阶段。在这篇深入浅出、适合初学者的文章中,我们将探讨其余的数组函数,揭开复杂概念的神秘面纱,让您能够制定高效的交易策略。我们将讨论 ArrayPrint、ArrayInsert、ArraySize、ArrayRange、ArrarRemove、ArraySwap、ArrayReverse 和 ArraySort。利用这些基本的数组函数,提升您的算法交易专业知识。加入我们的精通 MQL5 之路吧!
preview
基于预测的统计套利

基于预测的统计套利

我们将探讨统计套利,使用Python搜索具有相关性和协整性的交易品种,为皮尔逊(Pearson)系数制作一个指标,并编制一个用于交易统计套利的EA,该系统将使用Python和ONNX模型进行预测。
preview
神经网络变得简单(第 70 部分):封闭式政策改进运算器(CFPI)

神经网络变得简单(第 70 部分):封闭式政策改进运算器(CFPI)

在本文中,我们将领略一种算法,其使用封闭式政策改进运算器来优化离线模式下的智能体动作。
preview
神经网络变得轻松(第四十九部分):软性扮演者-评价者

神经网络变得轻松(第四十九部分):软性扮演者-评价者

我们继续讨论解决连续动作空间问题的强化学习算法。在本文中,我将讲演软性扮演者-评论者(SAC)算法。SAC 的主要优点是拥有查找最佳策略的能力,不仅令预期回报最大化,而且拥有最大化的动作熵(多样性)。
preview
数据科学和机器学习(第 27 部分):MetaTrader 5 中训练卷积神经网络(CNN)交易机器人 — 值得吗?

数据科学和机器学习(第 27 部分):MetaTrader 5 中训练卷积神经网络(CNN)交易机器人 — 值得吗?

卷积神经网络(CNN)以其在检测图像和视频形态方面的出色能力而闻名,其应用涵盖众多领域。在本文中,我们探讨了 CNN 在金融市场中识别有价值形态,并为 MetaTrader 5 交易机器人生成有效交易信号的潜力。我们来发现这种深度机器学习技术如何能撬动更聪明的交易决策。
preview
软件开发和 MQL5 中的设计范式(第一部分):创建范式

软件开发和 MQL5 中的设计范式(第一部分):创建范式

有一些方法可以用来解决许多重复性的问题。一旦明白如何运用这些方法,就可助您有效地创建软件,并贯彻 DRY(不要重复自己)的概念。在这种境况下,设计范式的主题就非常好用,因为它们为恰当描述过,且重复的问题提供了解决方案。
preview
在MQL5中开发马丁格尔(Martingale)区域恢复策略

在MQL5中开发马丁格尔(Martingale)区域恢复策略

本文详细探讨了创建基于区域恢复交易算法的EA需要实施的步骤。这有助于自动化该系统,从而为算法交易者节省时间。
preview
软件开发和 MQL5 中的设计范式(第 3 部分):行为范式 1

软件开发和 MQL5 中的设计范式(第 3 部分):行为范式 1

来自设计范式文献的一篇新文章,我们将看到类型其一,即行为范式,从而理解我们如何有效地在所创建对象之间构建通信方法。通过完成这些行为范式,我们就能够理解创建和构建可重用、可扩展、经过测试的软件。
preview
数据科学和机器学习(第 26 部分):时间序列预测的终极之战 — LSTM 对比 GRU 神经网络

数据科学和机器学习(第 26 部分):时间序列预测的终极之战 — LSTM 对比 GRU 神经网络

在上一篇文章中,我们讨论了一个简单的 RNN,尽管它对理解数据中的长期依赖关系无能为力,却仍能制定可盈利策略。在本文中,我们将讨论长-短期记忆(LSTM)、门控递归单元(GRU)。引入这两个是为了克服简单 RNN 的缺点,并令其更聪慧。
preview
将您自己的 LLM 集成到 EA 中(第 4 部分):使用 GPU 训练自己的 LLM

将您自己的 LLM 集成到 EA 中(第 4 部分):使用 GPU 训练自己的 LLM

随着当今人工智能的快速发展,语言模型(LLMs)是人工智能的重要组成部分,因此我们应该考虑如何将强大的 LLMs 整合到我们的算法交易中。对于大多数人来说,很难根据他们的需求微调这些强大的模型,在本地部署它们,然后将它们应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。
preview
开发多币种 EA 交易系统(第 14 部分):风险管理器的适应性交易量变化

开发多币种 EA 交易系统(第 14 部分):风险管理器的适应性交易量变化

之前开发的风险管理器仅包含基本功能,让我们试着探讨其可能的开发方式,使我们能够在不干扰交易策略逻辑的情况下改善交易结果。
preview
使用MQL5开发基于震荡区间突破策略的EA

使用MQL5开发基于震荡区间突破策略的EA

本文概述了如何创建一个基于价格突破震荡区间进行交易的EA。通过识别震荡区间并设定突破水平,交易者可以基于这一策略自动化其交易决策。该EA旨在为交易者提供明确的入场和出场点,同时避免虚假突破。
preview
如何将聪明资金概念(SMC)与 RSI 指标结合到 EA 中

如何将聪明资金概念(SMC)与 RSI 指标结合到 EA 中

聪明资金概念(结构突破)与 RSI 指标相结合,可根据市场结构做出明智的自动交易决策。
preview
开发多币种 EA 交易(第 4 部分):虚拟挂单和保存状态

开发多币种 EA 交易(第 4 部分):虚拟挂单和保存状态

在开始开发多币种 EA 后,我们已经取得了一些成果,并成功地进行了多次代码改进迭代。但是,我们的 EA 无法处理挂单,也无法在终端重启后恢复运行。让我们添加这些功能。
preview
神经网络变得轻松(第五十一部分):行为-指引的扮演者-评论者(BAC)

神经网络变得轻松(第五十一部分):行为-指引的扮演者-评论者(BAC)

最后两篇文章研究了软性扮演者-评论者算法,该算法将熵正则化整合到奖励函数当中。这种方式在环境探索和模型开发之间取得平衡,但它仅适用于随机模型。本文提出了一种替代方式,能适用于随机模型和确定性模型两者。
preview
神经网络变得简单(第 56 部分):利用核范数推动研究

神经网络变得简单(第 56 部分):利用核范数推动研究

强化学习中的环境研究是一个紧迫的问题。我们之前已视察过一些方式。在本文中,我们将讲述另一种基于最大化核范数的方法。它允许智能体识别拥有高度新颖性和多样性的环境状态。
preview
使用Python和MQL5进行交易策略的自动参数优化

使用Python和MQL5进行交易策略的自动参数优化

有多种用于交易策略和参数自我优化的算法。这些算法基于历史和当前市场数据自动改进交易策略。在本文中,我们将通过Python和MQL5的示例来探讨其中一种算法。
preview
神经网络变得简单(第 96 部分):多尺度特征提取(MSFformer)

神经网络变得简单(第 96 部分):多尺度特征提取(MSFformer)

高效提取与集成长期依赖关系和短期特征,仍然是时间序列分析中的一项重要任务。它们的正确理解及整合,对于创建准确可靠的预测模型是必要的。
preview
获取市场优势的秘诀(第二部分):预测技术指标

获取市场优势的秘诀(第二部分):预测技术指标

你知道吗?与预测交易标的的基础价格相比,我们预测某些技术指标时能获得更高的准确性。加入我们,一起探索如何利用这一想法来制定更好的交易策略。
preview
神经网络变得简单(第 59 部分):控制二分法(DoC)

神经网络变得简单(第 59 部分):控制二分法(DoC)

在上一篇文章中,我们领略了决策变换器。但是,外汇市场复杂的随机环境不允许我们充分发挥所提议方法的潜能。在本文中,我将讲述一种算法,旨在提高在随机环境中的性能。
preview
神经网络变得简单(第 76 部分):配合多未来变换器探索不同的交互形态

神经网络变得简单(第 76 部分):配合多未来变换器探索不同的交互形态

本文继续探讨预测即将到来的价格走势的主题。我邀请您领略多未来变换器架构。其主要思路是把未来的多模态分布分解为若干个单模态分布,这样就可以有效地模拟场景中个体之间互动的各种模态。
preview
在MetaTrader 5中实现基于EMA交叉的级联订单交易策略

在MetaTrader 5中实现基于EMA交叉的级联订单交易策略

本文介绍一个基于EMA交叉信号的自动交易算法,该算法适用于MetaTrader 5平台。文章详细阐述了在MQL5中开发一个EA所需的方方面面,以及在MetaTrader 5中进行测试的过程——从分析价格区间行为到风险管理。
preview
构建K线图趋势约束模型(第一部分):针对EA和技术指标

构建K线图趋势约束模型(第一部分):针对EA和技术指标

本文面向初学者和专业的MQL5开发者。它提供了一段代码,用于定义并限制信号生成指标仅在较长的时间框架的趋势中运行。通过这种方式,交易者可以通过融入更广泛的市场视角来增强他们的策略,从而可能产生更稳健和可靠的交易信号。
preview
您应当知道的 MQL5 向导技术(第 13 部分):智能信号类 DBSCAN

您应当知道的 MQL5 向导技术(第 13 部分):智能信号类 DBSCAN

《基于密度的空间聚类参与噪声应用》是一种无监督的数据分组形式,除 2 个参数外,几乎不需要任何输入参数,比之其它方式,譬如 k-平均,这是一个福音。我们深入研究使用由向导组装的智能系统如何在测试、及最终交易时起到建设性作用。
preview
MQL5 中的范畴论 (第 17 部分):函子与幺半群

MQL5 中的范畴论 (第 17 部分):函子与幺半群

本文是我们系列文章的最后一篇,将函子作为一个主题来讨论,且把幺半群作为一个范畴来重新审视。幺半群已在我们的系列中多次讲述,于此配合多层感知器帮助确定持仓规模。
preview
因果推理中的倾向性评分

因果推理中的倾向性评分

本文探讨因果推理中的匹配问题。匹配用于比较数据集中的类似观察结果,这对于正确确定因果关系和消除偏见是必要的。作者解释了这如何有助于构建基于机器学习的交易系统,这些系统在没有经过训练的新数据上变得更加稳定。倾向性评分在因果推理中起着核心作用并被广泛应用。
preview
用于时间序列挖掘的数据标签(第 6 部分):使用 ONNX 在 EA 中应用和测试

用于时间序列挖掘的数据标签(第 6 部分):使用 ONNX 在 EA 中应用和测试

本系列文章介绍了几种时间序列标注方法,可以创建符合大多数人工智能模型的数据,根据需要进行有针对性的数据标注可以使训练好的人工智能模型更符合预期的设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
为智能系统制定品质因数

为智能系统制定品质因数

在本文中,我们将见识到如何制定一个品质得分,并由您的智能系统从策略测试器返回。 我们将查看两种著名的计算方法 — Van Tharp 和 Sunny Harris。
preview
软件开发和 MQL5 中的设计范式(第 4 部分):行为范式 2

软件开发和 MQL5 中的设计范式(第 4 部分):行为范式 2

在本文中,我们将终结有关设计范式主题的系列文章,我们提到有三种类型的设计范式:创建型、结构型、和行为型。我们将终结行为类型的其余范式,其可以帮助设置对象之间的交互方法,令我们的代码更整洁。
preview
神经网络变得轻松(第五十五部分):对比内在控制(CIC)

神经网络变得轻松(第五十五部分):对比内在控制(CIC)

对比训练是一种无监督训练方法表象。它的目标是训练一个模型,突显数据集中的相似性和差异性。在本文中,我们将谈论使用对比训练方式来探索不同的扮演者技能。
preview
您应当知道的 MQL5 向导技术(第 11 部分):数字墙

您应当知道的 MQL5 向导技术(第 11 部分):数字墙

数字墙(Number Walls)是线性回移寄存器的一种变体,其通过检查收敛性来预筛选序列来达到可预测性。我们看看这些思路如何运用在 MQL5。
preview
创建 MQL5-Telegram 集成 EA 交易 (第二部分):从 MQL5 发送信号到 Telegram

创建 MQL5-Telegram 集成 EA 交易 (第二部分):从 MQL5 发送信号到 Telegram

在本文中,我们创建了一个 MQL5-Telegram 集成 EA 交易,将移动平均线交叉信号发送到 Telegram。我们详细介绍了从移动平均线交叉生成交易信号的过程,在 MQL5 中实现必要的代码,并确保集成无缝工作。结果是系统可以直接向您的 Telegram 群聊提供实时交易提醒。
preview
开发回放系统(第31部分):EA交易项目——C_Mouse类(五)

开发回放系统(第31部分):EA交易项目——C_Mouse类(五)

我们需要一个计时器,它可以显示距离回放/模拟运行结束还有多少时间。乍一看,这可能是一个简单快捷的解决方案。许多人只是尝试适应并使用交易服务器使用的相同系统。但有一件事是很多人在考虑这个解决方案时没有考虑的:对于回放,甚至更多的是模拟,时钟的工作方式不同。所有这些都使创建这样一个系统变得复杂。
preview
MQL5 交易工具包(第 1 部分):开发仓位管理 EX5 库

MQL5 交易工具包(第 1 部分):开发仓位管理 EX5 库

了解如何创建面向开发人员的工具包,使用 MQL5 管理各种仓位操作。在本文中,我将演示如何创建一个函数库 (ex5),以执行从简单到高级的仓位管理操作,包括自动处理和报告使用 MQL5 处理仓位管理任务时出现的各种错误。
preview
神经网络变得简单(第 85 部分):多变元时间序列预测

神经网络变得简单(第 85 部分):多变元时间序列预测

在本文中,我愿向您介绍一种新的复杂时间序列预测方法,它和谐地结合了线性模型和转换器的优点。
preview
神经网络变得简单(第 73 部分):价格走势预测 AutoBot

神经网络变得简单(第 73 部分):价格走势预测 AutoBot

我们将继续讨论训练轨迹预测模型的算法。在本文中,我们将领略一种称为 “AutoBots” 的方法。
preview
开发回放系统(第29部分):EA 交易项目——C_Mouse类(三)

开发回放系统(第29部分):EA 交易项目——C_Mouse类(三)

在改进了C_Mouse类之后,我们可以专注于创建一个类,该类旨在为我们的分析创建一个全新的框架。我们不会使用继承或多态性来创建这个新类。相反,我们将改变,或者更好地说,在价格线中添加新的对象。这就是我们在这篇文章中要做的。在下一节中,我们将研究如何更改分析。所有这些都将在不更改C_Mouse类的代码的情况下完成。实际上,使用继承或多态性会更容易实现这一点。然而,还有其他方法可以达到同样的结果。
preview
开发多币种 EA 交易系统(第 16 部分):不同报价历史对测试结果的影响

开发多币种 EA 交易系统(第 16 部分):不同报价历史对测试结果的影响

正在开发中的 EA 预计在与不同经纪商进行交易时都会表现出良好的效果。但目前我们一直使用 MetaQuotes 模拟账户的报价进行测试。让我们看看我们的 EA 是否准备好使用与测试和优化期间使用的报价不同的交易账户。
preview
神经网络变得简单(第 57 部分):随机边际扮演者-评论者(SMAC)

神经网络变得简单(第 57 部分):随机边际扮演者-评论者(SMAC)

在此,我将研究相当新颖的随机边际扮演者-评论者(SMAC)算法,该算法允许在熵值最大化的框架内构建潜在变量政策。
preview
神经网络变得简单(第 78 部分):带有变换器的无解码对象检测器(DFFT)

神经网络变得简单(第 78 部分):带有变换器的无解码对象检测器(DFFT)

在本文中,我提议从不同的角度看待构建交易策略的问题。我们不会预测未来的价格走势,但会尝试基于历史数据分析构建交易系统。