EA-48482 · 机器学习

ONNX Trader clusters

该EA使用两个ONNX神经网络模型——主模型和元模型——生成EURUSD的二元分类交易信号。主模型预测交易方向(买入/卖出),元模型作为置信度过滤器,仅在其输出超过阈值时允许交易。它以固定止损/止盈和基于风险比例的仓位管理执行交易。

打开交互版(权益曲线、切换品种)

基本信息

风险中等
爆仓风险低
评分★★☆☆☆
类型交易型 EA
周期M15, H1, H4
指标ONNX Neural Network, ONNX Meta-Model
作者—

回测结果(H1,约 1 年)

品种盈亏年化最大回撤交易数胜率夏普恢复因子最长连亏每笔期望状态
EURUSD0.00%0.00%0.00%0—————暂不支持转换
GBPUSD0.00%0.00%0.00%0—————暂不支持转换
USDJPY0.00%0.00%0.00%0—————暂不支持转换
XAUUSD0.00%0.00%0.00%0—————暂不支持转换

这个 EA 从未交易的原因:转换后没有留下任何开仓规则。

由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。

爆仓风险: 未发现爆仓模式

代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。

高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →

策略分析

策略概念基于双模型机器学习架构:主模型输出分类概率作为方向信号,元模型输出概率作为信号置信度过滤。入场条件为:当元模型概率大于meta_threshold时,若主模型概率小于(1-main_threshold)则买入,若大于main_threshold则卖出;买入信号低于0.5意味着模型预测上涨概率更高,卖出信号高于0.5则预测下跌概率更高。出场条件为:当元模型确认时,若持有多头且主模型信号大于main_threshold则平多仓,若持有空头且主模型信号小于(1-main_threshold)则平空仓。仓位管理通过MaximumRisk参数按账户可用保证金比例计算手数,也支持固定手数ManualLot,并有最小/最大手数限制和手数步长规范化。资金管理使用CheckMoneyForTrade函数在下单前检查保证金是否充足,防止因资金不足导致订单失败。

优势

  • 双模型架构设计合理,元模型作为置信度过滤器能有效减少低质量信号的交易
  • 使用ONNX模型进行推理,能够捕捉非线性市场特征,比传统技术指标更有潜力
  • 包含完整的资金管理检查(保证金验证、手数规范化、最小/最大手数限制)

劣势

  • 无限重试循环(do-while res==-1)可能导致无限阻塞,缺少最大重试次数限制
  • countOrders函数使用PositionSelect而非PositionGetTicket遍历,在多持仓时会重复选择同一持仓导致计数错误
  • 止损止盈固定为2000点且无追踪止损机制,无法根据市场波动动态调整
  • 元模型和主模型使用相同特征时缺乏正交性验证,可能导致过滤效果有限

改进建议

  • 为do-while重试循环添加最大重试次数限制和超时机制,避免无限阻塞
  • 修复countOrders函数,使用PositionGetTicket(k)正确遍历持仓而非PositionSelect
  • 添加spread过滤和滑点控制,防止在高点差环境下开仓
  • 考虑添加追踪止损或动态止损机制,根据ATR等波动指标调整止损距离

风险评估

总体风险: 中等

  • 无限重试循环可能在高延迟或服务器断连时导致EA卡死
  • countOrders函数计数错误可能导致超过max_orders限制开仓
  • Sleep(50)在重试循环中使用会阻塞EA线程,影响其他逻辑执行
  • 无点差过滤,在流动性低的时段可能以较大滑点成交

评估得分

代码质量2.0
策略逻辑3.0
风险管理3.0
稳健性2.0
创新性4.0
文档1.0
综合2.5

参数

参数默认值说明
Allow_Buytrue是否允许买入交易
Allow_Selltrue是否允许卖出交易
main_threshold0.5主模型信号阈值,超过此值视为卖出信号
meta_threshold0.5元模型置信度阈值,超过此值才允许交易
MaximumRisk0.001渐进式手数系数,用于按保证金比例计算手数
ManualLot0固定手数,0表示使用动态计算
OrderMagic666订单魔术号,用于标识本EA的持仓
max_orders1最大同时持仓数量
stoploss2000止损点数
takeprofit2000止盈点数
commentThe ONNX EA订单注释

同类 EA:机器学习

回测是历史模拟,不代表未来收益,不构成投资建议。

订阅每周 Arena 周报

每周一封邮件:排名变化、新信号和新研究。不发垃圾邮件,随时可以退订。