EA-22693 · 机器学习
Peceptron_Mult
基于多层感知器(MLP)神经网络的自营交易EA,通过监督学习预测价格方向并产生买卖信号。该EA利用历史价格特征训练神经网络,并根据网络前向传播预测结果自动执行交易。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | 暂不支持转换 |
这个 EA 从未交易的原因:转换后没有留下任何开仓规则。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 未发现爆仓模式
代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
该EA采用多层感知器(MLP)神经网络作为核心策略引擎,属于机器学习交易类别。入场条件基于神经网络的前向传播输出——当网络输出超过买入阈值时开多仓,低于卖出阈值时开空仓。网络输入特征通常来自价格序列的技术指标(如移动平均、动量、波动率等),通过归一化处理后输入网络。训练阶段使用历史数据通过反向传播算法更新权重,属于有监督学习框架。出场条件通常依赖固定止盈止损或反向信号触发平仓。仓位管理方面,该EA支持多种手数设定方式,但神经网络本身不直接控制仓位大小。资金管理方面,需要关注训练数据过拟合风险以及神经网络在市场状态切换时的适应性下降问题。
优势
- 基于机器学习方法,理论上能捕捉非线性价格模式,比传统指标策略更具适应性
- 神经网络具有自学习能力,可通过历史数据训练不断优化权重参数
- 多层感知器结构允许灵活调整网络深度和宽度,适应不同市场特征复杂度
- 有监督学习框架提供明确的训练目标和可量化的预测精度评估
- 输入特征可灵活选择和组合,支持多维技术指标融合分析
劣势
- 神经网络容易对历史训练数据过拟合,实盘表现往往远逊于回测结果
- 市场状态切换时模型泛化能力差,训练期外的数据分布变化导致预测失效
- 缺乏动态止损和自适应仓位管理,风险控制手段单一
- 网络训练计算开销大,在MT5平台上实时训练可能导致延迟
- 黑盒模型难以解释交易逻辑,不利于策略诊断和优化调整
- 未考虑滑点和点差对短线交易的影响,实盘成本可能侵蚀利润
改进建议
- 加入正则化手段(L1/L2正则化、Dropout)防止过拟合,并引入交叉验证评估模型泛化能力
- 实现动态止损和自适应仓位管理,如根据ATR调整止损距离或根据预测置信度调整仓位大小
- 增加市场状态识别模块,在不同市场环境下切换或重训练模型
- 引入特征重要性分析和特征选择流程,减少噪声特征对模型的干扰
- 添加滑点、点差过滤和交易成本估算,使策略更贴近实盘环境
风险评估
总体风险: 需谨慎
- 神经网络过拟合风险高,回测与实盘表现差距可能很大
- 缺乏市场状态切换检测,模型在趋势反转时可能连续亏损
- 固定止损止盈未考虑市场波动率变化,极端行情下可能造成超预期损失
- 训练数据窗口选择不当会导致模型学到错误模式
评估得分
代码质量3.0
策略逻辑3.0
风险管理2.0
稳健性2.0
创新性4.0
文档1.0
综合2.5
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
InputLayerSize | N/A | 神经网络输入层节点数,决定特征维度 |
HiddenLayerSize | N/A | 隐藏层节点数,影响模型复杂度 |
OutputLayerSize | N/A | 输出层节点数,通常为分类数 |
LearningRate | N/A | 学习率,控制权重更新步长 |
TrainPeriod | N/A | 训练周期,用于历史数据回测训练的K线数量 |
LotSize | 0.1 | 每笔交易的手数 |
StopLoss | N/A | 止损点数 |
TakeProfit | N/A | 止盈点数 |
BuyThreshold | 0.5 | 买入信号阈值 |
SellThreshold | 0.5 | 卖出信号阈值 |
同类 EA:机器学习
回测是历史模拟,不代表未来收益,不构成投资建议。