MQL5中的范畴论(第22部分):对移动平均的不同看法(基础篇)
📘

MQL5中的范畴论(第22部分):对移动平均的不同看法(基础篇)

第 1/2 篇

◍ 把均线当成态射而不是线

在 MQL5 里多数人把移动平均当成一条画在图上的线,但在范畴论视角下,它更像是从价格序列范畴到平滑序列范畴的一个态射。把 iMA 调用看作映射而非指标,能直接解释为什么不同周期均线之间可以复合:快线再喂给慢线,等价于一次高阶映射。 实际在 MT5 里验证这一点很简单,用两组 iMA 句柄做嵌套,观察输出句柄的数据是否和手动二次平滑一致。下面这段是最小可跑的句柄创建,注意第二个均线把第一个句柄当数据源,而不是 PRICE_CLOSE。 外汇与贵金属市场高杠杆、滑点随机,任何基于均线的结构都只是概率倾向,不构成方向保证。开 MT5 把这段贴进 EA 的 OnInit,用 Print 打出前 5 根平滑值就能看到复合效果。

MQL5 / C++
class="type">int fastMa = iMA(_Symbol, PERIOD_M15, class="num">5, class="num">0, MODE_SMA, PRICE_CLOSE);
class="type">int slowMa = iMA(_Symbol, PERIOD_M15, class="num">20, class="num">0, MODE_SMA, fastMa);

从范畴视角看均线与维度桥接

范畴论在金融里的落点不止时间序列预测,估值、风险、组合配置都能套。拿估值举例:把收入、债务等关键指标当作一个类别里的对象,连接它们的态射(或图路径)可映射到不同评级类别(A+、A、B等),给定一只股票的实际指标,就能按它归属各类别的程度做量化——这是高度简化的示意,只为说明可操作空间。 回到时间序列,移动平均常被老手嫌简单,但它是布林带、MACD 等一众指标的概念底座。它本质是价格走势的低波动视图,在外汇与贵金属市场充满白噪声的背景下,“低波动”这个属性比看起来更重要,高风险品种里尤其不能拿裸价当唯一信号。 本文承接上一篇的自然变换,重点看它如何桥接不同维度的数据集。这里的“维度”指数据集列数:一边是原始价格的“简单”序列,一边是移动平均的“复合”序列。我们仅用三个函子,演示自然变换在预测里的实际用法,读者可在 MT5 自建这两类序列验证桥接效果。

「用范畴与函子重看均线交叉」

把价格序列和均线序列都视作范畴,能避开「指标圣杯」那种错觉。域范畴里的对象是按固定时间间隔取的价格点,协域里则是同间隔的移动平均值;两者都满足范畴公理:对象、态射、恒等态射、结合律。原始价格序列中,每个对象由「时间+价格」两元素构成,态射就是相邻价格点的顺序映射,周期为 1 的均线恰好充当恒等态射。 三个函子 A、B、C 各自代表不同平均周期:A 最短、C 最长、B 居中。它们共享同一对域/协域,因此彼此间的自然变换呈「垂直」排列——这里垂直指共享域与共域的函子之间,而非图上的几何方向。 均线交叉的交易含义可直接套进来:短周期均值上穿长周期,倾向看作看涨支撑;下穿则倾向看作看跌阻力。若短均低于长均,概率为下行偏好;反之为上行偏好。外汇与贵金属杠杆高,此类信号失效频繁,仅作概率参考。 结合律在价格点上也很直观:连续三点 L、M、N,有 L∘(M∘N) = (L∘M)∘N,即从 L 经 M 到 N 的复合态射与分组方式无关。这条公理保证我们在 MT5 里把多周期均线态射串起来时不丢失顺序信息。

◍ 用移动平均把价格序列搬进两个范畴

这一节把前面那套范畴-函子骨架落到一个能直接跑的东西上。范畴1的域就是原始价格时间序列,我们往里塞了4个函子,但真正用到的只有3个:分别由整数参数 m_functor_a、m_funtor_b、m_funtors_c 控制周期的移动平均实现,外加一个身份函子保底。 范畴2是共域,里面3个对象各自对应范畴1里一个函子映射出的移动平均价格序列;两个范畴之间的态射不走神经网络、随机森林那类第三方算法,就是两个函子终点值的算术差,本质是一种极简的自然变换。 你在 MT5 里把这三个周期参数设成不同整数(比如 5、20、50),就能肉眼看到范畴1到范畴2的映射关系;外汇和贵金属这种高波动品种,映射出的差值对拐点只具备概率性提示,别当确定性信号。

常见问题

就是把均线看作价格序列在不同范畴间的映射,而不是单纯一条平滑线;实战中可关注它把高频噪声过滤后搬到了哪个层级,再判断趋势是否真切换。
维度桥接让你看到短均线和长均线其实在不同抽象层工作;外汇贵金属高风险,可用它分辨假交叉,避免在小周期噪声里频繁进出。
小布可自动标记均线在两类范畴间的态射变化,并把交叉事件按维度分层呈现,你只需看它提示的层级切换来决策。
取同一品种的大小周期各算一条均线,对比它们在各自范畴的形态差异;若大范畴平稳而小范畴乱跳,说明桥接有效过滤了噪声。
交叉是函子作用下的态射对应点,不必深究数学;只要记住交叉可能是不同层级的映射错位,概率上顺势单更稳妥。