神经网络轻松制作(基础篇)
用 MT5 跑通一个神经网络原型
在 MetaTrader 5 里搭神经网络,不一定需要外部 Python 环境。平台自带的 MQL5 矩阵与向量类,配合定时调用,就能在 EA 里做轻量前向推理。 Dmitriy Gizlyk 在 2020 年 3 月 16 日发布的示例,截至统计时获得 10 237 次查看与 88 条互动,说明社区对原生 NN 方案有真实需求。 想验证可行性,直接开 MT5 新建 EA,把下面这段前向计算抄进去,用 EURUSD 的 H1 收盘价序列喂入,观察输出矩阵维度是否符合预期。外汇与贵金属波动剧烈,这类原型仅用于逻辑验证,实盘存在高回撤风险。
◍ 先看清这篇要拆哪几块
这篇系列文把神经网络在 MQL5 里的落地拆成了几条主线:先讲 AI 网络建设的基本原理,再落到人工神经元的结构,接着是网络训练的数学过程,最后用 MQL 亲手搭一套可运行的神经网络。 其中 MQL 实现又细分为连接、神经元、神经网络三层封装,读者开 MT5 后能直接对照代码逐级验证。 文末附了结束语、参考与本文用到的程序清单,但核心可操作部分集中在前四节,建议优先把 4.1–4.3 的代码跑通再回头看训练逻辑。
「家用电脑也能跑神经网络」
人工智能在交易圈的讨论热度持续走高,但很多资料把它讲得像只有实验室科学家才能碰的玄学。实际上,用一台普通家用 PC 搭建并训练一个基础神经网络并不困难。 我们这套内容要拆掉「神经网络 = 超自然」的滤镜,直接看它在 MT5 里怎么落地:它本质是一个靠数据调权重的函数近似器,输入价格特征、输出买卖倾向。外汇与贵金属波动剧烈,任何模型信号都只是概率倾向,实盘前务必在策略测试器里跑历史数据验证。
搞懂神经网络的分层与信号流
人工神经网络本质是大量相同计算单元(神经元)按层组织的集合,灵感来自生物脑的耦合方式。每层神经元只做一件事:吃进上一层传来的信号,处理完吐给下一层,直到输出层给出“是/否”这类逻辑结论。放到交易里,这个输出就能直接当方向信号用。 一个最直白的规模约束:要喂给网络 10 个元素的数组,输入层就正好放 10 个神经元,多一个都是冗余。输出侧同理,一个无歧义答案配一个输出神经元;想同时回答 3 个问题就开 3 个输出神经元。 隐藏层才是真正的分析中心,其神经元数量取决于前一层数据的可变性——每个隐藏神经元可理解为一个“事件假设”。隐藏层数则由因果链深度决定,比如做“5 个为什么”的归因模型,逻辑上用 4 个隐藏层配合输出层去拆源数据。 外汇与贵金属市场高风险,这类信号仅作概率参考,实盘前务必在 MT5 用历史数据验证层数与神经元规模是否过拟合。
◍ 神经元里到底算了什么
人工神经元把外部传来的多路输入各自乘上连接权重再求和,权重决定某一路输入对最终输出的话语权。同一套输入和公式之所以能跑出不同策略,本质就是调这些权重系数,而不是换算式。 求和之后的数值要过一道激活函数才出结果。常用两种:Sigmoid 把输出压到 0~1 之间;双曲正切(tanh)把输出压到 -1~1 之间。选哪个看问题性质,要逻辑是非就偏 Sigmoid。 做外汇和贵金属这类高风险品种,我更惯用双曲正切:-1 直接对应卖出倾向,1 对应买入倾向,中间值就是信号模糊区。你开 MT5 接个简单神经元试 tanh,能直观看到信号在 [-1,1] 里摆动,比硬看 0/1 更有缓冲感。