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

icon

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

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

添加一个新的文章
最近 | 最佳
preview
神经网络变得简单(第 67 部分):按照过去的经验解决新任务

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

在本文中,我们将继续讨论收集数据至训练集之中的方法。显然,学习过程需要与环境不断互动。不过,状况可能会有所不同。
preview
您应当知道的 MQL5 向导技术(第 07 部分):树状图

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

出于分析和预测目的而把数据分类是机器学习中一个非常多样化的领域,它具有大量的方式和方法。本文着眼于一种这样的方式,即集聚层次化分类。
preview
将人工智能(AI)模型集成到已有的MQL5交易策略中

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

本主题聚焦于将训练好的人工智能(AI)模型(如长短期记忆网络(LSTM)等强化学习模型,或基于机器学习的预测模型)集成到现有的MQL5交易策略中。
preview
神经网络变得简单(第 71 部分):目标条件预测编码(GCPC)

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

在之前的文章中,我们讨论了决策转换器方法,以及从其衍生的若干种算法。我们测验了不同的目标设定方法。在测验期间,我们依据各种设定目标的方式进行操作。然而,该模型早期研究时验算过的轨迹,始终处于我们的关注范围之外。在这篇文章中。我想向您介绍一种填补此空白的方法。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 4 部分):三角移动平均线 — 指标信号

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

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

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

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

因果推理中的倾向性评分

本文探讨因果推理中的匹配问题。匹配用于比较数据集中的类似观察结果,这对于正确确定因果关系和消除偏见是必要的。作者解释了这如何有助于构建基于机器学习的交易系统,这些系统在没有经过训练的新数据上变得更加稳定。倾向性评分在因果推理中起着核心作用并被广泛应用。
preview
MQL5中的替代风险回报标准

MQL5中的替代风险回报标准

在这篇文章中,我们介绍了几种被称为夏普比率(Sharpe ratio)替代品的风险回报标准的实现,并检查了假设的权益曲线以分析其特征。
preview
将您自己的 LLM 集成到 EA 中(第 5 部分):使用 LLM 开发和测试交易策略(四) —— 测试交易策略

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

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

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

在离线学习期间,我们基于训练样本数据优化了智能体的政策。成品政策令智能体对其动作充满信心。然而,这种乐观情绪并不总是正当的,并且可能会在模型操作期间导致风险增加。今天,我们要寻找降低这些风险的方法之一。
preview
DoEasy 函数库中的时间序列(第五十八部分):指标缓冲区数据的时间序列

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

关于操控时间序列的主题总结,诸如组织存储、针对存储在指标缓冲区中的数据进行搜索和分类,如此即可在程序里利用函数库创建指标值,并进一步据其执行分析。 函数库的所有集合类的一般概念,能够轻松地在相应的集合中找到必要的数据。 在今天创建的类中,也可分别完成同样功能。
preview
神经网络变得轻松(第四十八部分):降低 Q-函数高估的方法

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

在上一篇文章中,我们概述了 DDPG 方法,它允许在连续动作空间中训练模型。然而,与其它 Q-学习方法一样,DDPG 容易高估 Q-函数的数值。这个问题往往会造成训练代理者时选择次优策略。在本文中,我们将研究一些克服上述问题的方式。
preview
开发多币种 EA 交易(第 4 部分):虚拟挂单和保存状态

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

在开始开发多币种 EA 后,我们已经取得了一些成果,并成功地进行了多次代码改进迭代。但是,我们的 EA 无法处理挂单,也无法在终端重启后恢复运行。让我们添加这些功能。
preview
CatBoost 模型中的交叉验证和因果推理基础及导出为 ONNX 格式

CatBoost 模型中的交叉验证和因果推理基础及导出为 ONNX 格式

本文提出了使用机器学习创建 EA 交易的方法。
preview
开发多币种 EA 交易(第 6 部分):自动选择实例组

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

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

构建和测试 Aroon 交易系统

在本文中,我们将学习在了解了 Aroon 指标(阿隆指标)的基础知识和基于该指标构建交易系统的必要步骤之后,如何构建 Aroon 交易系统。建立这个交易系统后,我们将对其进行测试,看看它是否能盈利,还是需要进一步优化。
preview
MQL5 简介(第 11 部分):MQL5 中使用内置指标的初学者指南(二)

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

了解如何使用 RSI、MA 和随机震荡指标等多种指标在 MQL5 中开发 EA 交易来检测隐藏的看涨和看跌背离。学习实施有效的风险管理并通过详细的示例和完整注释的源代码实现交易自动化,以达到教育目的!
preview
理解编程范式(第 2 部分):面向对象方式开发价格行为智能系统

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

学习面向对象的编程范式,及其在 MQL5 代码中的应用。这是第二篇文章,更深入地讲解面向对象编程的规范,并通过一个实际示例提供上手经验。您将学习如何运用 EMA 指标,和烛条价格数据,将我们早期开发的过程化价格行为智能系统转换为面向对象的代码。
preview
如何利用 MQL5 创建简单的多币种智能交易系统(第 7 部分):依据动量振荡器指标的之字折线

如何利用 MQL5 创建简单的多币种智能交易系统(第 7 部分):依据动量振荡器指标的之字折线

本文中的多货币智能系统是利用之字折线(ZigZag)指标的自动交易系统,该指标依据动量振荡器过滤、或彼此过滤信号。
preview
开发多币种 EA 交易系统(第 16 部分):不同报价历史对测试结果的影响

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

正在开发中的 EA 预计在与不同经纪商进行交易时都会表现出良好的效果。但目前我们一直使用 MetaQuotes 模拟账户的报价进行测试。让我们看看我们的 EA 是否准备好使用与测试和优化期间使用的报价不同的交易账户。
preview
MQL5中的自动化交易策略(第七部分):构建具备仓位动态调整功能的网格交易EA

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

在本文中,我们将在 MQL5 中构建一个使用动态仓位缩放的网格交易EA。我们将涵盖策略设计、代码实现和回测过程。最后,我们将分享用于优化该自动化交易系统的关键方案和最佳实践。
preview
您应当知道的 MQL5 向导技术(第 45 部分):蒙特卡洛强化学习

您应当知道的 MQL5 向导技术(第 45 部分):蒙特卡洛强化学习

蒙特卡洛是我们正在研究的第四种不同的强化学习算法,目的是探索它在向导汇编智能交易系统中的实现。尽管它锚定在随机抽样,但它提供了我们可以利用的多种模拟方法。
preview
MQL5 中的定量分析:实现有前途的算法

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

我们将分析什么是定量分析,以及主要参与者如何运用定量分析的问题。我们将用 MQL5 语言创建一种定量分析算法。
preview
神经网络变得简单(第 70 部分):封闭式政策改进运算器(CFPI)

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

在本文中,我们将领略一种算法,其使用封闭式政策改进运算器来优化离线模式下的智能体动作。
preview
改编版 MQL5 网格对冲 EA(第 IV 部分):优化简单网格策略(I)

改编版 MQL5 网格对冲 EA(第 IV 部分):优化简单网格策略(I)

在第四篇中,我们重新审视了之前开发的“简单对冲”和“简单网格”智能系统(EA)。我们的专注点转移到通过数学分析和暴力方式完善简单网格 EA,旨在优化策略用法。本文深入策略的数学优化,为在以后文章中探索未来基于编码的优化奠定了基础。
preview
神经网络变得轻松(第四十九部分):软性扮演者-评价者

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

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

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

我们创建的模型变得越来越大,越来越复杂。这不光提高了它们的训练成本,还有操作成本。不过,做出决定所需的时间往往很关键。有关于此,我们来研究在不损失品质的情况下优化模型性能的方法。
preview
开发多币种 EA 交易 (第 10 部分):从字符串创建对象

开发多币种 EA 交易 (第 10 部分):从字符串创建对象

EA 开发计划包括几个阶段,中间结果保存在数据库中,它们只能作为字符串或数字而不是对象再次从那里读取。因此,我们需要一种方法来根据从数据库读取的字符串重新创建 EA 中的所需对象。
preview
开发回放系统(第30部分):EA交易项目——C_Mouse类(四)

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

今天,我们将学习一种技术,它可以在程序员职业生涯的不同阶段对我们有很大帮助。通常,受到限制的不是平台本身,而是谈论限制的人的知识。这篇文章将告诉你,凭借常识和创造力,你可以让 MetaTrader 5 平台变得更加有趣和通用,而无需创建疯狂的程序或类似的东西,并创建简单但安全可靠的代码。我们将利用我们的创造力修改现有代码,而不删除或添加源代码中的任何一行。
preview
您应当知道的 MQL5 向导技术(第 09 部分):K-Means 聚类与分形波配对

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

“K-均值”聚类采用数据点分组的方式,该过程最初侧重于数据集的宏观视图,使用随机生成的聚类质心,然后放大并调整这些质心,从而准确表示数据集。我们将对此进行研究,并开拓一些它的用例。
preview
获取市场优势的秘诀(第二部分):预测技术指标

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

你知道吗?与预测交易标的的基础价格相比,我们预测某些技术指标时能获得更高的准确性。加入我们,一起探索如何利用这一想法来制定更好的交易策略。
preview
MQL5 向导技巧须知(第27部分):移动平均线与攻击角度

MQL5 向导技巧须知(第27部分):移动平均线与攻击角度

攻击角度是一个经常被引用的指标,其陡峭程度被认为与当前趋势的强度密切相关。让我们来看一下通常如何使用和理解该指标,并探讨在测量时是否可以做出一些改变,以优化那些将其纳入交易系统的应用效果。
preview
创建 MQL5-Telegram 集成 EA 交易 (第一部分):从 MQL5 发送消息到 Telegram

创建 MQL5-Telegram 集成 EA 交易 (第一部分):从 MQL5 发送消息到 Telegram

在本文中,我们在 MQL5 中创建一个 EA 交易,以使用机器人向 Telegram 发送消息。我们设置必要的参数,包括机器人的 API 令牌和聊天 ID,然后通过执行 HTTP POST 请求来传递消息。之后,我们将处理响应以确保成功传达,并排除故障时出现的任何问题。这确保我们能够通过创建的机器人将消息从 MQL5 发送到 Telegram。
preview
MQL5自动化交易策略(第二部分):基于一目均衡表与动量震荡器的云突破交易系统

MQL5自动化交易策略(第二部分):基于一目均衡表与动量震荡器的云突破交易系统

在本文中,我们将创建一个智能交易系统(EA),利用一目均衡表指标与动量震荡器,实现云图突破策略的自动化交易。我们将逐步解析以下核心流程:指标句柄初始化、突破条件检测和自动化交易执行。此外,我们还实现追踪止损机制与动态仓位管理,以提升EA的盈利能力及对市场波动的适应性。
preview
创建一个基于日波动区间突破策略的 MQL5 EA

创建一个基于日波动区间突破策略的 MQL5 EA

在本文中,我们将创建一个基于日波动区间突破策略的 MQL5 EA。我们阐述该策略的关键概念,设计EA框架蓝图,并在 MQL5 语言中实现突破策略逻辑。最后,我们将探讨用于回测和优化EA的技术,以最大限度地提高其有效性。
preview
MQL5 简介(第 17 部分):构建趋势反转 EA 交易

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

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

MQL5 交易工具包(第 3 部分):开发挂单管理 EX5 库

了解如何在 MQL5 代码或项目中开发和实现全面的挂单 EX5库。本文将向您展示如何创建一个全面的挂单管理 EX5 库,并通过构建交易面板或图形用户界面(GUI)来指导您导入和实现它。EA 交易订单面板将允许用户直接从图表窗口上的图形界面打开、监控和删除与指定幻数相关的挂单。
preview
神经网络变得轻松(第五十三部分):奖励分解

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

我们已经不止一次地讨论过正确选择奖励函数的重要性,我们通过为单独动作添加奖励或惩罚来刺激代理者的预期行为。但是关于由代理者解密我们的信号的问题仍旧悬而未决。在本文中,我们将探讨将单独信号传输至已训练代理者时的奖励分解。
preview
开发多币种 EA 交易(第 19 部分):创建用 Python 实现的阶段

开发多币种 EA 交易(第 19 部分):创建用 Python 实现的阶段

到目前为止,我们已经探讨了仅在标准策略测试器中启动顺序程序以优化 EA 的自动化。但是,如果我们想在两次启动之间使用其他方法对获得的数据进行一些处理呢?我们将尝试添加创建由用 Python 编写的程序执行的新优化阶段的功能。
preview
开发多币种 EA 交易系统(第 15 部分):为真实交易准备 EA

开发多币种 EA 交易系统(第 15 部分):为真实交易准备 EA

当我们逐渐接近获得一个现成的 EA 时,我们需要注意在测试交易策略阶段看似次要的问题,但在转向真实交易时变得重要。