交易中的神经网络:使用小波变换和多任务注意力的模型(终篇)·综合运用
◍ 用 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 的收敛倾向。