MQL5中的价格时间缺口分析(第二部分):构建时间维度下的流动性分布热力图
这是一份详细的MetaTrader 5热力图指标构建教程,能够可视化展示价格随时间的分布状态。本文阐述了时间密度分析的数学原理,将各个价格区间以色彩区分:红色代表价格停留时间最短,蓝色代表价格停留时间最长。
在线性自回归模型残差上训练非线性 U-Transformer
本文介绍一套用于汇率预测的创新混合系统,它将线性自回归模型与用于残差分析的 U-Transformer 架构相结合。系统会根据信号质量自动切换信号来源,并内置完整的交易逻辑,支持摊平加仓/金字塔加仓策略。该方法的核心优势在于:神经网络只在线性模型的残差上训练,从而简化了任务并降低过拟合风险。整套实现完全使用 MQL5 编写,可直接用于实盘交易,并具备随市场环境变化自动适应的能力。
基于协整股票的统计套利(第二部分):EA、回测与优化
本文展示一个智能交易系统(EA)示例,用于交易一篮子四只纳斯达克股票。选股流程如下:首先通过皮尔逊相关系数检验进行初步筛选;再对筛选后的股票组进行约翰森协整检验;最后通过ADF检验与KPSS检验验证协整价差的平稳性。本文将对这一流程做补充说明,并展示经过小幅优化后的回测结果。
神经网络在交易中的应用:一种端到端多变量时间序列预测模型(关键组件)
我们诚邀您探索 GinAR 框架关键组件的新实现 — 一种用于处理图结构时间序列的自适应算法。本文逐步分解了架构以及前向传播和误差反向传播的算法。
市场模拟:MQL5 中的 SQL 入门(五)
在上一篇文章中,我展示了如何添加查询机制。这是必要的,以便在 MQL5 代码中能够充分利用 SQL,并使用 SQL SELECT 查询来检索结果。但还有一个函数需要实现,即 DatabaseReadBind 函数。由于要正确理解这个函数需要稍作详细解释,因此决定不在上一篇文章中介绍,而是在今天的文章中详述。鉴于这个主题内容较多,让我们直接进入下一节。
市场模拟(第 24 部分):仓位视图(二)
在本文中,我将展示如何以最简单、最实用的方式使用指标来跟踪交易服务器上的未平仓位。我将逐步演示,以表明您并不一定需要将所有这些操作都转移到 EA 中。你们中的许多人可能因为这样或那样的原因已经习惯了这样做。事实上,这并不完全合理,因为随着这种实现方式的演变,您将清楚地看到,您可以为此目的创建或实现不同类型的指标。
交易中的神经网络:智能预测流程(稀疏混合专家)
我们将带大家探索在OpenCL计算环境下,时序稀疏混合专家模块的实际实现。本文会分步讲解掩码多窗口卷积的工作原理,以及多信息流场景下如何实现基于梯度的训练流程。
重构经典策略(第十五部分):日线突破交易策略
早在计算机出现之前,人工交易者就已投身金融市场,并总结出指导交易决策的经验法则。在本文中,我们重新研究一套知名的突破策略,来检验这种从实战中总结的市场逻辑,能否与系统化交易方法抗衡。研究结果表明:原始策略虽然胜率很高,但存在稳定性差、风险管控不足的问题。通过策略优化,我们展示如何将主观交易经验改造为更加稳健的算法交易策略。
交易中的神经网络:自适应周期分块(LightGTS)
本文将为大家介绍创新的自适应分块技术,这是一种在考虑时序数据内在周期性的前提下,对时间序列做灵活分块的方法。我们还会讲解一种高效编码技术,该技术在处理不同尺度的数据时,可以保留重要语义特征。金融市场数据具备复杂、多尺度的典型特点,上述两类方法为此类数据的精准处理开辟了新路径,能够显著提升预测结果的稳定性与可靠性。
人工原子算法(A3)
本文介绍如何在 MQL5 中实现人工原子算法(A3)—— 一种受化学过程启发的元启发式优化算法。该算法只有两个可调参数:紧凑性和较小的种群规模,这保证了较高的运行速度,同时保持了足够的解质量。
借助PythonAnywhere对接MetaTrader与谷歌表格:安全数据传输指南
本文介绍一种将MetaTrader数据导出至谷歌表格的安全实现方案。谷歌表格是十分理想的选择,它基于云端,存储在其中的数据可随时随地访问。交易者可以读取导出到谷歌表格的交易数据,随时随地展开分析,指导后续交易。
神经网络在交易中的应用:概率时间序列预测(K²VAE)
我们诚邀您探索 K²VAE 框架的原始实现 — 这是一个灵活的模型,能够线性近似潜在空间中的复杂动态。本文将演示如何在 MQL5 中实现关键组件,包括参数化矩阵,以及如何在标准神经网络层之外对这些矩阵进行管理。对于任何寻求构建可解释时间序列模型实用方法的人来说,本文材料都将大有裨益。
基于协整股票的统计套利(第三部分):数据库搭建
本文提供一个 MQL5 Service(服务)的实现示例,用于保持新建数据库及时更新;该数据库作为数据分析以及一篮子协整股票交易的数据来源。文中详细阐述数据库的设计思路,并整理数据字典以供查阅。配套提供MQL5与Python脚本,用于数据库创建、表结构初始化以及行情数据写入。
市场模拟:仓位视图(三)
在之前的文章中,我们提到过有时需要为 ZOrder 属性设置一个值。但是为什么呢?原因在于,许多向图表添加对象的代码根本不使用(或者更准确地说,不定义)此属性的值。关键在于,我并不是来规定每个程序员应该或不应该做什么,或者他们应该或不应该如何编写代码的。亲爱的读者,我在此向您以及所有真正想了解这些过程内部运作原理的人展示,幕后究竟发生了什么。
从基础到进阶:图表对象(I)
在本文中,我们将开始讲解如何在图表上直接操作图形对象。相关示例使用专为演示编写的代码实现。图形对象编程十分有趣,能给人带来许多快乐。由于这是我们初次接触该主题,将从非常基础的内容入手。
从基础到中级:对象事件(三)
在本文中,我们将为下一篇文章所涵盖的内容奠定基础。我们还将探讨如何使 OBJ_LABEL 对象完全可交互,以便进行编辑和移动。换句话说,我们无需打开“对象属性”对话框,即可更改 OBJ_LABEL 对象的文本和位置。
交易中的神经网络:自适应周期分块(Token生成)
诚邀您开启一段精彩旅程,一同探索金融时间序列自适应分析领域,了解如何将复杂谱分析与灵活卷积转化为可落地的交易信号。您将看到LightGTS如何捕捉市场节奏,借助可变窗口步长机制适配市场变化;同时了解OpenCL加速如何让高速计算成为获取盈利决策的快车道。
从基础到中级:在 MetaTrader 5 沙箱中处理文件
你知道什么是沙箱吗?你知道怎么操作它吗?如果这两个问题的答案都是“否”,请阅读本文以了解沙箱的基本工作原理。您还将了解为什么 MetaTrader 5 使用沙箱来保护其某些内部数据的完整性。本文所提供的材料纯粹用于教学目的。在任何情况下,你都不应将该应用程序视为最终产品,其目的仅限于研究所呈现的概念。
使用MQL5实现Firebase数据的增删改查
本文提供一份循序渐进指南,带您掌握Firebase的CRUD(创建、读取、更新、删除)操作,重点聚焦实时数据库与Firestore。您将学习如何使用Firebase SDK方法高效管理Web与移动端应用的数据,涵盖新增记录、查询、修改以及删除数据条目。文中提供实用代码示例,并且介绍了实时场景下的数据结构设计与处理最佳实践,帮助开发者依托Firebase灵活的NoSQL(非关系型)架构,开发动态、可扩展的应用程序。
从基础到中级:对象(三)
在今天的文章中,我们将探讨如何实现一个极具吸引力和趣味性的交互系统,特别是对于那些刚开始学习 MQL5 编程的人来说。这里并没有任何全新的内容。得益于我对这个主题的处理方式,理解起来会容易得多,因为我们将通过实践,了解如何使用结构化的方法,以实用且引人入胜的目标来开发程序。
市场模拟(第 23 部分):SQL 入门(六)
在本文中,我们将探讨如何可视化一个数据库,并借此了解其结构。这是通过分析数据库的内部结构来实现的。虽然乍一看这似乎没有必要,但如果我们真的想成为数据库管理员,那么这样做是完全合理的。毕竟,有些人以维护和设计数据库为生。
MQL5自优化智能交易系统(第十二部分):利用矩阵分解构建线性分类器
本文探讨矩阵分解在算法交易中的强大作用,重点介绍其在 MQL5 程序里的应用。从回归模型到多目标分类器,我们通过实战示例演示如何借助 MQL5 内置函数轻松集成这类技术。无论你是预测价格方向,还是构建指标行为模型,这份教程都为你使用矩阵方法搭建智能交易系统打下坚实基础。
简化MQL5中的数据库操作(第一部分):数据库与SQL简介
本文会讲解如何运用MQL5的原生函数操作数据库。我们的内容涵盖建表、数据插入、更新、删除以及数据导入导出,全部配有示例代码。本文可以帮助读者扎实理解数据访问的内部工作机制,同时为后续ORM相关内容做好铺垫 —— 我们将在MQL5中构建一个迷你ORM。
精通日志记录(第十部分):通过抑制机制避免日志重复输出
我们在 Logify 函数库中搭建了一套日志抑制系统。本文详细讲解 CLogifySuppression 类如何通过可配置规则过滤重复、无关日志消息,减少控制台冗余信息。同时本文还介绍外部配置框架、参数校验机制以及完整测试方案,保障 EA、指标开发过程中日志记录能力稳定、灵活。
交易中的神经网络:摆脱特定数据依赖的时间序列泛化(结论)
本文将向您展示Mamba4Cast如何把理论转化为可运行的交易算法,并为您开展自主实验奠定基础。不要错过这次机会,获取用于自研策略的全面的知识与策略开发灵感。
基于平均K线(Heikin Ashi)搭建专业交易系统(第一部分):自定义指标开发
本文是一个分为上下两部分的系列文章的第一部分,旨在传授使用MQL5编写自定义指标的实用技巧与最佳实践。以平均K线(Heikin Ashi)作为实操案例,讲解平均K线图表背后的原理、平均K线柱的计算方式,并演示其在技术分析中的用法。核心内容是一份从零开发完整可用的平均K线指标的分步教程,附带清晰说明,帮助读者理解代码写法以及背后的设计逻辑。这些基础内容将为第二篇铺垫,第二篇我们将开发一套基于平均K线逻辑进行交易的智能交易系统(EA)。
在 MQL5 中实现来自其他语言的实用模块(第 03 部分):移植 Python 的 Schedule 模块,打造增强版 OnTimer
Python 中的 schedule 模块提供了一种简单的方法来安排重复性任务。虽然 MQL5 缺乏内置的等效功能,但在本文中,我们将实现一个类似的库,以便在 MetaTrader 5 中更轻松地设置定时事件。
从基础到中级:对象(二)
在今天的文章中,我们将探讨如何使用代码以一种简单的方式控制某些对象属性。我们还将了解自定义应用程序如何将多个对象放置在同一个图表上。此外,我们将开始认识到,为我们计划实现的任何指标分配一个简称的重要性。
从基础到中级:对象(四)
这可能是迄今为止最有趣的一篇文章。原因在于,我们将修改 MetaTrader 5 中已有的一个对象,以创建另一个原本不在该平台上的对象。当然,我们接下来要介绍的内容可能看起来有点疯狂,但它确实有效,并且具有非常有趣的用途。
从基础到中级:对象事件(一)
在本文中,我们将探讨当图表上的某个对象发生变化时,MetaTrader 5 可以生成的六个事件中的三个。从用户交互的角度来看,这些事件非常有用。这是因为,如果不了解这些事件,在尝试为特定目的管理对象时,我们将不得不付出更多的努力来维护特定的图表配置。
梦境优化算法(DOA)
这是一种基于种群的优化算法,其灵感源自一种尚存争议、研究较少的现象 —— 人类梦境的机制。该算法拥有一个具备不同“记忆”的智能体种群,用余弦波调制移动步长,并采用独特的99/1时间分配比例。让我们看一下这些特性会如何影响交易策略的优化效率。
交易中的神经网络:智能预测流程(Time-MoE)
诚邀大家一起来研究现代Time-MoE框架,该框架已针对时间序列预测任务完成适配。本文将分步实现该架构的核心组件,并同步提供原理讲解与实操示例。该方法使得您不仅能够理解模型的运行机制,还可以将相关原理应用于真实交易场景。
交易中的神经网络:以分解替代规模化 —— 模块构建
本文我们继续实操讲解SSCNN —— 一款能够处理碎片化时间序列的新一代架构方案。SSCNN不再盲目扩大模型规模,而是依靠精巧的模块化设计、精细化处理和针对性归一化。我们将在MQL5环境中逐步搭建计算单元,为可靠的预测分析打下基础。
交易中的神经网络:分解,而非扩大模型规模(结论)
本文将介绍一种算法,可以将时间序列分解为具备明确含义的多层分量,并基于这些分量构建简约模型。我们会系统阐述模型架构、基于MQL5/OpenCL的实际实现,以及基于历史行情数据开展的实际测试。
市场模拟:MQL5 中的 SQL 入门(一)
在今天的文章中,我们将开始学习如何在 MQL5 代码中使用 SQL。我们还将探讨如何创建数据库。或者更准确地说,如何使用 MQL5 内置的功能来创建 SQLite 数据库文件。我们还将了解如何创建表,以及如何通过使用主键和外键来建立表之间的关系。所有这些都将再次使用 MQL5 来完成。我们将看到,通过使用一个有助于封装底层实现细节的类,创建代码是多么容易,这些代码稍后可以迁移到其他 SQL 实现中。而且,最重要的是,我们将看到,在使用 SQL 时,我们可能会在不同阶段面临出错的风险。这是因为,在 MQL5 代码中,SQL 代码总是被放置在字符串中。
从基础到进阶:处理鼠标事件
阅读本文相关的此类技术资料,仅仅浏览和研究代码,绝对不足以理解其中涉及的过程。实际上,您需要编译出可执行程序,并在任意图表上运行它。只有这样,您才能体会到那些单靠看代码极难掌握的细节,例如结合键盘与鼠标来创建某些元素。