按小时、星期几和每月日期分析的季节性指标
本文介绍如何开发一款用于分析金融市场中重复性价格模式的工具 —— 可按每月日期(1-31 日)、星期几(周一至周日)或每日小时(0-23 时)进行分析。该指标分析历史数据,计算每个周期的平均收益率,并以直方图形式展示结果并附带预测。指标包含可自定义参数:季节性类型、分析 K 线数量、以百分比或绝对值显示、图表颜色等。
数据科学与机器学习(第四十六部分):在Python中使用N-BEATS进行股票市场预测
N-BEATS是一款革新性的深度学习模型,专为时间序列预测打造。该模型的初衷是超越ARIMA、PROPHET、VAR等传统时间序列预测模型。在本文中,我们将探讨该模型,并利用其实现股市行情预测。
极值优化(EO)
本文介绍极值优化算法(EO),这是一种受Bak-Sneppen(巴克–斯内彭)自组织临界性模型启发的优化方法,通过淘汰系统中表现最差的组件来实现演化。该算法的改进种群版本表明,其设计已从理论原则转向更注重实际效率,由此构建出高效的计算工具。
市场模拟(第 23 部分):仓位视图(一)
接下来我们将要介绍的内容,在理论和概念方面要复杂得多。我会让这些材料尽可能简单易懂。编程部分本身相当简单明了。但是,如果你不了解背后的理论,那么在将回放模拟系统改进或调整以适应不同于我将要展示的任务时,你就几乎没有任何可用于进一步改进或适配系统的实际依据。我不希望你只是编译和使用我提供的代码。我希望你能学习、理解,并且如果可能的话,能够创造出更好的东西。
竞争性学习算法(CLA)
本文介绍了竞争性学习算法(CLA),这是一种基于模拟教育过程的新型元启发式优化方法。该算法将解的种群组织为若干班级,班级中包含学生,而每个班级中最优的学生充当教师。其中代理通过三种机制进行学习:跟随班级中的最优解、利用个人经验以及在班级之间共享知识。
MQL5中的量子神经网络(第三部分):基于量子比特的虚拟量子处理器
本文聚焦于构建一套搭载真正的量子模拟器的交易系统,而非仅使用数学类比。该系统通过3个虚拟量子比特、量子门以及量子叠加原理对市场进行分析,并以MQL5编写为MetaTrader 5平台的交易EA实现。其核心突破在于从简单模拟转向真正遵循量子原理处理金融信息。
决斗者算法
如果您的交易策略能像真实的决斗者一样互相较量、彼此学习,会怎样?决斗者算法(Duelist Algorithm)是一种新的优化方法:在该算法中,不同的参数组合会像决斗者一样相互较量,争夺最优解的位置。
市场模拟(第 21 部分):SQL 入门(四)
你们中的许多人可能比我更有数据库工作经验,因此可能会有不同的看法。由于有必要解释数据库为何以这样的方式设计,以及SQL为何具有这样的形式 — 尤其是主键和外键为何出现 — 因此有些内容必须保持一定的抽象性。
从新手到专家:报表 EA — 搭建工作流程
经纪商通常会根据预定的时间表定期提供交易账户报表。这些公司通过其 API 技术,可以访问您的账户活动和交易历史,从而为您生成业绩报表。同样,MetaTrader 5 终端会存储您交易活动的详细记录,这些记录可以使用 MQL5 来创建完全定制的报表,并定义个性化的交付方式。
希尔伯特-施密特独立性判据(HSIC)
本文讨论了非参数 HSIC(希尔伯特-施密特独立性判据)统计检验,该检验旨在识别数据中的线性和非线性依赖关系。本文提出了两种用 MQL5 语言计算 HSIC 的算法实现:精确置换测试和伽马近似法。该方法的有效性通过模拟特征与目标变量之间非线性关系的合成数据得到了验证。
MQL5 中的量子神经网络(第二部分):基于 ALGLIB 马尔可夫矩阵的神经网络反向传播训练
本文介绍了一种创新的量子神经网络架构,用于结合量子力学原理与现代机器学习方法进行算法交易。该系统引入了量子效应(共振、干涉、退相干)、不同时间尺度的多级记忆、结合 ALGLIB 库的马尔可夫链以及自适应参数控制。整个实现过程使用 MQL5 内置的矩阵/向量类型完成,从而降低了在 MetaTrader 5 中实现该系统的门槛。
在MQL5中自定义交易品种:创建三维K线自定义品种
本文详细讲解创新指标文件3DBarCustomSymbol.mq5的完整制作流程,该指标可在MetaTrader 5中生成自定义品种,将价格、时间、成交量与波动率整合为一体化三维可视化图形。我们会讲解其数学理论基础、系统架构、实操实现步骤,以及在交易策略中的实际应用方式。
市场模拟(第 19 部分):SQL 入门(二)
正如我们在第一篇关于 SQL 的文章中所解释的那样,没有必要花费时间编写程序来执行 SQL 中已经内置的功能。然而,如果不了解基础知识,你就无法使用 SQL 或充分利用这个工具所提供的一切功能。因此,在本文中,我们将探讨如何在数据库中执行基本任务。
您应该了解的MQL5向导技巧(第七十八部分):鳄鱼振荡器与AD指标的市场韧性策略
本文介绍鳄鱼震荡器与积累/派发(AD)指标系统化交易方法的后半部分内容。作者新增五种信号形态,演示如何过滤虚假走势、捕捉早期反转,并在多时间周期上实现信号共振。文中附带清晰的代码示例与性能测试结果,为 MQL5 开发者搭建了从理论到实践的桥梁。
从新手到专家:使用 Reporting EA 打造详尽的交易报告
本文深入探讨如何丰富交易报告的细节,并以 PDF 格式通过电子邮件发送最终报告。本文是前序文章内容的延伸,我们将继续探索如何利用 MQL5 与 Python,生成并定时输出格式专业、使用便捷的交易报告。跟随本文,你将了解如何在 MQL5 生态中优化交易报告的生成流程。
科学家群体优化(CoSO):理论
元启发式方法中交易策略有效优化的秘诀。科学家群体优化算法是一种新型的基于种群的算法,其灵感来源于科学界的运作机制。与传统的自然启发式隐喻不同,CoSO 模型展现了人类科学活动的独特方面:在期刊上发表成果、竞争资助以及组建研究团队。
协方差矩阵自适应演化策略(CMA-ES)
本文探讨了一种最有趣的非梯度优化算法,该算法能够学习理解目标函数的几何特性。我们将重点关注对 CMA-ES 的经典实现,并稍作修改 — 用幂律分布代替正态分布。我们将深入探究算法背后的数学原理以及实际实现方式,并验证 CMA-ES 在哪些方面无懈可击,以及在哪些方面应避免使用。
MQL5中的自优化智能交易系统(第十一部分):线性代数基础入门
在本文中,我们将为使用MQL5矩阵与向量API中强大的线性代数工具奠定基础。想要熟练运用此套API,我们必须牢固掌握支撑这些方法合理使用的线性代数原理。本文旨在让读者直观理解,作为MQL5算法交易者,入门并利用这一强大库所需的一些最重要的线性代数规则。
科学家群体优化(CoSO):算法实现
我们继续讨论“科学家群体优化”这一主题。不应将 CoSO 视为现成的解决方案,而应将其视为一个有前景的研究平台。经过适当开发,CoSO 可以在那些适应性和应变能力至关重要、计算时间不是关键的任务中找到自己的定位。
通过套接字将 MetaTrader 的 Tick 信息从 MQL5 服务传输到 Python 应用程序
有时候,并非所有东西都能用 MQL5 语言编程实现。即使有可能在 MQL5 中转换现有的高级库,那也将是一项耗时的任务。本文试图证明,我们可以通过使用套接字将 MetaTrader 服务中的买卖报价和时间等 tick 信息传输到 Python 应用程序中,从而绕过对 Windows 操作系统的依赖。
MQL5中的价格时间缺口分析(第二部分):构建时间维度下的流动性分布热力图
这是一份详细的MetaTrader 5热力图指标构建教程,能够可视化展示价格随时间的分布状态。本文阐述了时间密度分析的数学原理,将各个价格区间以色彩区分:红色代表价格停留时间最短,蓝色代表价格停留时间最长。
在线性自回归模型残差上训练非线性 U-Transformer
本文介绍一套用于汇率预测的创新混合系统,它将线性自回归模型与用于残差分析的 U-Transformer 架构相结合。系统会根据信号质量自动切换信号来源,并内置完整的交易逻辑,支持摊平加仓/金字塔加仓策略。该方法的核心优势在于:神经网络只在线性模型的残差上训练,从而简化了任务并降低过拟合风险。整套实现完全使用 MQL5 编写,可直接用于实盘交易,并具备随市场环境变化自动适应的能力。
基于协整股票的统计套利(第二部分):EA、回测与优化
本文展示一个智能交易系统(EA)示例,用于交易一篮子四只纳斯达克股票。选股流程如下:首先通过皮尔逊相关系数检验进行初步筛选;再对筛选后的股票组进行约翰森协整检验;最后通过ADF检验与KPSS检验验证协整价差的平稳性。本文将对这一流程做补充说明,并展示经过小幅优化后的回测结果。
市场模拟:MQL5 中的 SQL 入门(五)
在上一篇文章中,我展示了如何添加查询机制。这是必要的,以便在 MQL5 代码中能够充分利用 SQL,并使用 SQL SELECT 查询来检索结果。但还有一个函数需要实现,即 DatabaseReadBind 函数。由于要正确理解这个函数需要稍作详细解释,因此决定不在上一篇文章中介绍,而是在今天的文章中详述。鉴于这个主题内容较多,让我们直接进入下一节。
市场模拟(第 24 部分):仓位视图(二)
在本文中,我将展示如何以最简单、最实用的方式使用指标来跟踪交易服务器上的未平仓位。我将逐步演示,以表明您并不一定需要将所有这些操作都转移到 EA 中。你们中的许多人可能因为这样或那样的原因已经习惯了这样做。事实上,这并不完全合理,因为随着这种实现方式的演变,您将清楚地看到,您可以为此目的创建或实现不同类型的指标。
人工原子算法(A3)
本文介绍如何在 MQL5 中实现人工原子算法(A3)—— 一种受化学过程启发的元启发式优化算法。该算法只有两个可调参数:紧凑性和较小的种群规模,这保证了较高的运行速度,同时保持了足够的解质量。
借助PythonAnywhere对接MetaTrader与谷歌表格:安全数据传输指南
本文介绍一种将MetaTrader数据导出至谷歌表格的安全实现方案。谷歌表格是十分理想的选择,它基于云端,存储在其中的数据可随时随地访问。交易者可以读取导出到谷歌表格的交易数据,随时随地展开分析,指导后续交易。
基于协整股票的统计套利(第三部分):数据库搭建
本文提供一个 MQL5 Service(服务)的实现示例,用于保持新建数据库及时更新;该数据库作为数据分析以及一篮子协整股票交易的数据来源。文中详细阐述数据库的设计思路,并整理数据字典以供查阅。配套提供MQL5与Python脚本,用于数据库创建、表结构初始化以及行情数据写入。
市场模拟:仓位视图(三)
在之前的文章中,我们提到过有时需要为 ZOrder 属性设置一个值。但是为什么呢?原因在于,许多向图表添加对象的代码根本不使用(或者更准确地说,不定义)此属性的值。关键在于,我并不是来规定每个程序员应该或不应该做什么,或者他们应该或不应该如何编写代码的。亲爱的读者,我在此向您以及所有真正想了解这些过程内部运作原理的人展示,幕后究竟发生了什么。
市场模拟(第 23 部分):SQL 入门(六)
在本文中,我们将探讨如何可视化一个数据库,并借此了解其结构。这是通过分析数据库的内部结构来实现的。虽然乍一看这似乎没有必要,但如果我们真的想成为数据库管理员,那么这样做是完全合理的。毕竟,有些人以维护和设计数据库为生。
MQL5自优化智能交易系统(第十二部分):利用矩阵分解构建线性分类器
本文探讨矩阵分解在算法交易中的强大作用,重点介绍其在 MQL5 程序里的应用。从回归模型到多目标分类器,我们通过实战示例演示如何借助 MQL5 内置函数轻松集成这类技术。无论你是预测价格方向,还是构建指标行为模型,这份教程都为你使用矩阵方法搭建智能交易系统打下坚实基础。
在 MQL5 中实现来自其他语言的实用模块(第 03 部分):移植 Python 的 Schedule 模块,打造增强版 OnTimer
Python 中的 schedule 模块提供了一种简单的方法来安排重复性任务。虽然 MQL5 缺乏内置的等效功能,但在本文中,我们将实现一个类似的库,以便在 MetaTrader 5 中更轻松地设置定时事件。
梦境优化算法(DOA)
这是一种基于种群的优化算法,其灵感源自一种尚存争议、研究较少的现象 —— 人类梦境的机制。该算法拥有一个具备不同“记忆”的智能体种群,用余弦波调制移动步长,并采用独特的99/1时间分配比例。让我们看一下这些特性会如何影响交易策略的优化效率。
市场模拟:MQL5 中的 SQL 入门(一)
在今天的文章中,我们将开始学习如何在 MQL5 代码中使用 SQL。我们还将探讨如何创建数据库。或者更准确地说,如何使用 MQL5 内置的功能来创建 SQLite 数据库文件。我们还将了解如何创建表,以及如何通过使用主键和外键来建立表之间的关系。所有这些都将再次使用 MQL5 来完成。我们将看到,通过使用一个有助于封装底层实现细节的类,创建代码是多么容易,这些代码稍后可以迁移到其他 SQL 实现中。而且,最重要的是,我们将看到,在使用 SQL 时,我们可能会在不同阶段面临出错的风险。这是因为,在 MQL5 代码中,SQL 代码总是被放置在字符串中。
市场模拟(第 22 部分):SQL 入门(五)
亲爱的读者,在你放弃并决定不再学习 SQL 之前,请允许我提醒你,我们目前所使用的只是最基本的内容。我们尚未探讨 SQL 的一些功能。一旦你理解了这些功能,你会发现 SQL 远比它看起来要实用得多。不过,由于创作过程是动态的,我们最终很可能会改变我们正在构建的方向。我们将更多地展示如何在 SQL 中创建不同的内容,因为这对你来说确实非常重要且有用。仅仅认为自己比整个程序员和开发人员社区更有能力,只会导致时间和机会的浪费。别担心,因为接下来的内容将会更加有趣。
价格行为分析工具包开发(第三十八部分):基于Tick环形缓冲区的VWAP与短窗口失衡引擎
在本文中,我们搭建一套可投入实盘使用的MT5监控面板,它能够将原始逐笔tick数据转化为可用于交易的信号。该EA会缓存tick数据,用于计算tick级别的VWAP、短窗口订单失衡(资金流)指标,以及基于ATR的仓位大小。面板采用减少闪烁的柱状图,直观展示点差、ATR与资金流。系统会输出建议手数与1倍风险止损位,并支持自定义告警:低点差、强资金流、具备交易优势的行情状态均可触发提醒。自动交易功能被有意禁用;本项目的重心放在稳定可靠的信号生成与简洁友好的交互体验上。
价格行为分析工具包开发(第三十九部分):在MQL5中实现BOS与ChoCH的自动识别
本文介绍分形响应系统(Fractal Reaction System),这是一套精简的MQL5工具,能够将分形拐点转化为可用于交易的市场结构信号。该EA采用K线收盘判定逻辑,避免信号重绘;可以识别行情性质转变(ChoCH)预警、确认结构突破(BOS),在图表上绘制持久图形对象,并对每一个已确认事件生成日志与多渠道告警(桌面端、移动端和声音提醒)。下文将呈现算法设计、实现要点、测试结果以及完整EA源码,您可以自行编译、回测并部署这套信号识别工具。
市场模拟:仓位视图(四)
在这里,我们将开始将之前完全相互隔离的不同组件或应用程序整合在一起。Chart Trade、鼠标指标和 EA 已经相互连接,但仍然无法直接在图表上显示交易服务器上未平仓位,这些持仓通常使用对冲订单机制进行管理。从这一点开始,这成为可能,为各种想法和未来的实施开辟了道路。尽管我们才刚刚开始将这些组件投入运行,但我们已经有了进一步发展的方向。
机器学习中的高斯过程(第二部分):在 MQL5 中实现和测试分类模型
在这个部分中,我们将探讨 MQL5 中高斯过程库关键接口的实现:IKernel、ILikelihood 和 IInference。我们还将演示其在合成数据上的运行情况,并实现分类和回归指标,同时演示其在在线模式下的运行情况 — 即每根新 K 线都会对模型进行重新训练。