Channels(barabashkakvn's edition)
该EA基于H1周期上快速EMA(2)穿越基于慢速EMA(220)的包络线(Envelopes)通道进行突破交易。当快速EMA(收盘价)上穿包络线下轨或上轨时开多仓,当快速EMA(开盘价)下穿包络线上轨或下轨时开空仓。持仓通过可配置的移动止损和可选的时段过滤进行管理。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | -4.24% | -3.70% | 8.90% | 1 | 0.00% | — | — | — | — | 交易太少 |
| GBPUSD | +2.50% | +2.17% | 6.57% | 1 | 0.00% | — | — | — | — | 交易太少 |
| USDJPY | +2.15% | +1.87% | 6.62% | 1 | 0.00% | — | — | — | — | 交易太少 |
| XAUUSD | -93.96% | -90.16% | 94.47% | 1 | 0.00% | -1.89 | -0.99 | 1 | −$9,395.83 | 账户爆仓 |
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
和同类(突破)在同一品种上有可信结果的 EA 相比:XAUUSD 好于 5%(共 19 个)
按月看
| 品种 | 盈利月份占比 | 最好的月份 | 最差的月份 |
|---|---|---|---|
| XAUUSD | 0% | 0.00% 2026-02 | -91.85% 2026-01 |
根据回测净值曲线计算(约每两天一个点),只统计可信结果。
爆仓风险: 高
- 在我们的回测中爆仓(净值跌破 10%):XAUUSD
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于包络线通道突破,使用三条不同偏差(0.3%、0.7%、1.0%)的Envelopes指标构建多层通道,配合EMA(2)作为快速信号线和EMA(220)作为中线基准。入场条件方面,做多信号包括EMA(2,Close)上穿任一Envelopes下轨、上穿任一Envelopes上轨、或上穿EMA(220);做空信号为EMA(2,Open)下穿任一Envelopes上轨、下穿任一下轨、或下穿EMA(220),均采用穿越确认。出场条件仅依赖移动止损机制,当浮盈超过移动止损距离加步长时,将止损调整至当前价格减去移动止损距离(多仓)或加上移动止损距离(空仓),无固定止盈止损的强制出场(输入默认为0)。仓位管理采用固定手数(InpLots),无加仓减仓逻辑,同时只持有一个方向的头寸(total==0时才开仓)。资金管理方面没有动态仓位计算或风险百分比控制,仅做最小/最大手数和手数步长的合规性检查。
优势
- 多层包络线通道设计(0.3%/0.7%/1.0%)提供多级别突破信号,增加入场灵活性
- 做多使用收盘价EMA、做空使用开盘价EMA,区分了多空信号的价格基准,逻辑有一定合理性
- 包含移动止损管理机制,能够锁定浮盈保护利润
- 时段过滤功能可避免在不活跃时段交易
- 手数合规性检查(LotsMin/LotsMax/LotsStep)防止无效下单
劣势
- 止损和止盈默认值为0,在没有移动止损触发的情况下持仓完全无保护,风险极大
- 同时只允许持有0个仓位(total==0)才能开新仓,但无新K线检测,同一根K线上可能反复触发信号导致逻辑混乱
- 做多条件中包含一个非穿越逻辑(MA<下轨且前值也<下轨),与其他穿越条件不一致,可能产生持续信号
- 使用非常短的EMA(2)作为信号线,对价格噪声极为敏感,容易产生频繁的虚假突破信号
- 没有点差过滤,在点差较大时突破信号可能已被点差吞噬
- InpTrailingStep缺少input关键字,用户无法在参数面板中调整
改进建议
- 添加新K线检测机制(IsNewBar),避免同一根K线内重复计算信号和重复开仓
- 设置合理的非零默认止损止盈值,并添加点差过滤条件,在点差过大时暂停交易
- 将做多条件中非穿越的逻辑修正为穿越条件,保持策略一致性,或单独标注为独立信号类型
- 将InpTrailingStep添加input关键字使其可配置,并增加最大持仓数控制参数
- 增加指标数据有效性检查(iMAGet/iEnvelopesGet返回0时跳过本轮逻辑),避免用无效数据做决策
风险评估
总体风险: 中等
- 止损止盈默认为0,若移动止损未及时触发,持仓面临无限亏损风险
- 无新K线检测,同一K线可能重复触发信号但被total==0逻辑部分缓解
- EMA(2)信号线噪声敏感度高,可能产生虚假突破导致频繁亏损交易
- 指标数据读取失败时返回0.0而非报错中断,可能用错误数据触发交易信号
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
InpLots | 0.1 | 交易手数 |
InpStopLossBuy | 0 | 做多止损点数(0=不设) |
InpStopLossSell | 0 | 做空止损点数(0=不设) |
InpTakeProfitBuy | 0 | 做多止盈点数(0=不设) |
InpTakeProfitSell | 0 | 做空止盈点数(0=不设) |
InpTrailingStopBuy | 30 | 做多移动止损点数 |
InpTrailingStopSell | 30 | 做空移动止损点数 |
InpTrailingStep | 1 | 移动止损步长点数 |
InpUseHours | false | 是否启用交易时段过滤 |
InpFrom | hour_00 | 交易开始小时 |
InpTo | hour_23 | 交易结束小时 |
m_magic | 43915489 | EA魔术号 |
同类 EA:突破
回测是历史模拟,不代表未来收益,不构成投资建议。