交易中的神经网络:使用小波变换和多任务注意力的模型(终篇)·综合运用
📘

交易中的神经网络:使用小波变换和多任务注意力的模型(终篇)·综合运用

第 3/3 篇

◍ 用 EURUSD 历史数据给模型验真

前面两篇文章里,我们用 MQL5 把多任务-Stockformer 框架作者提的思路落了地,但落地时做了几处修改,所以这次测的是「我们改过的实现版」,不是原框架本身。 训练直接喂了 EURUSD 2023 全年 H1 周期的历史数据,分析指标全走默认参数,没额外调优。初始训练集来自之前研究攒下的数据,之后每隔一段时间重训并更新数据集,好让模型跟得上参与者策略的演化;跑了几轮之后,训练集和测试集上都能看出正收益。 拿训好的策略去跑 2024 年 1 月数据,其它参数一律不动。这一个月里模型一共下了 19 单,10 单盈利,胜率刚过 50%。但因为盈利单平均赚得比亏损单平均亏得多,整体还是净赚,盈利系数 1.45。 有意思的是交易时段分布:差不多一半仓位开在美国时段,而波动最猛的那段它几乎不出手。外汇和贵金属杠杆高、滑点吃肉,这种时段回避倾向可能降低回撤,但是否长期有效得你自己换品种换周期复测。

「实盘前先在测试器里把模型跑穿」

上面这套把离散小波变换和多任务自注意力拼起来的选股框架,在 MQL5 里已经能自己搭出可训练的模型架构,并在 MetaTrader 5 策略测试器里回测。实验结果显示该实现路线有进一步挖掘的空间,但样本外的泛化能力还没被证明。 目前用的真实历史数据规模偏小,直接上实盘属于把验证环节跳过去了。外汇与贵金属市场高杠杆、高波动,这类基于价格-成交量因子的模型在换周期或换品种后,准确率倾向明显衰减。 稳妥的做法是先在策略测试器里用更具代表性的数据集重训,把不同年份、不同波动率 regime 都覆盖到,再观察 equity 曲线的回撤结构,而不是只看某一段拟合好的输出。

收束

这套 LSTM 预测工程在 MT5 里拆成了七份文件:Research.mq5 与 ResearchRealORL.mq5 负责按两种采样逻辑收集行情样本,Study.mq5 做模型训练,Test.mq5 跑模型验证,Trajectory.mqh 定义系统状态与网络架构,NeuroNet.mqh 封装建网类,NeuroNet.cl 则是 OpenCL 端的算子库。压缩包 MQL5.zip 约 2279.09 KB,直接在 MT5 的 MQL5 目录下解压即可看到完整工程。 外汇与贵金属市场高杠杆、高波动,用神经网络做多元时间序列预测只是概率上的辅助,实盘前务必用 Test.mq5 在自有样本上回测,别把训练集表现当泛化能力。 工程里 Real-ORL 那条采样分支值得单独跑一遍——它和默认 Research 的样本分布差异,可能直接影响后续 DA-CG-LSTM 的收敛倾向。

常见问题

把模型导出的信号和 EURUSD 日线及以上周期的历史数据对齐,看信号反转点和真实波段拐点重合率,重合低于六成先别上实盘。
至少跑两年不同行情段,记录最大回撤、信号延迟和手续费后的净胜率,三者同时恶化就退回调参。
小布可自动拉 EURUSD 历史数据对齐你的模型信号并出重合率报告,也能在测试器任务里替你批量跑穿不同行情段。
训练集胜率很高但测试器里换周期就亏,且注意力权重集中在某几根异常 K 线,基本就是过拟合。
不能,外汇和贵金属波动结构不同,EURUSD 验真的模型上黄金前需单独跑穿,贵金属杠杆高风险大。