EA-69651 · 动量

Impulse Continuation Engine [ICE_Pro]

该EA检测冲动蜡烛形态(高成交量、强实体、方向性收盘)并在冲动方向入场交易,使用基于ATR的止损/止盈以及自适应的时段/成交量/波动率过滤器。它配备了智能追踪止损系统,包含保本、固定ATR、动态ATR和混合模式来管理持仓。

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

基本信息

分类动量
风险中等
爆仓风险低
评分★★★☆☆
类型交易型 EA
周期M15, H1, H4
指标ATR, SMA(50), Tick Volume
作者MT5 Developer

回测结果(H1,约 1 年)

品种盈亏年化最大回撤交易数胜率夏普恢复因子最长连亏每笔期望状态
EURUSD-0.59%-0.51%6.07%14046.00%-0.09-0.106−$0.66可靠
GBPUSD-8.13%-7.10%9.84%14041.00%-1.30-0.839−$6.02可靠
USDJPY+0.65%+0.56%4.62%17146.80%0.170.1410+$0.38可靠
XAUUSD+21.70%+17.62%90.37%14553.10%0.950.248+$14.97可靠

在 4 个有可信结果的品种中,2 个盈利。

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

和同类(动量)在同一品种上有可信结果的 EA 相比:EURUSD 好于 47%(共 68 个);GBPUSD 好于 17%(共 66 个);USDJPY 好于 66%(共 68 个);XAUUSD 好于 64%(共 75 个)

按月看

品种盈利月份占比最好的月份最差的月份
EURUSD62%+1.43% 2026-10-3.70% 2026-04
GBPUSD38%+1.05% 2026-06-4.48% 2026-04
USDJPY62%+2.47% 2026-02-2.26% 2025-12
XAUUSD62%+159.80% 2026-03-72.00% 2026-02

根据回测净值曲线计算(约每两天一个点),只统计可信结果。

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

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

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

策略分析

策略概念基于'冲动延续'——当市场出现异常放量的方向性蜡烛时,认为动量将延续并顺势入场。入场条件要求当前bar的成交量超过均量的自适应倍数(伦敦/纽约时段0.9倍,亚洲/太平洋时段1.3倍)、实体比率超过自适应阈值、收盘位置在蜡烛范围的60%以上、范围扩展大于前一根bar的5%,且价格必须与50周期MA方向一致(斜率确认)。出场条件包括ATR倍数止损(1.2倍)和止盈(1.8倍),以及四种追踪止损模式:无追踪、保本、固定ATR追踪、动态ATR追踪和混合模式。仓位管理基于账户余额的风险百分比(默认0.1%)计算手数。资金管理包含最低净值检查、保证金水平检查、亏损后降低风险比例的功能,以及61.8%斐波那契回撤的冲动衰减监控机制。此外还有自适应时段过滤、低成交量过滤和点差过滤等安全机制。

优势

  • 多层级自适应过滤系统(时段、成交量、波动率、点差)有效减少虚假信号
  • 完整的资金管理体系:净值检查、保证金水平检查、亏损后风险降低、ATR止损
  • 四种追踪止损模式(保本/固定ATR/动态ATR/混合)提供灵活的持仓管理
  • 61.8%斐波那契回撤衰减监控比简单的bar计数更科学地判断冲动失效
  • MA斜率+位置双重趋势确认防止逆势入场

劣势

  • IsGoodTradingSession()函数内部每次调用都创建iATR句柄(handle_long)但从未释放,会造成严重的资源泄漏
  • CheckTradingConditions()中存在重复检查:第6步和第7步重复检查了点差和交易时段
  • 大量注释掉的替代代码块(三个ProcessNewBar版本、两个IsImpulseDecayed版本等)使代码臃肿难维护
  • 缺少对已有持仓的检查逻辑,可能重复开仓导致过度暴露
  • 冲动衰减检查中使用的iOpen基于start_bar索引,但start_bar在ProcessNewBar中递增,可能导致引用错误的bar数据

改进建议

  • 修复IsGoodTradingSession()中的指标句柄泄漏:将长周期ATR句柄移至OnInit()创建并在OnDeinit()释放
  • 删除所有注释掉的替代代码块,使用版本控制系统管理代码变体,保持源文件整洁
  • 添加持仓检查逻辑,防止同一冲动信号重复开仓,限制同方向最大持仓数
  • 在CheckTradingConditions()中移除重复的点差和时段检查(第6-7行与第3-5行重复)
  • 为InpUseVolatilityAdjust参数添加实际实现逻辑,当前声明了但未在追踪计算中使用

风险评估

总体风险: 中等

  • IsGoodTradingSession()每次调用创建新ATR句柄但不释放,长期运行会导致内存/句柄耗尽
  • 缺少持仓数量检查,可能在同一冲动上重复开仓导致风险敞口过大
  • 冲动衰减判断中的start_bar索引管理不一致,可能在特定条件下引用错误的历史数据

评估得分

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

参数

参数默认值说明
InpTradingModeTRADING_MODE_DEMO交易模式选择(实盘/演示/禁用)
InpTradeSymbol交易品种(空=当前图表品种)
InpMagicNumber888888订单识别的唯一魔术号
InpTradeCommentRitz-ICE-Pro终端和历史中显示的交易注释
InpDebugModetrue启用详细调试日志
InpEnableAdaptivetrue启用基于市场条件的自适应逻辑
InpLookbackPeriod20ICE形态检测使用的历史bar数
InpVolumeMultiplier1.3确认冲动的最小成交量倍数
InpMinBodyRatio0.5最小蜡烛实体与范围比率(冲动强度)
InpClosePosition0.6蜡烛范围内最小收盘位置(0-1)
InpMinImpulseBars2有效冲动的最少bar数
InpMaxImpulseBars5冲动序列允许的最大bar数
InpUseSessionFiltertrue仅允许在活跃交易时段交易
InpRiskPerTrade0.1每笔交易风险占账户余额百分比
InpReduceAfterLossfalse亏损后是否降低风险
InpReductionFactor0.2亏损后风险降低因子(0.2=-20%)
InpMinEquityToTrade10.0继续交易的最低资金(USD)
InpMinMarginLevel110.0最低保证金水平(%)
InpATRMultiplierSL1.2基于ATR倍数的止损距离
InpATRMultiplierTP1.8基于ATR倍数的止盈距离
InpSlippagePoints30最大允许滑点(点)
InpImmediateEntrytrue检测到冲动后立即入场
InpMaxEntryBars3检测后等待入场的最大bar数
InpTrailingModeTRAIL_ATR_FIXED追踪止损模式(固定/ATR/混合)
InpBreakevenAt0.5达到TP的50%时移动SL到保本
InpTrailATRMulti1.0追踪止损距离的ATR倍数
InpTrailActivation0.3激活追踪逻辑所需利润百分比
InpUseVolatilityAdjusttrue根据波动率动态调整追踪
InpMaxSpread40.0最大允许点差(点)
InpMinATRPoints50最小ATR波动率过滤器(约5点)
InpMaxATRPoints1500最大ATR波动率过滤器(约150点)
InpFilterLowVolumetrue低成交量条件下阻止交易

同类 EA:动量

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

订阅每周 Arena 周报

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