Exp_AroonHornSign
该EA基于自定义AroonHornSign指标信号进行交易,在上涨动量信号时开多仓,在下跌动量信号时开空仓。支持多种资金管理模式、止损止盈设置,以及分别控制买卖方向的开关和平仓开关。当同时启用开仓和平仓时,还会扫描历史K线寻找平仓信号。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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的策略概念基于Aroon指标衍生出的AroonHornSign自定义指标,捕捉价格动量方向变化产生交易信号。入场条件为:当指标上轨缓冲区(索引1)在指定信号Bar上出现非零且非EMPTY_VALUE的值时触发买入信号,下轨缓冲区(索引0)出现类似值时触发卖出信号。出场条件分为两部分:信号本身可直接触发反向平仓(如上涨信号触发卖出平仓),同时当买卖开仓和平仓均启用时,EA会向后扫描历史K线寻找更早的反向信号作为平仓依据。仓位管理通过MM参数控制,支持按余额百分比、可用保证金百分比、损失后余额/保证金百分比或固定手数五种模式。止损和止盈以点数设置,默认值较大(止损1000点,止盈2000点),表明策略追求较大的趋势行情。EA使用IsNewBar机制确保每个K线只计算一次信号,避免重复交易。
优势
- 使用Aroon动量指标捕捉趋势方向变化,逻辑清晰直观
- 提供灵活的资金管理模式,支持固定手数和多种按比例计算方式
- 买卖方向的开仓和平仓可独立控制,适应不同交易场景需求
- 采用IsNewBar机制限制每根K线只计算一次信号,避免信号重复触发
- 止损止盈参数可配置,具备基本的风险控制框架
劣势
- 历史K线扫描平仓逻辑存在性能隐患,当Bars数量很大时可能遍历大量K线
- min_rates_total计算逻辑有bug,第68行直接用3+SignalBar覆盖了第67行的MathMax计算
- 缺少点差过滤和交易时段过滤,在不利条件下可能成交
- 没有持仓检查逻辑,可能在已有同向持仓时重复开仓
- 指标句柄失败时仅打印俄文错误信息,不利于国际化调试
改进建议
- 修复min_rates_total计算bug,应取MathMax(AroonPeriod,ATR_Period)和3+SignalBar的最大值
- 为历史K线扫描添加最大搜索范围限制,避免遍历过多K线导致性能问题
- 增加点差过滤和交易时段过滤,提升实盘交易质量
- 添加持仓检查逻辑,避免同方向重复开仓
风险评估
总体风险: 中等
- min_rates_total计算bug可能导致指标数据不足时仍执行交易逻辑
- 缺少持仓检查可能造成同方向重复开仓,放大风险敞口
- 默认止损1000点和止盈2000点差距较大,单笔亏损可能显著
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金管理比例或手数 |
MMMode | LOT | 资金管理模式(固定手数/按余额/按可用保证金等) |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大允许滑点 |
BuyPosOpen | true | 是否允许买入开仓 |
SellPosOpen | true | 是否允许卖出开仓 |
BuyPosClose | true | 是否允许买入平仓(平空仓) |
SellPosClose | true | 是否允许卖出平仓(平多仓) |
InpInd_Timeframe | PERIOD_H4 | AroonHornSign指标时间周期 |
AroonPeriod | 9 | Aroon指标周期 |
SignalBar | 1 | 用于检测信号的K线索引 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。