Exp_BBands_Stop
该EA基于布林带止损指标信号交易,当上轨止损值激活且下轨确认方向时做多,反之做空。使用自定义BBands_Stop_v1指标,在可配置时间周期上运行,采用固定止损止盈水平,仓位通过存款比例或固定手数控制。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | -2.44% | -2.12% | 5.87% | 145 | 43.10% | -0.51 | -0.42 | 6 | −$1.93 | 可靠 |
| GBPUSD | +3.28% | +2.84% | 4.19% | 145 | 47.90% | 0.58 | 0.78 | 6 | +$2.11 | 可靠 |
| USDJPY | +5.50% | +4.76% | 3.29% | 274 | 52.40% | 0.98 | 1.67 | 5 | +$2.07 | 可靠 |
| XAUUSD | +119.89% | +91.75% | 30.57% | 152 | 51.70% | 2.29 | 3.92 | 6 | +$81.04 | 可靠 |
在 4 个有可信结果的品种中,3 个盈利。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
和同类(均值回归)在同一品种上有可信结果的 EA 相比:EURUSD 好于 47%(共 30 个);GBPUSD 好于 75%(共 32 个);USDJPY 好于 84%(共 32 个);XAUUSD 好于 90%(共 31 个)
按月看
| 品种 | 盈利月份占比 | 最好的月份 | 最差的月份 |
|---|---|---|---|
| EURUSD | 62% | +1.83% 2026-04 | -2.21% 2026-09 |
| GBPUSD | 62% | +1.90% 2026-05 | -2.15% 2026-03 |
| USDJPY | 62% | +4.36% 2026-01 | -2.04% 2026-05 |
| XAUUSD | 54% | +52.07% 2026-02 | -9.62% 2026-08 |
根据回测净值曲线计算(约每两天一个点),只统计可信结果。
爆仓风险: 未发现爆仓模式
代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于布林带止损指标(BBands_Stop_v1),该指标在价格突破布林带上下轨时产生信号,属于均值回归类策略。入场条件为:当上轨止损值在SignalBar上有值且下轨值在当前bar也存在时开多单;当下轨止损值有值且上轨值存在时开空单。出场条件分为两种:一是通过固定点数的StopLoss和TakeProfit出场,二是通过反向信号平仓(多单在出现空头信号时平仓,空单在出现多头信号时平仓)。仓位管理通过MM参数控制,负值为固定手数,正值为存款比例。资金管理依赖TradeAlgorithms.mqh中的BuyPositionOpen和SellPositionOpen函数实现,带有偏移因子MoneyRisk调整布林带偏移距离以控制入场敏感度。策略仅在新K线形成时或SignalBar为0时计算信号,避免重复交易。
优势
- 双信号确认机制(上下轨值同时存在才入场),减少假信号
- 同时支持信号平仓和固定止损止盈,具备双重出场保护
- 新K线检测机制避免同一bar内重复交易,逻辑清晰
- 可灵活控制多空方向的开启与平仓权限
- 使用CopyBuffer失败时设置Recount标志重试,具备基本容错
劣势
- 依赖外部自定义指标BBands_Stop_v1,缺乏指标源码透明度
- 未检查指标缓冲区返回值是否为EMPTY_VALUE,可能将空值误判为有效信号
- 缺少点差过滤,在高点差环境下止损止盈可能被轻易触发
- 仓位管理逻辑委托给外部头文件TradeAlgorithms.mqh,核心资金管理逻辑不可见
- SignalBar=1为默认值可能导致信号滞后,且缺少对SignalBar边界值的校验
改进建议
- 添加指标缓冲区EMPTY_VALUE检查,避免将无效数据误判为交易信号
- 增加点差过滤和最小止损距离检查,提高在高点差或低流动性环境下的稳定性
风险评估
总体风险: 中等
- 指标缓冲区未检查EMPTY_VALUE,可能产生虚假信号导致意外开仓
- 缺少点差过滤,高点差环境下固定止损可能过近
- 外部依赖TradeAlgorithms.mqh,其内部止损/仓位逻辑不可审计
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | -0.1 | 交易存款比例,负值为固定手数 |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大价格偏差点数(滑点容忍度) |
BuyPosOpen | true | 允许开多单 |
SellPosOpen | true | 允许开空单 |
BuyPosClose | true | 允许平多单 |
SellPosClose | true | 允许平空单 |
InpInd_Timeframe | PERIOD_H4 | 指标时间周期 |
Length | 20 | 布林带周期 |
Deviation | 2 | 布林带标准差倍数 |
MoneyRisk | 1.00 | 偏移因子 |
SignalBar | 1 | 获取入场信号的K线索引 |
同类 EA:均值回归
回测是历史模拟,不代表未来收益,不构成投资建议。