EA-45593 · 机器学习
MatrixMachineLearning
该脚本使用MQL5矩阵运算实现类Hopfield递归神经网络,基于tick数据的二值化价格变化方向进行预测。它在历史tick差值上训练权重矩阵,在回测和前瞻测试数据上验证收敛性,并输出二值预测向量。这是一个研究/演示脚本,不执行任何交易。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
暂未回测:这个 EA 还没能自动转换。
策略分析
策略概念基于Hopfield联想记忆网络,将连续的价格变化差值二值化为+1/-1序列,作为神经元的输入模式。入场条件是通过训练权重矩阵(Hebbian学习规则,即权重为输入向量和响应向量的外积累加),然后在运行阶段通过前向和反向传播反复迭代直到网络收敛到稳态。出场条件在此脚本中不适用,因为它仅生成预测信号而不执行交易。仓位管理和资金管理完全缺失,脚本仅输出二值预测结果供人工或其他程序参考。该策略的创新之处在于将Hopfield网络应用于金融时间序列的二值化预测,但二值化会丢失大量价格幅度信息,且网络容量受限于预测器大小。收敛性不保证,设置了最大迭代次数限制(LIMIT=100),未收敛时仍输出结果。
优势
- 使用MQL5原生矩阵运算实现神经网络,代码简洁高效
- Hebbian学习规则训练权重,无需反向传播和梯度计算,计算成本低
- 提供回测和前瞻测试双重验证,有助于评估模型泛化能力
- 在线预测功能可实时获取新tick数据并生成预测
- 网络收敛检测机制(ACCURACY阈值和迭代上限)防止无限循环
劣势
- 二值化价格变化丢失了幅度信息,只保留方向,预测粒度粗糙
- Hopfield网络存储容量有限,预测器维度增大时容易产生虚假稳态
- 没有任何交易执行逻辑,仅是研究演示脚本,无法直接用于实盘
- 缺少模型评估指标,仅用dot product匹配度衡量准确率不够严谨
- 未考虑交易成本、滑点、点差等实际交易因素
- 前瞻测试准确率仅58.5%,略高于随机水平,实际预测能力存疑
改进建议
- 引入更多特征(如成交量、多周期数据)替代单一二值化价格差,丰富输入信息
- 增加交叉验证和滑动窗口训练机制,避免过拟合并适应市场状态变化
- 添加完整的风险管理模块和交易执行逻辑,使其能真正用于自动交易
风险评估
总体风险: 安全
- 脚本不执行任何交易操作,仅生成预测信号,无直接资金风险
- 网络不收敛时仍输出结果,可能产生误导性预测信号
- 缺乏对输入数据有效性的充分验证(如tick数据不足时的处理较简单)
评估得分
代码质量4.0
策略逻辑3.0
风险管理1.0
稳健性2.0
创新性4.0
文档3.0
综合2.8
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
TicksToLoad | 100 | 加载的tick数据总数 |
TicksToTest | 50 | 用于前瞻测试的tick数量 |
PredictorSize | 20 | 预测器(输入层)的神经元数量 |
ForecastSize | 10 | 响应(输出层)的神经元数量 |
DebugLog | false | 是否输出调试日志信息 |
同类 EA:机器学习
回测是历史模拟,不代表未来收益,不构成投资建议。