EA-15950 · 动量

Exp_AroonOscillatorSignAlert

该EA基于Aroon振荡器指标的信号进行交易。在向上穿越信号时开多仓,在向下穿越信号时开空仓,并支持可配置的止损、止盈和资金管理选项。

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

基本信息

分类动量
风险中等
爆仓风险低
评分★★☆☆☆
类型交易型 EA
周期H1, H4, D1
指标Aroon Oscillator, ATR
作者—

回测结果(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 都可能亏钱。

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

策略分析

该EA使用Aroon振荡器指标(AroonOscillatorSignAlert自定义指标)作为核心交易信号源。入场条件为:当指标上轨缓冲区(buffer 1)在设定信号K线上产生非零且非空值时,触发买入开仓和卖出平仓信号;当指标下轨缓冲区(buffer 0)产生有效信号时,触发卖出开仓和买入平仓信号。出场条件依赖固定的止损和止盈设置,同时也支持反向信号平仓——当同时启用买入和卖出开平仓时,EA会回溯历史K线寻找反向信号来决定是否平仓。仓位管理通过MM参数和MMMode枚举支持五种模式:按自由保证金比例、按余额比例、按净自由保证金比例、按净余额比例和固定手数。资金管理采用固定止损止盈点数方式,无动态调整机制,缺乏根据市场波动性自适应调整止损止盈的能力。整体策略属于典型的动量跟随系统,依赖Aroon振荡器穿越阈值水平来判断趋势动量变化。

优势

  • 策略逻辑清晰,基于Aroon振荡器的动量信号有明确的理论基础
  • 提供五种仓位管理模式,灵活性较高,适应不同风险偏好
  • 支持独立的买入/卖出开平仓开关,可实现只做多、只做空或双向交易
  • 使用SignalBar参数控制信号确认时机,避免未收盘K线的虚假信号
  • 包含新K线检测机制(CIsNewBar),避免同一根K线重复开仓

劣势

  • ATR_Period变量未声明为input类型,无法在策略测试器中优化,属于代码缺陷
  • 止损止盈为固定点数,未考虑市场波动率变化(如ATR动态止损),在低波动和高波动市场中表现差异大
  • 回溯历史K线寻找反向平仓信号的循环(第142-163行)可能效率低下,在大量历史数据时存在性能问题
  • 缺乏点差过滤机制,在点差较大时仍会开仓,可能导致入场成本过高
  • 没有持仓检查和最大持仓数限制,可能因信号密集产生过多持仓
  • 注释为乱码(编码问题),严重影响代码可读性和可维护性

改进建议

  • 将ATR_Period声明为input参数,使其可在策略测试器中优化,并修复文件编码问题恢复中文注释
  • 增加基于ATR的动态止损止盈选项,以及点差过滤和最大持仓数限制,提升风险管理的适应性

风险评估

总体风险: 中等

  • 固定止损止盈不适应市场波动率变化,低波动时止损过大、高波动时止盈难以触及
  • 无点差过滤,高波动时段点差扩大时仍会入场
  • 无最大持仓数限制,信号密集期可能累积过多仓位
  • 回溯历史K线的循环无上界保护,极端情况下可能遍历过多K线

评估得分

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

参数

参数默认值说明
MM0.1资金管理参数,控制仓位大小比例或手数
MMModeLOT仓位计算模式:自由保证金/余额/净自由保证金/净余额/固定手数
StopLoss_1000止损点数
TakeProfit_2000止盈点数
Deviation_10最大允许滑点
BuyPosOpentrue是否允许买入开仓
SellPosOpentrue是否允许卖出开仓
BuyPosClosetrue是否允许买入平仓(平多仓)
SellPosClosetrue是否允许卖出平仓(平空仓)
InpInd_TimeframePERIOD_H4Aroon振荡器指标时间周期
ATR_Period14ATR周期(注意:此变量未声明为input,为硬编码)
AroonPeriod9Aroon振荡器计算周期
UpLevel+50上阈值水平
DnLevel-50下阈值水平
SoundONtrue是否启用声音报警
NumberofAlerts2最大报警次数
EMailONfalse是否启用邮件通知
PushONfalse是否启用推送通知
SignalBar1信号K线索引(0=当前K线,1=前一根已收盘K线)

同类 EA:动量

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

订阅每周 Arena 周报

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