神经网络变得轻松(第十五部分):利用 MQL5 进行数据聚类·综合运用
「用十五年数据逼出聚类拐点」
无监督学习最实在的好处,就是不用给数据打标签也能往死里喂。这次我们把 EA 训练周期拉到 15 年,品种锁 EURUSD、H1 周期,外部参数沿用前次实验,只把未标记历史全量塞进去。 聚类数量没写死在参数里,而是在 50 到 1000 之间以步长 50 循环搜优——这正是前一篇 Python 脚本验证过的搜索区间。模型总共扫了 92000 多个系统状态。 跑完出来的损失函数随聚类数变化图,拐弯处摊在 100 到 500 这一段,形态和之前 Python 版画的曲线几乎重合。这至少说明一点:咱们手写的 MQL5 聚类类,运算逻辑没跑偏,开 MT5 挂上 kmeans.mq5 就能复现这条弯。
◍ 模型复现了 500 种形态
我们新建的 CKmeans 类实现了 k-均值聚类,并跑通了不同聚类数的训练流程。 测试阶段,模型在样本内成功识别出约 500 种价格形态;同一份数据在 Python 端做对照测试,结果相近。这说明算法逻辑在 MT5 里被正确复现,没有数值偏差。 下一篇会接着聊怎么把聚类结果落到实盘信号上,当前阶段先确保你能编译 CKmeans 并复现这 500 形态的输出。外汇与贵金属市场波动剧烈,聚类仅作概率参考,不构成方向保证。
同系列延展阅读索引
这套关于神经网络的实战文章是一个连续序列,从最基础的训练测试一路推进到复杂结构。目前已覆盖到第十四部分,每一部分都对应一个可独立验证的技术点。 如果你打算在 MT5 里自己搭网络,建议按序号顺序啃:第二部分讲训练与测试流程,第三部分进卷积,第四部分讲循环网络,第五部分涉及 OpenCL 多线程加速。 后面几篇更偏调参和架构实验——第六部分做学习率实验,第七部分自适应优化,第八部分关注机制,到第十三部分批次常规化、第十四部分数据聚类,共 13 篇可直接对照复现。外汇与贵金属市场波动剧烈,用神经网络做信号须充分认识到模型失效的高风险。
「一点提醒」
这套 k-均值聚类实验在 MT5 里落地,依赖 6 个程序文件:kmeans.mq5 是跑模型训练的智能交易系统,kmeans.mqh 与 unsupervised.cl 分别用 MQL5 和 OpenCL 实现聚类函数,NeuroNet.mqh 和 NeuroNet.cl 则提供神经网络创建与加速的底层的类库,压缩包 MQL5.zip 约 63.7 KB。 原文明确标注材料版权归 MetaQuotes 所有,部分或全文转载被禁止,且平台不对用户文章里策略的准确性或实盘后果负责。你在 MT5 里加载这些文件做验证时,得自己承担外汇与贵金属的高波动风险,聚类结果只代表历史样本的概率分布,不构成方向承诺。 真要动手,先只把 kmeans.mq5 拖进策略测试器用默认品种回测,别急着接实盘信号——等你看懂 unsupervised.cl 里距离计算那几行,再谈调参。