EA-48097 · 机器学习
ea_template.mq5
这是一个基于神经网络的交易EA模板,来自NeuroNetworksBook合集。它使用前馈神经网络根据价格和指标输入生成交易信号,应用训练好的权重预测市场方向并自动执行交易。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于前馈神经网络,将价格数据和技术指标作为输入层特征,通过隐藏层的激活函数处理后输出交易信号。入场条件由神经网络输出决定,当输出超过设定阈值时开多仓,低于负阈值时开空仓。出场条件包括止盈止损设置以及神经网络反向信号触发平仓。仓位管理采用固定手数或基于资金比例的动态手数分配方式。资金管理方面提供了风险百分比参数控制单笔交易最大亏损比例,但缺乏净值回撤保护机制。
优势
- 神经网络能捕捉非线性市场规律,比传统技术指标更具适应性
- 模板化设计方便用户根据需求修改网络结构和参数
- 结合了技术指标与价格数据作为输入特征,信息维度较丰富
- 提供了可配置的风险百分比参数,具备基本资金管理框架
- 代码结构清晰,分离了网络训练与交易执行逻辑
劣势
- 神经网络权重依赖历史训练数据,在市场结构变化时可能失效且缺乏在线学习机制
- 缺乏过拟合检测和验证机制,训练好的模型可能在实盘中表现大幅偏离回测
- 没有扩布过滤、新闻过滤和交易时间限制,在恶劣市场条件下仍会开仓
- 止损止盈为固定点数设置,未考虑ATR等波动率指标动态调整
- 缺乏仓位检查和重复开仓保护,可能在同一信号上多次建仓
改进建议
- 增加在线学习机制,使神经网络能根据实时市场数据动态调整权重
- 引入扩布过滤和交易时段控制,避免在高扩布和低流动性时段交易
- 使用ATR动态调整止损止盈,替代固定点数设置
风险评估
总体风险: 中等
- 神经网络模型可能过拟合历史数据导致实盘表现不佳
- 缺乏扩布过滤和交易时段控制,在恶劣条件下仍会交易
- 固定点数止损未考虑市场波动率变化,可能在低波动时过大高波动时过小
评估得分
代码质量3.0
策略逻辑3.0
风险管理2.0
稳健性2.0
创新性4.0
文档2.0
综合2.7
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
LotSize | 0.1 | 每笔交易的固定手数 |
StopLoss | 500 | 止损点数 |
TakeProfit | 1000 | 止盈点数 |
RiskPercent | 2.0 | 单笔交易风险占资金百分比 |
NN_Threshold | 0.6 | 神经网络信号开仓阈值 |
HiddenLayers | 1 | 隐藏层数量 |
NeuronsPerLayer | 10 | 每层神经元数量 |
LearningRate | 0.01 | 神经网络学习率 |
InputWindow | 20 | 输入数据窗口大小 |
MagicNumber | 123456 | EA魔术编号用于区分订单 |
同类 EA:机器学习
回测是历史模拟,不代表未来收益,不构成投资建议。