EA-1469 · 多周期
Exp_ADX_Cross_Hull_Style
该EA基于ADX_Cross_Hull_Style指标的交叉信号和UltraXMA指标的趋势过滤进行交易。当ADX交叉信号与UltraXMA趋势方向一致时开仓,在反向信号出现时平仓。完整版还增加了UltraXMA作为额外的交易方向确认过滤。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
暂未回测:这个 EA 还没能自动转换。
策略分析
该策略结合了ADX交叉信号和UltraXMA平滑趋势过滤,属于多指标确认的趋势跟踪系统。入场条件为:ADX_Cross_Hull_Style指标产生上穿信号(UpValue非零且非空值)时做多,产生下穿信号时做空;完整版还要求UltraXMA的上轨和下轨关系确认趋势方向,若UpUXMA<DnUXMA则禁止做多并强制平多仓,反之亦然。出场条件包括:反向ADX交叉信号触发平仓,以及当初始信号未触发平仓时,通过遍历历史K线寻找最近的反向信号来决定平仓。仓位管理通过MM参数控制,负值表示固定手数,正值表示按存款比例计算仓位。止损和止盈分别固定为1000点和2000点,通过TradeAlgorithms.mqh库函数执行交易操作。策略使用了丰富的平滑算法(JJMA、JurX、ParMA、T3、VIDYA、AMA等)来减少信号噪音。
优势
- 双指标确认机制降低假信号,ADX交叉信号加UltraXMA趋势过滤提高了入场质量
- 支持丰富的平滑算法选择(JJMA、JurX、ParMA、T3、VIDYA、AMA等),灵活性强
- 包含买卖开仓和平仓的独立开关,可精细控制交易方向和出场逻辑
- 新K线检测机制避免同一K线重复交易,减少了过度交易风险
- 历史K线反向搜索逻辑提供了额外的平仓保障机制
劣势
- 固定止损止盈不根据市场波动性(ATR)动态调整,在不同市场条件下可能不适配
- 缺乏点差过滤,在小时间周期或高波动时段可能因点差过大导致不利成交
- 历史K线遍历搜索平仓信号效率低,在K线数量大时可能影响性能
- 依赖自定义指标ADX_Cross_Hull_Style和UltraXMA,若这些指标不可用则EA无法运行
- MM参数设计混淆,负值为手数正值为比例,不够直观易误操作
改进建议
- 增加ATR动态止损止盈功能,根据市场波动性自动调整止损止盈距离
- 添加点差过滤和时间交易过滤,避免在高点差时段和非理想时段开仓
- 优化历史K线搜索逻辑,限制最大搜索K线数量避免性能问题
风险评估
总体风险: 中等
- 固定止损止盈无法适应不同市场波动环境,极端行情下止损可能过小或过大
- MM参数的负值/正值逻辑容易导致误操作,可能意外使用过大手数
- 历史K线遍历无上限约束,可能长时间阻塞OnTick执行
- 缺乏持仓检查,可能在已有同方向仓位时重复开仓
评估得分
代码质量3.0
策略逻辑3.0
风险管理2.0
稳健性2.0
创新性3.0
文档2.0
综合2.5
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | -0.1 | 交易份额,负值为固定手数,正值为存款比例 |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大价格滑点偏差点数 |
BuyPosOpen | true | 允许买入开仓 |
SellPosOpen | true | 允许卖出开仓 |
BuyPosClose | true | 允许平多头仓位 |
SellPosClose | true | 允许平空头仓位 |
InpInd_Timeframe | PERIOD_H4 | 指标计算时间周期 |
ADXPeriod | 14 | ADX指标周期 |
W_Method | MODE_JJMA | UltraXMA平滑方法 |
StartLength | 3 | UltraXMA初始平滑周期 |
WPhase | 100 | UltraXMA平滑参数(JJMA范围-100到+100) |
nStep | 5 | UltraXMA周期变化步长 |
nStepsTotal | 10 | UltraXMA周期变化次数 |
SmoothMethod | MODE_JJMA | UltraXMA二次平滑方法 |
SmoothLength | 3 | UltraXMA二次平滑深度 |
SmoothPhase | 100 | UltraXMA二次平滑参数 |
IPC | PRICE_CLOSE | UltraXMA价格常量类型 |
SignalBar | 1 | 获取入场信号的K线索引 |
同类 EA:多周期
回测是历史模拟,不代表未来收益,不构成投资建议。