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

icon

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

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

添加一个新的文章
最近 | 最佳
preview
神经网络变得简单(第 89 部分):频率增强分解变换器(FEDformer)

神经网络变得简单(第 89 部分):频率增强分解变换器(FEDformer)

到目前为止,我们研究过的所有模型在分析环境状态时都将其当作时间序列。不过,时间序列也能以频率特征的形式表示。在本文中,我将向您介绍一种算法,即利用时间序列的频率分量来预测未来状态。
preview
基于预测的统计套利

基于预测的统计套利

我们将探讨统计套利,使用Python搜索具有相关性和协整性的交易品种,为皮尔逊(Pearson)系数制作一个指标,并编制一个用于交易统计套利的EA,该系统将使用Python和ONNX模型进行预测。
preview
如何将聪明资金概念(SMC)与 RSI 指标结合到 EA 中

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

聪明资金概念(结构突破)与 RSI 指标相结合,可根据市场结构做出明智的自动交易决策。
preview
您应当知道的 MQL5 向导技术(第 17 部分):多币种交易

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

当经由向导组装一款智能系统时,默认情况下,跨多币种交易不可用。我们研究了 2 种可能采取的技巧,可令交易者在同一时间据多个品种测试他们的思路。
preview
构建K线趋势约束模型(第九部分):多策略EA(2)

构建K线趋势约束模型(第九部分):多策略EA(2)

理论上,可以集成至EA中的策略数量没有上限。然而,每新增一种策略都会提升算法复杂度。通过融合多策略架构,EA能够更灵活地适应不同市场环境,从而可能提升整体盈利能力。今天,我们将探讨如何通过MQL5实现理查德·唐奇安(Richard Donchian)的经典通道突破策略,以此进一步拓展我们的趋势约束型EA功能体系。
preview
交易中的神经网络:一种复杂的轨迹预测方法(Traj-LLM)

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

在本文中,我想向您介绍一种为解决自动驾驶领域问题而开发的有趣的轨迹预测方法。该方法的作者结合了各种架构解决方案的最佳元素。
preview
神经网络变得简单(第 71 部分):目标条件预测编码(GCPC)

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

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

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

通过研究 FEDformer 方法,我们打开了时间序列频域表述的大门。在这篇新文章中,我们将继续一开始的主题。我们将研究一种方法,据其我们不仅能进行分析,还可以预测特定区域的后续状态。
preview
练习开发交易策略

练习开发交易策略

在本文中,我们将尝试开发自己的交易策略。任何交易策略都必须以某种统计优势为基础。而且,这种优势应该长期存在。
preview
神经网络变得简单(第 92 部分):频域和时域中的自适应预测

神经网络变得简单(第 92 部分):频域和时域中的自适应预测

FreDF 方法的作者通过实验证实了结合频域和时域进行预测的优势。不过,权重超参数的使用对于非稳态时间序列并非最优。在本文中,我们将领略结合频域和时域预测的自适应方法。
preview
开发多币种 EA 交易(第 17 部分):为真实交易做进一步准备

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

目前,我们的 EA 使用数据库来获取交易策略单个实例的初始化字符串。然而,这个数据库相当大,包含许多实际 EA 操作不需要的信息。让我们尝试在不强制连接到数据库的情况下确保 EA 的功能。
preview
在 MQL5 中创建交互式图形用户界面(第 2 部分):添加控制和响应

在 MQL5 中创建交互式图形用户界面(第 2 部分):添加控制和响应

通过动态功能增强 MQL5 图形用户界面(GUI)面板,可以大大改善用户的交易体验。通过整合互动元素、悬停效果和实时数据更新,该面板成为现代交易者的强大工具。
preview
MQL5 简介(第 6 部分):MQL5 中的数组函数新手指南 (二)

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

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

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

本文详细探讨了创建基于区域恢复交易算法的EA需要实施的步骤。这有助于自动化该系统,从而为算法交易者节省时间。
preview
交易中的神经网络:状态空间模型

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

到目前为止,我们审阅的大量模型都是基于变换器架构。不过,在处理长序列时,它们或许效率低下。在本文中,我们将领略一种替代方向,即基于状态空间模型的时间序列预测。
preview
开发回放系统(第30部分):EA交易项目——C_Mouse类(四)

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

今天,我们将学习一种技术,它可以在程序员职业生涯的不同阶段对我们有很大帮助。通常,受到限制的不是平台本身,而是谈论限制的人的知识。这篇文章将告诉你,凭借常识和创造力,你可以让 MetaTrader 5 平台变得更加有趣和通用,而无需创建疯狂的程序或类似的东西,并创建简单但安全可靠的代码。我们将利用我们的创造力修改现有代码,而不删除或添加源代码中的任何一行。
preview
时间序列挖掘的数据标签(第3部分):使用标签数据的示例

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

本系列文章介绍了几种时间序列标记方法,这些方法可以创建符合大多数人工智能模型的数据,而根据需要进行有针对性的数据标记可以使训练后的人工智能模型更符合预期设计,提高我们模型的准确性,甚至帮助模型实现质的飞跃!
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 4 部分):三角移动平均线 — 指标信号

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

本文中的多币种 EA 是智能交易系统或交易机器人,能从一个品种的图表里交易(开单、平单、及管理订单,例如:尾随止损和止盈)多个品种(货币对)。这次我们只会用到 1 个指标,即多时间帧或单一时间帧中的三角移动平均线。
preview
您应当知道的 MQL5 向导技术(第 09 部分):K-Means 聚类与分形波配对

您应当知道的 MQL5 向导技术(第 09 部分):K-Means 聚类与分形波配对

“K-均值”聚类采用数据点分组的方式,该过程最初侧重于数据集的宏观视图,使用随机生成的聚类质心,然后放大并调整这些质心,从而准确表示数据集。我们将对此进行研究,并开拓一些它的用例。
preview
构建和测试 Aroon 交易系统

构建和测试 Aroon 交易系统

在本文中,我们将学习在了解了 Aroon 指标(阿隆指标)的基础知识和基于该指标构建交易系统的必要步骤之后,如何构建 Aroon 交易系统。建立这个交易系统后,我们将对其进行测试,看看它是否能盈利,还是需要进一步优化。
preview
神经网络变得轻松(第四十八部分):降低 Q-函数高估的方法

神经网络变得轻松(第四十八部分):降低 Q-函数高估的方法

在上一篇文章中,我们概述了 DDPG 方法,它允许在连续动作空间中训练模型。然而,与其它 Q-学习方法一样,DDPG 容易高估 Q-函数的数值。这个问题往往会造成训练代理者时选择次优策略。在本文中,我们将研究一些克服上述问题的方式。
preview
在MQL5中实现基于抛物线转向指标(Parabolic SAR)和简单移动平均线(SMA)的快速交易策略算法

在MQL5中实现基于抛物线转向指标(Parabolic SAR)和简单移动平均线(SMA)的快速交易策略算法

在本文中,我们将在MQL5中开发一个快速交易EA,利用抛物线SAR和简单移动平均线(SMA)指标来创建一个响应迅速的交易策略。我们详细介绍了该策略的实施过程,包括指标的使用、信号的生成以及测试和优化过程。
preview
理解编程范式(第 2 部分):面向对象方式开发价格行为智能系统

理解编程范式(第 2 部分):面向对象方式开发价格行为智能系统

学习面向对象的编程范式,及其在 MQL5 代码中的应用。这是第二篇文章,更深入地讲解面向对象编程的规范,并通过一个实际示例提供上手经验。您将学习如何运用 EMA 指标,和烛条价格数据,将我们早期开发的过程化价格行为智能系统转换为面向对象的代码。
preview
神经网络变得简单(第 75 部分):提升轨迹预测模型的性能

神经网络变得简单(第 75 部分):提升轨迹预测模型的性能

我们创建的模型变得越来越大,越来越复杂。这不光提高了它们的训练成本,还有操作成本。不过,做出决定所需的时间往往很关键。有关于此,我们来研究在不损失品质的情况下优化模型性能的方法。
preview
MQL5 交易工具包(第 1 部分):开发仓位管理 EX5 库

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

了解如何创建面向开发人员的工具包,使用 MQL5 管理各种仓位操作。在本文中,我将演示如何创建一个函数库 (ex5),以执行从简单到高级的仓位管理操作,包括自动处理和报告使用 MQL5 处理仓位管理任务时出现的各种错误。
preview
神经网络变得轻松(第五十部分):软性扮演者-评价者(模型优化)

神经网络变得轻松(第五十部分):软性扮演者-评价者(模型优化)

在上一篇文章中,我们实现了软性扮演者-评论者算法,但未能训练出一个可盈利的模型。在此,我们将优化先前创建的模型,以期获得所需的结果。
preview
如何使用MQL5的控件类创建交互式仪表板/面板(第一部分):设置面板

如何使用MQL5的控件类创建交互式仪表板/面板(第一部分):设置面板

在本文中,我们将使用MQL5的控件类创建一个交互式交易仪表板,旨在简化交易操作。该面板包含标题、用于交易、平仓和信息的导航按钮,以及用于执行交易和管理仓位的专用操作按钮。到文章结束时,你将拥有一个基础面板,为未来的扩展做好准备。
preview
神经网络变得轻松(第四十九部分):软性扮演者-评价者

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

我们继续讨论解决连续动作空间问题的强化学习算法。在本文中,我将讲演软性扮演者-评论者(SAC)算法。SAC 的主要优点是拥有查找最佳策略的能力,不仅令预期回报最大化,而且拥有最大化的动作熵(多样性)。
preview
神经网络变得轻松(第五十三部分):奖励分解

神经网络变得轻松(第五十三部分):奖励分解

我们已经不止一次地讨论过正确选择奖励函数的重要性,我们通过为单独动作添加奖励或惩罚来刺激代理者的预期行为。但是关于由代理者解密我们的信号的问题仍旧悬而未决。在本文中,我们将探讨将单独信号传输至已训练代理者时的奖励分解。
preview
构建K线图趋势约束模型(第一部分):针对EA和技术指标

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

本文面向初学者和专业的MQL5开发者。它提供了一段代码,用于定义并限制信号生成指标仅在较长的时间框架的趋势中运行。通过这种方式,交易者可以通过融入更广泛的市场视角来增强他们的策略,从而可能产生更稳健和可靠的交易信号。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 3 部分):添加交易品种、前缀和/或后缀、以及交易时段

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

若干交易员同事发送电子邮件或评论了如何基于经纪商提供的名称里带有前缀和/或后缀的品种使用此多币种 EA,以及如何在该多币种 EA 上实现交易时区或交易时段。
preview
神经网络变得简单(第 70 部分):封闭式政策改进运算器(CFPI)

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

在本文中,我们将领略一种算法,其使用封闭式政策改进运算器来优化离线模式下的智能体动作。
preview
开发多币种 EA 交易系统(第 14 部分):风险管理器的适应性交易量变化

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

之前开发的风险管理器仅包含基本功能,让我们试着探讨其可能的开发方式,使我们能够在不干扰交易策略逻辑的情况下改善交易结果。
preview
MQL5中的范畴论(第20部分):自我注意的迂回与转换

MQL5中的范畴论(第20部分):自我注意的迂回与转换

我们暂时离开我们的系列文章,考虑一下 chatGPT 中的部分算法。有没有从自然变换中借鉴的相似之处或概念?我们尝试用信号类格式的代码,在一篇有趣的文章中回答这些和其他问题。
preview
神经网络变得简单(第 60 部分):在线决策转换器(ODT)

神经网络变得简单(第 60 部分):在线决策转换器(ODT)

最近两篇文章专门介绍了决策转换器方法,其在期望奖励的自回归模型境况下针对动作序列进行建模。在本文中,我们将研究该方法的另一种优化算法。
preview
MQL5 中的定量分析:实现有前途的算法

MQL5 中的定量分析:实现有前途的算法

我们将分析什么是定量分析,以及主要参与者如何运用定量分析的问题。我们将用 MQL5 语言创建一种定量分析算法。
preview
获取市场优势的秘诀(第二部分):预测技术指标

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

你知道吗?与预测交易标的的基础价格相比,我们预测某些技术指标时能获得更高的准确性。加入我们,一起探索如何利用这一想法来制定更好的交易策略。
preview
创建 MQL5-Telegram 集成 EA 交易 (第二部分):从 MQL5 发送信号到 Telegram

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

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

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

来自设计范式文献的一篇新文章,我们将看到类型其一,即行为范式,从而理解我们如何有效地在所创建对象之间构建通信方法。通过完成这些行为范式,我们就能够理解创建和构建可重用、可扩展、经过测试的软件。
preview
软件开发和 MQL5 中的设计范式(第一部分):创建范式

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

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