EA-68535 · 机器学习
MarketStructure
基于ONNX机器学习模型的EA,将市场结构分类为4个类别,当模型置信度超过阈值时,在斐波那契回撤位挂限价单入场。结合50周期均线趋势过滤,并使用基于风险回报比的移动止损。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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的核心策略是利用ONNX模型对市场结构进行四分类预测(标签0-3),其中标签3和2代表看涨信号,标签1和0代表看跌信号。入场条件要求模型置信度超过阈值(默认0.65),同时价格需与50周期均线方向一致:看涨信号需价格在均线上方,看跌信号需价格在均线下方。入场方式为挂限价单(BuyLimit/SellLimit),入场价基于最近枢轴点之间的斐波那契0.618回撤位,止损设在枢轴低点/高点外加15点缓冲,止盈按2倍风险回报比计算。仓位管理采用固定手数,有最小/最大手数和手数步长校验。移动止损在利润达到0.8RR时激活,将止损移至开仓价加30%浮盈距离处。挂单设有4小时有效期。
优势
- 结合机器学习与经典斐波那契回撤策略,逻辑层次分明
- 有置信度阈值过滤低质量信号,避免盲目入场
- 挂限价单而非市价单入场,获得更好的入场价格
- 具有RR基础移动止损和挂单过期机制,风控较完善
- 新K线检查避免重复信号,防止同根K线多次开仓
劣势
- ONNX模型为黑箱,无法审查训练质量和泛化能力,策略可靠性完全依赖模型质量
- InpWindowSize参数已声明但在代码中未使用,存在死代码
- 枢轴点识别仅回溯100根K线且窗口固定为5,在剧烈行情中可能找不到有效枢轴
- 移动止损仅锁定30%浮盈,保护力度偏弱,可能在大波动中回吐过多利润
- 没有点差过滤和滑点保护,在流动性差的环境中挂单可能以不利价格成交
- GetLastPivot的窗口判断逻辑中j遍历范围可能越界(i+5超过可用K线数)
改进建议
- 增加点差过滤和波动率过滤,避免在高点差或低流动性时段交易
- 将移动止损的锁定比例改为可配置参数,并考虑分步移动策略
- 修复GetLastPivot中的数组越界风险,加入Bars()边界检查
- 移除未使用的InpWindowSize参数,或在特征计算中实际使用它
- 增加对ONNX模型加载失败的更详细日志输出,便于排查问题
风险评估
总体风险: 中等
- ONNX模型为黑箱,模型失效时无任何保护机制
- GetLastPivot可能访问越界K线导致返回0值,触发无效挂单
- 没有点差过滤,高波动时段挂单可能以不利价格成交
- 仅允许同时持有1个仓位和0个挂单,可能错过连续机会
评估得分
代码质量3.0
策略逻辑3.0
风险管理3.0
稳健性2.0
创新性4.0
文档1.0
综合2.7
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
InpModelName | market_structure.onnx | ONNX模型文件名 |
InpThreshold | 0.65 | AI预测置信度阈值 |
InpWindowSize | 5 | 窗口大小(未使用) |
InpLotSize | 0.1 | 固定交易手数 |
InpFibLevel | 0.618 | 斐波那契回撤水平 |
InpRR | 2.0 | 风险回报比 |
InpMagic | 888888 | EA魔术号 |
InpExpireHours | 4 | 挂单过期时间(小时) |
InpTrailingStepRR | 0.8 | 移动止损触发RR阈值 |
同类 EA:机器学习
回测是历史模拟,不代表未来收益,不构成投资建议。