MQL5编程文章

icon

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

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

添加一个新的文章
最近 | 最佳
preview
MQL5自动化交易策略(第十八部分):基于包络线趋势反弹的剥头皮交易——核心架构与信号生成(1)

MQL5自动化交易策略(第十八部分):基于包络线趋势反弹的剥头皮交易——核心架构与信号生成(1)

本文中,我们将构建包络线趋势反弹剥头皮EA的核心架构。我们初始化包络线等信号生成所需的指标。同时,我们还将搭建回测环境,为下一篇文章中的交易执行环节做好准备。
preview
开发回放系统 — 市场模拟(第 18 部分):跳价和更多跳价(II)

开发回放系统 — 市场模拟(第 18 部分):跳价和更多跳价(II)

显然,目前的衡量度与创建 1-分钟柱线的理想时间相距甚远。这是我们要率先解决的一件事。解决同步问题并不困难。也许这看起来很难,但实际上却很简单。在上一篇文章中,我们没有进行所需的调整,因为它的目的是解释如何把图表上创建 1-分钟柱线的跳价数据转移至市场观察窗口。
preview
交易中的神经网络:具有层化记忆的智代(终篇)

交易中的神经网络:具有层化记忆的智代(终篇)

我们继续致力于创建 FinMem 框架,其采用层化记忆方式,即模拟人类认知过程。这令该模型不仅能有效处理复杂的财务数据,还能适应新信号,显著提升了在动态变化市场中投资决策的准确性和有效性。
preview
价格行为分析工具包开发(第十五部分):引入四分位理论(1)——四分位绘图脚本

价格行为分析工具包开发(第十五部分):引入四分位理论(1)——四分位绘图脚本

支撑位与阻力位是预示潜在趋势反转和延续的关键价位。尽管识别这些价位颇具挑战性,但一旦精准定位,您便能从容应对市场波动。如需进一步辅助,请参阅本文介绍的四分位绘图工具,该工具可帮助您识别主要及次要支撑位与阻力位。
preview
您应当知道的 MQL5 向导技术(第 13 部分):智能信号类 DBSCAN

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

《基于密度的空间聚类参与噪声应用》是一种无监督的数据分组形式,除 2 个参数外,几乎不需要任何输入参数,比之其它方式,譬如 k-平均,这是一个福音。我们深入研究使用由向导组装的智能系统如何在测试、及最终交易时起到建设性作用。
preview
将您自己的 LLM 集成到 EA 中(第 5 部分):使用 LLM 开发和测试交易策略(二)-LoRA-调优

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

随着当今人工智能的快速发展,语言模型(LLMs)是人工智能的重要组成部分,因此我们应该考虑如何将强大的 LLMs 整合到我们的算法交易中。对于大多数人来说,很难根据他们的需求微调这些强大的模型,在本地部署它们,然后将它们应用于算法交易。本系列文章将采取循序渐进的方法来实现这一目标。
preview
使用Python和MQL5进行多交易品种分析(第一部分):纳斯达克集成电路制造商

使用Python和MQL5进行多交易品种分析(第一部分):纳斯达克集成电路制造商

加入我们的讨论,了解如何利用人工智能(AI)优化您的仓位规模和订单数量,以最大化您的投资组合回报。我们将展示如何通过算法识别一个最优的投资组合,并根据您的回报预期或风险承受能力来调整投资组合。在本次讨论中,我们将使用SciPy库和MQL5语言,利用所拥有的全部数据创建一个最优且多样化的投资组合。
preview
MQL5交易管理面板开发(第九部分):代码组织(4):交易管理面板类

MQL5交易管理面板开发(第九部分):代码组织(4):交易管理面板类

本文探讨我们在New_Admin_Panel智能交易系统(EA)中更新交易管理面板(TradeManagementPanel)。此次更新通过引入内置类组件,显著提升了面板的用户友好性,为交易者提供了直观的交易管理界面。其内置交易按钮,可一键开仓,并提供管理现有持仓与挂单的控制选项。核心亮点是集成的风险管理功能——可直接在界面内设置止损与止盈值。此次更新优化了大型程序的代码组织方式,并简化了对终端中常见繁杂订单管理工具的访问。
preview
MQL5交易策略自动化(第二十一部分):借助自适应学习率提升神经网络交易效果

MQL5交易策略自动化(第二十一部分):借助自适应学习率提升神经网络交易效果

在本文中,我们通过引入自适应学习率机制来增强MQL5中的神经网络交易策略,以提高交易准确性。我们设计并实现了这一机制,随后对其性能进行测试。本文结尾总结了有关算法交易的优化见解。
preview
将 ML 模型与策略测试器集成(第 3 部分):CSV(II)文件管理

将 ML 模型与策略测试器集成(第 3 部分):CSV(II)文件管理

这篇资料提供了以 MQL5 创建类,从而高效管理 CSV 文件的完整指南。 我们将看到打开、写入、读取、和转换数据等方法的实现。 我们还将研究如何使用它们来存储和访问信息。 此外,我们将讨论使用该类的限制和最重要的方面。 本文对于那些想要学习如何在 MQL5 中处理 CSV 文件的人来说是一个宝贵的资源。
preview
开发多币种 EA 交易系统(第 15 部分):为真实交易准备 EA

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

当我们逐渐接近获得一个现成的 EA 时,我们需要注意在测试交易策略阶段看似次要的问题,但在转向真实交易时变得重要。
preview
交易中的神经网络:统一轨迹生成模型(UniTraj)

交易中的神经网络:统一轨迹生成模型(UniTraj)

理解个体在众多不同领域的行为很重要,但大多数方法只专注其中一项任务(理解、噪声消除、或预测),这会降低它们在现实中的有效性。在本文中,我们将领略一个可以适配解决各种问题的模型。
preview
神经网络变得简单(第 59 部分):控制二分法(DoC)

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

在上一篇文章中,我们领略了决策变换器。但是,外汇市场复杂的随机环境不允许我们充分发挥所提议方法的潜能。在本文中,我将讲述一种算法,旨在提高在随机环境中的性能。
preview
DoEasy 函数库中的图形(第九十七部分):独立处理窗体对象移动

DoEasy 函数库中的图形(第九十七部分):独立处理窗体对象移动

在本文中,我将研究实现鼠标独立拖动任何窗体对象。 此外,我还将在该函数库里补充错误消息和之前在终端和 MQL5 中实现的新成交属性。
preview
神经网络变得简单(第 96 部分):多尺度特征提取(MSFformer)

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

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

市场模拟(第七部分):套接字(一)

套接字,你知道它们在 MetaTrader 5 中的用途或使用方法吗?如果答案是否定的,那么让我们从研究它们开始。在今天的文章中,我们将介绍一些基础知识。由于有几种方法可以做同样的事情,而且我们总是对结果感兴趣,我想证明确实有一种简单的方法可以将数据从 MetaTrader 5 传输到其他程序,如 Excel。然而,主要目的不是将数据从 MetaTrader 5 传输到 Excel,而是相反,即将数据从 Excel 或任何其他程序传输到 MetaTrader 5。
preview
神经网络变得轻松(第五十部分):软性扮演者-评价者(模型优化)

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

在上一篇文章中,我们实现了软性扮演者-评论者算法,但未能训练出一个可盈利的模型。在此,我们将优化先前创建的模型,以期获得所需的结果。
preview
两样本Kolmogorov-Smirnov检验作为时间序列非平稳性的指标

两样本Kolmogorov-Smirnov检验作为时间序列非平稳性的指标

本文探讨了最著名的非参数同质性检验之一——两样本柯尔莫哥洛夫-斯米尔诺夫(Kolmogorov-Smirnov)检验。文章对模型数据和实际价格都进行了分析。此外,本文还给出了构建非平稳性指标(iSmirnovDistance)的一个示例。
preview
流动性攫取交易策略

流动性攫取交易策略

流动性攫取交易策略是智能资金概念(SMC)的核心组成部分,旨在识别并利用市场中机构投资者的操作行为。该策略聚焦于高流动性区域(如支撑位或阻力位),在这些区域,大额订单可引发价格波动,随后市场恢复原有趋势。本文将详细阐释流动性攫取的概念,并概述如何在MQL5中开发流动性攫取交易策略的智能交易系统(EA)。
preview
如何构建并优化基于成交量的交易系统——蔡金资金流指标(Chaikin Money Flow - CMF)

如何构建并优化基于成交量的交易系统——蔡金资金流指标(Chaikin Money Flow - CMF)

在本文中,我们将在明确如何构建、计算和使用基于成交量的指标——蔡金资金流指标(Chaikin Money Flow,CMF)之后,对该指标进行介绍。我们将了解如何构建自定义指标。我们会分享一些可用的简单策略,然后对这些策略进行测试,以了解哪种策略更优。
preview
您应当知道的 MQL5 向导技术(第 39 部分):相对强度指数

您应当知道的 MQL5 向导技术(第 39 部分):相对强度指数

RSI 是一款流行的动量震荡指标,衡量证券近期价格变化的速度和规模,从而评估证券价格中被高估和低估的情况。这些对速度和幅度的洞察是定义反转点的关键。我们将这个振荡器放入另一个自定义信号类中工作,并验证其信号的一些特征。不过,我们先从总结我们之前在布林带的内容开始。
preview
神经网络变得简单(第 60 部分):在线决策转换器(ODT)

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

最近两篇文章专门介绍了决策转换器方法,其在期望奖励的自回归模型境况下针对动作序列进行建模。在本文中,我们将研究该方法的另一种优化算法。
preview
开发多币种 EA 交易(第 7 部分):根据前向时间段选择组

开发多币种 EA 交易(第 7 部分):根据前向时间段选择组

在此之前,我们曾对一组交易策略实例的选择进行过评估,目的是改进它们的联合运行结果,但这只是在对单个实例进行优化的同一时间段进行的。让我们拭目以待在前向时间段会发生什么。
preview
交易中的神经网络:用于时间序列预测的轻量级模型

交易中的神经网络:用于时间序列预测的轻量级模型

轻量级时间序列预测模型使用最少的参数数量实现高性能。这反过来减少了计算资源的消耗并加快了决策速度。尽管是轻量级的,这些模型实现了与更复杂模型相当的预测质量。
preview
MQL5中的范畴论(第23部分):对双重指数移动平均的不同看法

MQL5中的范畴论(第23部分):对双重指数移动平均的不同看法

在这篇文章中,我们继续我们的主题,最后是从“新”的角度处理日常交易指标。我们正在为这篇文章处理自然变换的水平组合,而这方面的最佳指标是双重指数移动平均(DEMA),它扩展了我们刚刚涵盖的内容。
preview
矩阵分解基础知识

矩阵分解基础知识

由于这里的目标是教学,我们将尽可能简单地进行。也就是说,我们将只实现所需的功能:矩阵乘法。今天您将看到,这足以模拟矩阵标量乘法。许多人在使用矩阵分解实现代码时遇到的最大困难是:与标量分解不同,在标量分解中,几乎所有情况下因子的顺序都不会改变结果,但使用矩阵时情况并非如此。
preview
DoEasy. 控件 (第 18 部分): TabControl 中滚动选项卡的功能

DoEasy. 控件 (第 18 部分): TabControl 中滚动选项卡的功能

在本文中,我将在 TabControl WinForms 对象中放置滚动标题控件的按钮,以防标题栏不适配控件的尺寸。 此外,我还将实现单击裁剪过的选项卡标题时,标题栏的平移。
preview
在 MQL5 中实现广义赫斯特指数和方差比检验

在 MQL5 中实现广义赫斯特指数和方差比检验

在本文中,我们将研究如何利用广义赫斯特指数(Generalized Hurst Exponent)和方差比检验(Variance Ratio Test)来分析 MQL5 中价格序列的行为。
preview
MQL5中的范畴论(第21部分):使用LDA的自然变换

MQL5中的范畴论(第21部分):使用LDA的自然变换

这篇文章是我们系列的第21篇,继续研究自然变换以及如何使用线性判别分析(linear discriminant analysis,LDA)来实现它们。我们以信号类格式展示了它的应用程序,就像在前一篇文章中一样。
preview
在MQL5中置换价格柱

在MQL5中置换价格柱

在这篇文章中,我们提出了一种置换价格柱的算法,并详细说明了如何使用置换测试来识别策略性能被编造来欺骗 EA 交易的潜在买家的情况。
preview
神经网络实践:最小二乘法

神经网络实践:最小二乘法

在本文中,我们将探讨一些想法,包括数学公式在外观上怎么会比用代码实现时更复杂。此外,我们还将考虑如何设置图表的象限,以及 MQL5 代码中可能出现的一个有趣问题。不过,说实话,我还是不太明白该如何解释。总之,我会告诉你如何用代码解决这个问题。
preview
在任何市场中获得优势(第四部分):CBOE欧元和黄金波动率指数

在任何市场中获得优势(第四部分):CBOE欧元和黄金波动率指数

我们将分析芝加哥期权交易所(CBOE)整理的替代数据,以提高我们的深度神经网络在预测XAUEUR货币对时的准确性。
preview
在任何市场中获得优势(第五部分):联邦储备经济数据库(FRED)欧元兑美元( EURUSD)可替代数据

在任何市场中获得优势(第五部分):联邦储备经济数据库(FRED)欧元兑美元( EURUSD)可替代数据

在今天的讨论中,我们使用了圣路易斯联邦储备银行(St. Louis Federal Reserve)提供的关于广义美元指数以及其他一系列宏观经济指标的可替代日数据,来预测欧元兑美元(EURUSD)未来的汇率。遗憾的是,尽管数据似乎具有近乎完美的相关性,但我们在模型准确性方面未能实现任何实质性提升,这可能暗示投资者最好采用常规的市场价格数据。
preview
MQL5交易工具(第一部分):构建交互式可视化挂单交易助手工具

MQL5交易工具(第一部分):构建交互式可视化挂单交易助手工具

本文将介绍如何使用MQL5开发一款交互式交易助手工具,旨在简化外汇交易中的挂单操作流程。我们首先阐述其核心设计理念:通过用户友好的图形界面(GUI),实现图表上直观设置入场点、止损位和止盈位的功能。此外,本文将详细说明MQL5代码实现过程及回测验证方法,确保工具的可靠性,并为后续高级功能开发奠定基础。
preview
MQL5 简介(第 9 部分):理解和使用 MQL5 中的对象

MQL5 简介(第 9 部分):理解和使用 MQL5 中的对象

学习使用当前和历史数据在 MQL5 中创建和自定义图表对象。本基于项目的指南可帮助您可视化交易并实际应用 MQL5 概念,从而更容易构建适合您交易需求的工具。
preview
开发基于订单簿的交易系统(第一部分):指标

开发基于订单簿的交易系统(第一部分):指标

市场深度无疑是执行快速交易的一个非常重要的因素,特别是在高频交易(HFT)算法中。在本系列文章中,我们将探讨这种类型的交易事件,这些事件可以通过经纪商在许多可交易的交易品种上获得。我们将从一个指标开始,您可以在其中自定义直接显示在图表上的直方图的调色板、位置和大小。我们还将研究如何生成 BookEvent 事件,以在特定条件下测试指标。未来文章的其他可能主题包括如何存储价格分布数据以及如何在策略测试器中使用它。
preview
神经网络变得简单(第 76 部分):配合多未来变换器探索不同的交互形态

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

本文继续探讨预测即将到来的价格走势的主题。我邀请您领略多未来变换器架构。其主要思路是把未来的多模态分布分解为若干个单模态分布,这样就可以有效地模拟场景中个体之间互动的各种模态。
preview
如何使用 MetaTrader 和 Google Sheets 创建交易日志

如何使用 MetaTrader 和 Google Sheets 创建交易日志

使用 MetaTrader 和 Google Sheets 创建交易日志!您将学习如何通过 HTTP POST 同步您的交易数据,并使用 HTTP 请求来获取它。最后,您有一个交易日志,可以帮助您有效地跟踪您的交易。
preview
Connexus入门(第一部分):如何使用WebRequest函数?

Connexus入门(第一部分):如何使用WebRequest函数?

本文是‘Connexus’库开发系列的开篇之作,旨在为MQL5环境下的HTTP请求提供便利支持。该项目的目的是为终端用户提供这个机会,并展示如何使用这个辅助库。我打算尽可能地简化,以便于学习,从而为进一步开发提供可能性。
preview
利用CatBoost机器学习模型作为趋势跟踪策略的过滤器

利用CatBoost机器学习模型作为趋势跟踪策略的过滤器

CatBoost是一种强大的基于树的机器学习模型,擅长基于静态特征进行决策。其他基于树的模型,如XGBoost和随机森林(Random Forest),在稳健性、处理复杂模式的能力以及可解释性方面具有相似特性。这些模型应用广泛,可用于特征分析、风险管理等多个领域。在本文中,我们将逐步介绍如何将训练好的CatBoost模型用作经典移动平均线交叉趋势跟踪策略的过滤器。