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

icon

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

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

添加一个新的文章
最近 | 最佳
preview
您应该知道的 MQL5 向导技术(第 02 部分):Kohonen 映射

您应该知道的 MQL5 向导技术(第 02 部分):Kohonen 映射

这些系列文章所提议的是,MQL5 向导应作为交易员的支柱。 为什么呢? 因为交易员不仅可以利用 MQL5 向导装配他的新想法来节省时间,还可以大大减少重复编码带来的错误;他最终可把精力投向自我交易哲学中的几个关键领域。
preview
交易中的神经网络:基于双注意力的趋势预测模型

交易中的神经网络:基于双注意力的趋势预测模型

我们继续讨论时间序列的分段线性表示的运用,这在前一篇文章中已经开始。今天,我们要看看如何将该方法与其它时间序列分析方法相结合,从而提高价格趋势预测品质。
preview
开发多币种 EA 交易 (第 11 部分):自动化优化(第一步)

开发多币种 EA 交易 (第 11 部分):自动化优化(第一步)

为了获得一个好的 EA,我们需要为它选择多组好的交易策略实例参数。这可以通过对不同的交易品种运行优化然后选择最佳结果来手动完成。但最好将这项工作委托给程序,并从事更有成效的活动。
preview
神经网络变得简单(第 66 部分):离线学习中的探索问题

神经网络变得简单(第 66 部分):离线学习中的探索问题

使用准备好的训练数据集中的数据对模型进行离线训练,这种方法虽然有一定的优势,但其不利的一面是,环境信息被大大压缩到训练数据集的大小。这反过来又限制了探索的可能性。在本文中,我们将探讨一种方法,这种方法可以用尽可能多样化的数据来填充训练数据集。
preview
将人工智能(AI)模型集成到已有的MQL5交易策略中

将人工智能(AI)模型集成到已有的MQL5交易策略中

本主题聚焦于将训练好的人工智能(AI)模型(如长短期记忆网络(LSTM)等强化学习模型,或基于机器学习的预测模型)集成到现有的MQL5交易策略中。
preview
MQL5 中的范畴论 (第 4 部分):跨度、实验、及合成

MQL5 中的范畴论 (第 4 部分):跨度、实验、及合成

范畴论是数学的一个多样化和不断扩展的分支,到目前为止,在 MQL5 社区中还相对难以发现。 这些系列文章旨在介绍和研究其一些概念,其总体目标是建立一个开放的函数库,提供洞察力,同时希望在交易者的策略开发中进一步运用这一非凡的领域。
preview
基于MQL5的自动化交易策略(第一部分):Profitunity系统(比尔·威廉姆斯的《交易混沌》)

基于MQL5的自动化交易策略(第一部分):Profitunity系统(比尔·威廉姆斯的《交易混沌》)

在本文中,我们研究了比尔·威廉姆斯(Bill Williams)的Profitunity系统,深入剖析其核心组成部分以及在混沌市场中独特的交易方法。我们指导读者在MQL5中实现该系统,专注于自动化关键指标和入场/出场信号。最后,我们对策略进行测试和优化,提供其在不同市场环境下的表现。
preview
神经网络变得轻松(第五十二部分):研究乐观情绪和分布校正

神经网络变得轻松(第五十二部分):研究乐观情绪和分布校正

由于模型是基于经验复现缓冲区进行训练,故当前的扮演者政策会越来越远离存储的样本,这会降低整个模型的训练效率。在本文中,我们将查看一些能在强化学习算法中提升样本使用效率的算法。
preview
MQL5中的自动化交易策略(第七部分):构建具备仓位动态调整功能的网格交易EA

MQL5中的自动化交易策略(第七部分):构建具备仓位动态调整功能的网格交易EA

在本文中,我们将在 MQL5 中构建一个使用动态仓位缩放的网格交易EA。我们将涵盖策略设计、代码实现和回测过程。最后,我们将分享用于优化该自动化交易系统的关键方案和最佳实践。
preview
Python、ONNX 和 MetaTrader 5:利用 RobustScaler 和 PolynomialFeatures 数据预处理创建 RandomForest 模型

Python、ONNX 和 MetaTrader 5:利用 RobustScaler 和 PolynomialFeatures 数据预处理创建 RandomForest 模型

在本文中,我们将用 Python 创建一个随机森林(random forest)模型,训练该模型,并将其保存为带有数据预处理功能的 ONNX 管道。之后,我们将在 MetaTrader 5 终端中使用该模型。
preview
交易中的神经网络:状态空间模型

交易中的神经网络:状态空间模型

到目前为止,我们审阅的大量模型都是基于变换器架构。不过,在处理长序列时,它们或许效率低下。在本文中,我们将领略一种替代方向,即基于状态空间模型的时间序列预测。
preview
创建 MQL5-Telegram 集成 EA 交易(第 5 部分):从 Telegram 向 MQL5 发送命令并接收实时响应

创建 MQL5-Telegram 集成 EA 交易(第 5 部分):从 Telegram 向 MQL5 发送命令并接收实时响应

在本文中,我们创建了几个类来促进 MQL5 和 Telegram 之间的实时通信。我们专注于从 Telegram 获取命令,解码和解释它们,并发送适当的响应。最后,我们确保这些交互在交易环境中得到有效测试和运行。
preview
将您自己的 LLM 集成到 EA 中(第 5 部分):使用 LLM 开发和测试交易策略(四) —— 测试交易策略

将您自己的 LLM 集成到 EA 中(第 5 部分):使用 LLM 开发和测试交易策略(四) —— 测试交易策略

随着当今人工智能的快速发展,语言模型(LLMs)是人工智能的重要组成部分,因此我们应该考虑如何将强大的 LLMs 整合到我们的算法交易中。对于大多数人来说,很难根据他们的需求微调这些强大的模型,在本地部署它们,然后将它们应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。
preview
神经网络变得轻松(第二十八部分):政策梯度算法

神经网络变得轻松(第二十八部分):政策梯度算法

我们继续研究强化学习方法。 在上一篇文章中,我们领略了深度 Q-学习方法。 按这种方法,已训练模型依据在特定情况下采取的行动来预测即将到来的奖励。 然后,根据政策和预期奖励执行动作。 但并不总是能够近似 Q-函数。 有时它的近似不会产生预期的结果。 在这种情况下,近似方法不应用于功用函数,而是应用于动作的直接政策(策略)。 其中一种方法是政策梯度。
preview
神经网络变得轻松(第五十四部分):利用随机编码器(RE3)进行高效研究

神经网络变得轻松(第五十四部分):利用随机编码器(RE3)进行高效研究

无论何时我们研究强化学习方法时,我们都会面对有效探索环境的问题。解决这个问题通常会导致算法更复杂性,以及训练额外模型。在本文中,我们将看看解决此问题的替代方法。
preview
MQL5 中的范畴论 (第 8 部分):幺半群(Monoids)

MQL5 中的范畴论 (第 8 部分):幺半群(Monoids)

本文是以 MQL5 实现范畴论系列的延续。 本期,我们引入幺半群作为域(集合),通过包含规则和幺元,将范畴论自其它数据分类方法分离开来。
preview
神经网络变得简单(第 58 部分):决策转换器(DT)

神经网络变得简单(第 58 部分):决策转换器(DT)

我们继续探索强化学习方法。在本文中,我将专注于一种略有不同的算法,其参考智能体政策构造一连串动作的范式。
preview
您应当知道的 MQL5 向导技术(第 17 部分):多币种交易

您应当知道的 MQL5 向导技术(第 17 部分):多币种交易

当经由向导组装一款智能系统时,默认情况下,跨多币种交易不可用。我们研究了 2 种可能采取的技巧,可令交易者在同一时间据多个品种测试他们的思路。
preview
神经网络变得简单(第 62 部分):在层次化模型中运用决策转换器

神经网络变得简单(第 62 部分):在层次化模型中运用决策转换器

在最近的文章中,我们已看到了运用决策转换器方法的若干选项。该方法不仅可以分析当前状态,还可以分析先前状态的轨迹,以及在其中执行的动作。在本文中,我们将专注于在层次化模型中运用该方法。
preview
软件开发和 MQL5 中的设计模式(第 2 部分):结构模式

软件开发和 MQL5 中的设计模式(第 2 部分):结构模式

在了解了设计模式适用于 MQL5 和其他编程语言,并且对于开发人员开发可扩展、可靠的应用程序有多么重要之后,我们将在本文中继续介绍设计模式。我们将学习另一种类型的设计模式,即结构模式,了解如何利用我们所拥有的类组成更大的结构来设计系统。
preview
MQL5 简介(第 6 部分):MQL5 中的数组函数新手指南 (二)

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

开始我们 MQL5 旅程的下一阶段。在这篇深入浅出、适合初学者的文章中,我们将探讨其余的数组函数,揭开复杂概念的神秘面纱,让您能够制定高效的交易策略。我们将讨论 ArrayPrint、ArrayInsert、ArraySize、ArrayRange、ArrarRemove、ArraySwap、ArrayReverse 和 ArraySort。利用这些基本的数组函数,提升您的算法交易专业知识。加入我们的精通 MQL5 之路吧!
preview
神经网络变得轻松(第四十七部分):连续动作空间

神经网络变得轻松(第四十七部分):连续动作空间

在本文中,我们扩展了代理者的任务范围。训练过程将包括一些资金和风险管理等方面,这是任何交易策略不可或缺的部分。
preview
创建 MQL5-Telegram 集成 EA 交易 (第二部分):从 MQL5 发送信号到 Telegram

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

在本文中,我们创建了一个 MQL5-Telegram 集成 EA 交易,将移动平均线交叉信号发送到 Telegram。我们详细介绍了从移动平均线交叉生成交易信号的过程,在 MQL5 中实现必要的代码,并确保集成无缝工作。结果是系统可以直接向您的 Telegram 群聊提供实时交易提醒。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 3 部分):添加交易品种、前缀和/或后缀、以及交易时段

如何利用 MQL5 创建简单的多币种智能交易系统(第 3 部分):添加交易品种、前缀和/或后缀、以及交易时段

若干交易员同事发送电子邮件或评论了如何基于经纪商提供的名称里带有前缀和/或后缀的品种使用此多币种 EA,以及如何在该多币种 EA 上实现交易时区或交易时段。
preview
MQL5 简介(第 11 部分):MQL5 中使用内置指标的初学者指南(二)

MQL5 简介(第 11 部分):MQL5 中使用内置指标的初学者指南(二)

了解如何使用 RSI、MA 和随机震荡指标等多种指标在 MQL5 中开发 EA 交易来检测隐藏的看涨和看跌背离。学习实施有效的风险管理并通过详细的示例和完整注释的源代码实现交易自动化,以达到教育目的!
preview
开发多币种 EA 交易(第 17 部分):为真实交易做进一步准备

开发多币种 EA 交易(第 17 部分):为真实交易做进一步准备

目前,我们的 EA 使用数据库来获取交易策略单个实例的初始化字符串。然而,这个数据库相当大,包含许多实际 EA 操作不需要的信息。让我们尝试在不强制连接到数据库的情况下确保 EA 的功能。
preview
时间序列挖掘的数据标签(第3部分):使用标签数据的示例

时间序列挖掘的数据标签(第3部分):使用标签数据的示例

本系列文章介绍了几种时间序列标记方法,这些方法可以创建符合大多数人工智能模型的数据,而根据需要进行有针对性的数据标记可以使训练后的人工智能模型更符合预期设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
神经网络变得简单(第 64 部分):保守加权行为克隆(CWBC)方法

神经网络变得简单(第 64 部分):保守加权行为克隆(CWBC)方法

据前几篇文章中所执行测试的结果,我们得出的结论是,训练策略的最优性很大程度上取决于所采用的训练集。在本文中,我们将熟悉一种相当简单,但有效的方法来选择轨迹,并据其训练模型。
preview
MQL5中的替代风险回报标准

MQL5中的替代风险回报标准

在这篇文章中,我们介绍了几种被称为夏普比率(Sharpe ratio)替代品的风险回报标准的实现,并检查了假设的权益曲线以分析其特征。
preview
神经网络变得简单(第 68 部分):离线优先引导政策优化

神经网络变得简单(第 68 部分):离线优先引导政策优化

自从第一篇专门讨论强化学习的文章以来,我们以某种方式触及了 2 个问题:探索环境和检定奖励函数。最近的文章曾专门讨论了离线学习中的探索问题。在本文中,我想向您介绍一种算法,其作者完全剔除了奖励函数。
preview
交易中的神经网络:一种复杂的轨迹预测方法(Traj-LLM)

交易中的神经网络:一种复杂的轨迹预测方法(Traj-LLM)

在本文中,我想向您介绍一种为解决自动驾驶领域问题而开发的有趣的轨迹预测方法。该方法的作者结合了各种架构解决方案的最佳元素。
preview
您应当知道的 MQL5 向导技术(第 07 部分):树状图

您应当知道的 MQL5 向导技术(第 07 部分):树状图

出于分析和预测目的而把数据分类是机器学习中一个非常多样化的领域,它具有大量的方式和方法。本文着眼于一种这样的方式,即集聚层次化分类。
preview
神经网络变得简单(第 67 部分):按照过去的经验解决新任务

神经网络变得简单(第 67 部分):按照过去的经验解决新任务

在本文中,我们将继续讨论收集数据至训练集之中的方法。显然,学习过程需要与环境不断互动。不过,状况可能会有所不同。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 4 部分):三角移动平均线 — 指标信号

如何利用 MQL5 创建简单的多币种智能交易系统(第 4 部分):三角移动平均线 — 指标信号

本文中的多币种 EA 是智能交易系统或交易机器人,能从一个品种的图表里交易(开单、平单、及管理订单,例如:尾随止损和止盈)多个品种(货币对)。这次我们只会用到 1 个指标,即多时间帧或单一时间帧中的三角移动平均线。
preview
神经网络变得简单(第 71 部分):目标条件预测编码(GCPC)

神经网络变得简单(第 71 部分):目标条件预测编码(GCPC)

在之前的文章中,我们讨论了决策转换器方法,以及从其衍生的若干种算法。我们测验了不同的目标设定方法。在测验期间,我们依据各种设定目标的方式进行操作。然而,该模型早期研究时验算过的轨迹,始终处于我们的关注范围之外。在这篇文章中。我想向您介绍一种填补此空白的方法。
preview
神经网络变得简单(第 90 部分):时间序列的频率插值(FITS)

神经网络变得简单(第 90 部分):时间序列的频率插值(FITS)

通过研究 FEDformer 方法,我们打开了时间序列频域表述的大门。在这篇新文章中,我们将继续一开始的主题。我们将研究一种方法,据其我们不仅能进行分析,还可以预测特定区域的后续状态。
preview
DoEasy 函数库中的时间序列(第五十八部分):指标缓冲区数据的时间序列

DoEasy 函数库中的时间序列(第五十八部分):指标缓冲区数据的时间序列

关于操控时间序列的主题总结,诸如组织存储、针对存储在指标缓冲区中的数据进行搜索和分类,如此即可在程序里利用函数库创建指标值,并进一步据其执行分析。 函数库的所有集合类的一般概念,能够轻松地在相应的集合中找到必要的数据。 在今天创建的类中,也可分别完成同样功能。
preview
神经网络变得简单(第 61 部分):离线强化学习中的乐观情绪问题

神经网络变得简单(第 61 部分):离线强化学习中的乐观情绪问题

在离线学习期间,我们基于训练样本数据优化了智能体的政策。成品政策令智能体对其动作充满信心。然而,这种乐观情绪并不总是正当的,并且可能会在模型操作期间导致风险增加。今天,我们要寻找降低这些风险的方法之一。
preview
MQL5 简介(第 17 部分):构建趋势反转 EA 交易

MQL5 简介(第 17 部分):构建趋势反转 EA 交易

本文教初学者如何在 MQL5 中构建一个基于图表形态识别的 EA 交易系统,该系统利用趋势线突破和反转进行交易。通过学习如何动态检索趋势线值并将其与价格走势进行比较,读者将能够开发出能够识别和交易图表形态(如上升和下降趋势线、通道、楔形、三角形等)的 EA 交易。
preview
开发多币种 EA 交易(第 6 部分):自动选择实例组

开发多币种 EA 交易(第 6 部分):自动选择实例组

在优化交易策略后,我们会收到一组参数。我们可以使用它们在一个 EA 中创建多个交易策略实例。以前,我们都是手动操作。在此,我们将尝试自动完成这一过程。