从基础到中级:函数指针
在编程方面,您可能已经听说过指针。但是您知道我们可以在 MQL5 中使用这种类型的数据吗?当然,必须以一种让我们始终保持控制、避免程序在执行时出现异常行为的方式来使用它。尽管如此,由于这是一个具有非常特定目的且针对特定类型任务的功能,因此很少听到有人讨论指针是什么以及如何在 MQL5 中使用它。
您应该了解的MQL5向导技巧(第七十六部分):利用AO形态与包络通道进行监督学习建模
本文承接前一篇文章。之前我们介绍了动量震荡指标(AO)与包络通道组合指标,本篇将探讨如何通过监督学习对该组合进行优化增强。动量震荡指标与包络通道是一组在趋势识别与支撑/阻力判断方面彼此互补的指标组合。我们采用的监督学习模型为卷积神经网络(CNN),该网络通过点积核函数与跨时间注意力机制自适应调整卷积核与通道维度。与之前相同,相关逻辑封装在自定义信号类文件中,可配合MQL5向导组装成智能交易系统(EA)。
市场模拟(第 19 部分):SQL 入门(二)
正如我们在第一篇关于 SQL 的文章中所解释的那样,没有必要花费时间编写程序来执行 SQL 中已经内置的功能。然而,如果不了解基础知识,你就无法使用 SQL 或充分利用这个工具所提供的一切功能。因此,在本文中,我们将探讨如何在数据库中执行基本任务。
MQL5 向导技巧(第七十七部分):使用 Gator 振荡器与积累/派发振荡器(AD Oscillator)
Gator 振荡器(Gator Oscillator)由比尔·威廉姆斯(Bill Williams)开发,与累积/派发振荡器(Accumulation/Distribution Oscillator)是另一对可在 MQL5 EA 中协同使用的指标组合。我们使用 Gator 振荡器来确认趋势,同时使用 AD 振荡器通过检查成交量来确认趋势。在探索这种指标组合时,我们一如既往地使用 MQL5 向导来构建和测试它们的潜力。
MQL5中的价格时间缺口分析(第二部分):构建时间维度下的流动性分布热力图
这是一份详细的MetaTrader 5热力图指标构建教程,能够可视化展示价格随时间的分布状态。本文阐述了时间密度分析的数学原理,将各个价格区间以色彩区分:红色代表价格停留时间最短,蓝色代表价格停留时间最长。
市场模拟(第 23 部分):仓位视图(一)
接下来我们将要介绍的内容,在理论和概念方面要复杂得多。我会让这些材料尽可能简单易懂。编程部分本身相当简单明了。但是,如果你不了解背后的理论,那么在将回放模拟系统改进或调整以适应不同于我将要展示的任务时,你就几乎没有任何可用于进一步改进或适配系统的实际依据。我不希望你只是编译和使用我提供的代码。我希望你能学习、理解,并且如果可能的话,能够创造出更好的东西。
您应该了解的MQL5向导技巧(第七十八部分):鳄鱼振荡器与AD指标的市场韧性策略
本文介绍鳄鱼震荡器与积累/派发(AD)指标系统化交易方法的后半部分内容。作者新增五种信号形态,演示如何过滤虚假走势、捕捉早期反转,并在多时间周期上实现信号共振。文中附带清晰的代码示例与性能测试结果,为 MQL5 开发者搭建了从理论到实践的桥梁。
神经网络在交易中的应用:不依赖特定数据的时间序列泛化(Mamba4Cast)
在本文中,我们介绍了 Mamba4Cast 框架,并深入探讨了其关键组件之一:基于时间戳的位置编码。本文展示了如何结合数据的日历结构来构建时间嵌入。
数据科学与机器学习(第四十五部分):利用Facebook的Prophet模型进行外汇时间序列预测
Prophet模型由Facebook研发,是一款稳健的时间序列预测工具,能够自动捕捉趋势、季节性与节假日效应,且几乎无需人工调整。该模型已被广泛应用于需求预测与商业规划。在本文中,我们将探讨Prophet模型在外汇交易品种波动率预测中的效果,展示其如何应用于传统商业场景之外的任务。
交易机器人风险管理器(第一部分):EA风控头文件
交易对风控纪律有着极高的要求。本文分析了交易者亏损的主要原因,并针对MQL5平台提出一套技术方案 —— CEnhancedRiskManager(增强型风险管理器)类,并在激进网格EA上完成了实操测试。
MQL5中的自优化智能交易系统(第十一部分):线性代数基础入门
在本文中,我们将为使用MQL5矩阵与向量API中强大的线性代数工具奠定基础。想要熟练运用此套API,我们必须牢固掌握支撑这些方法合理使用的线性代数原理。本文旨在让读者直观理解,作为MQL5算法交易者,入门并利用这一强大库所需的一些最重要的线性代数规则。
在MQL5中自定义交易品种:创建三维K线自定义品种
本文详细讲解创新指标文件3DBarCustomSymbol.mq5的完整制作流程,该指标可在MetaTrader 5中生成自定义品种,将价格、时间、成交量与波动率整合为一体化三维可视化图形。我们会讲解其数学理论基础、系统架构、实操实现步骤,以及在交易策略中的实际应用方式。
协方差矩阵自适应演化策略(CMA-ES)
本文探讨了一种最有趣的非梯度优化算法,该算法能够学习理解目标函数的几何特性。我们将重点关注对 CMA-ES 的经典实现,并稍作修改 — 用幂律分布代替正态分布。我们将深入探究算法背后的数学原理以及实际实现方式,并验证 CMA-ES 在哪些方面无懈可击,以及在哪些方面应避免使用。
人工原子算法(A3)
本文介绍如何在 MQL5 中实现人工原子算法(A3)—— 一种受化学过程启发的元启发式优化算法。该算法只有两个可调参数:紧凑性和较小的种群规模,这保证了较高的运行速度,同时保持了足够的解质量。
从基础到中级:对象事件(四)
在本文中,我们将完成上一篇文章中已经开始的内容:一种直接在图表上以完全交互的方式调整对象大小的方法。尽管许多人认为创建这样的功能需要对 MQL5 有更深入的了解,但您将看到,只需运用简单的概念和基础知识,我们就可以实现一种直接在图表上操作对象的方法。这样最终会得到一个既有趣又相当吸引人的结果。
交易中的神经网络:一种跨领域时间序列预测框架(TimeFound)
本文将分步搭建 TimeFound 智能模型的核心模块,使其适配真实场景下的时序预测任务。如果你希望了解神经网络分块算法在 MQL5 中的工程落地实现,那么本文正是为你准备的。
基于协整股票的统计套利(第二部分):EA、回测与优化
本文展示一个智能交易系统(EA)示例,用于交易一篮子四只纳斯达克股票。选股流程如下:首先通过皮尔逊相关系数检验进行初步筛选;再对筛选后的股票组进行约翰森协整检验;最后通过ADF检验与KPSS检验验证协整价差的平稳性。本文将对这一流程做补充说明,并展示经过小幅优化后的回测结果。
交易中的神经网络:面向准确分类的有效特征提取(Mantis)
认识Mantis —— 一款基于 Transformer 架构的轻量级时间序列分类基础模型,采用对比预训练与混合注意力机制,实现创纪录的精度,并具备出色的可扩展性。
精通日志记录(第十部分):通过抑制机制避免日志重复输出
我们在 Logify 函数库中搭建了一套日志抑制系统。本文详细讲解 CLogifySuppression 类如何通过可配置规则过滤重复、无关日志消息,减少控制台冗余信息。同时本文还介绍外部配置框架、参数校验机制以及完整测试方案,保障 EA、指标开发过程中日志记录能力稳定、灵活。
市场模拟(第 23 部分):SQL 入门(六)
在本文中,我们将探讨如何可视化一个数据库,并借此了解其结构。这是通过分析数据库的内部结构来实现的。虽然乍一看这似乎没有必要,但如果我们真的想成为数据库管理员,那么这样做是完全合理的。毕竟,有些人以维护和设计数据库为生。
从基础到中级:对象(三)
在今天的文章中,我们将探讨如何实现一个极具吸引力和趣味性的交互系统,特别是对于那些刚开始学习 MQL5 编程的人来说。这里并没有任何全新的内容。得益于我对这个主题的处理方式,理解起来会容易得多,因为我们将通过实践,了解如何使用结构化的方法,以实用且引人入胜的目标来开发程序。
竞争性学习算法(CLA)
本文介绍了竞争性学习算法(CLA),这是一种基于模拟教育过程的新型元启发式优化方法。该算法将解的种群组织为若干班级,班级中包含学生,而每个班级中最优的学生充当教师。其中代理通过三种机制进行学习:跟随班级中的最优解、利用个人经验以及在班级之间共享知识。
市场模拟(第 24 部分):仓位视图(二)
在本文中,我将展示如何以最简单、最实用的方式使用指标来跟踪交易服务器上的未平仓位。我将逐步演示,以表明您并不一定需要将所有这些操作都转移到 EA 中。你们中的许多人可能因为这样或那样的原因已经习惯了这样做。事实上,这并不完全合理,因为随着这种实现方式的演变,您将清楚地看到,您可以为此目的创建或实现不同类型的指标。
从基础到中级:对象(二)
在今天的文章中,我们将探讨如何使用代码以一种简单的方式控制某些对象属性。我们还将了解自定义应用程序如何将多个对象放置在同一个图表上。此外,我们将开始认识到,为我们计划实现的任何指标分配一个简称的重要性。
使用MQL5实现Firebase数据的增删改查
本文提供一份循序渐进指南,带您掌握Firebase的CRUD(创建、读取、更新、删除)操作,重点聚焦实时数据库与Firestore。您将学习如何使用Firebase SDK方法高效管理Web与移动端应用的数据,涵盖新增记录、查询、修改以及删除数据条目。文中提供实用代码示例,并且介绍了实时场景下的数据结构设计与处理最佳实践,帮助开发者依托Firebase灵活的NoSQL(非关系型)架构,开发动态、可扩展的应用程序。
Parafrac震荡器:抛物线SAR与分形指标的组合
我们将探究如何把抛物线SAR与分形指标相结合,构建一款全新的震荡器。通过融合这两种工具各自独有的优势,交易者有望开发出一套更完善且更高效的交易策略。
从基础到中级:对象事件(三)
在本文中,我们将为下一篇文章所涵盖的内容奠定基础。我们还将探讨如何使 OBJ_LABEL 对象完全可交互,以便进行编辑和移动。换句话说,我们无需打开“对象属性”对话框,即可更改 OBJ_LABEL 对象的文本和位置。
从基础到中级:对象(四)
这可能是迄今为止最有趣的一篇文章。原因在于,我们将修改 MetaTrader 5 中已有的一个对象,以创建另一个原本不在该平台上的对象。当然,我们接下来要介绍的内容可能看起来有点疯狂,但它确实有效,并且具有非常有趣的用途。
从基础到中级:对象事件(一)
在本文中,我们将探讨当图表上的某个对象发生变化时,MetaTrader 5 可以生成的六个事件中的三个。从用户交互的角度来看,这些事件非常有用。这是因为,如果不了解这些事件,在尝试为特定目的管理对象时,我们将不得不付出更多的努力来维护特定的图表配置。
从基础到中级:在 MetaTrader 5 沙箱中处理文件
你知道什么是沙箱吗?你知道怎么操作它吗?如果这两个问题的答案都是“否”,请阅读本文以了解沙箱的基本工作原理。您还将了解为什么 MetaTrader 5 使用沙箱来保护其某些内部数据的完整性。本文所提供的材料纯粹用于教学目的。在任何情况下,你都不应将该应用程序视为最终产品,其目的仅限于研究所呈现的概念。
从新手到专家:使用MQL5实现动态新闻标题(9)—— 新闻交易中的单图表多品种管理
新闻行情往往伴随着剧烈波动,交易者需要在极短时间内管理多个持仓与交易品种。在本文中,我们将把多品种功能集成到新闻标题EA中,以集成多品种功能的方式应对多品种交易的挑战。接下来我们一起探讨,如何借助MQL5算法交易,让多品种交易变得更加高效、强大。
在线性自回归模型残差上训练非线性 U-Transformer
本文介绍一套用于汇率预测的创新混合系统,它将线性自回归模型与用于残差分析的 U-Transformer 架构相结合。系统会根据信号质量自动切换信号来源,并内置完整的交易逻辑,支持摊平加仓/金字塔加仓策略。该方法的核心优势在于:神经网络只在线性模型的残差上训练,从而简化了任务并降低过拟合风险。整套实现完全使用 MQL5 编写,可直接用于实盘交易,并具备随市场环境变化自动适应的能力。
您应该了解的MQL5向导技巧(第七十九部分):在监督学习中使用鳄鱼震荡指标和A/D震荡指标
在前一篇文章中,我们完成了对鳄鱼震荡指标与集散量(A/D)震荡指标组合的研究,分析二者在原生信号模式下的应用效果。这两个指标互为补充:鳄鱼震荡指标属于趋势指标,A/D震荡指标属于量能指标。本文作为续篇,研究如何利用监督式学习,优化前文所探讨的各类特征形态。我们采用的监督学习模型为卷积神经网络(CNN),该模型结合核回归与点积相似度,对卷积核和通道进行尺度配置。一如既往,我们将逻辑写在自定义信号类文件中,该文件可配合MQL5向导来生成EA。
市场模拟:仓位视图(三)
在之前的文章中,我们提到过有时需要为 ZOrder 属性设置一个值。但是为什么呢?原因在于,许多向图表添加对象的代码根本不使用(或者更准确地说,不定义)此属性的值。关键在于,我并不是来规定每个程序员应该或不应该做什么,或者他们应该或不应该如何编写代码的。亲爱的读者,我在此向您以及所有真正想了解这些过程内部运作原理的人展示,幕后究竟发生了什么。
MetaTrader 5中交易品种及其价差的小时级波动分析
带简单移动平均线(SMA)的ProSpread季节性指数指标是一款技术分析工具,用于识别价格走势中的季节性规律、分析特定交易时段的价格行为,该指标既支持单个交易品种,也可用于两个资产之间的价差分析。同时,它能够可视化价格定向波动的统计概率。