Bollinger Bands (xoiper)
该EA基于布林带均值回归信号交易,价格突破上轨时卖出,突破下轨时买入。采用固定的止盈止损点数距离,并提供基于账户余额的动态仓位调整选项。每个tick检查持仓盈亏,达到阈值时平仓。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念是典型的布林带均值回归:当价格偏离布林带上轨一定距离时做空,偏离下轨一定距离时做多,假设价格会回归均值。入场条件为收盘价高于上轨加额外偏移量时SELLme=true触发卖出,收盘价低于下轨减额外偏移量时BUYme=true触发买入。出场条件有两种:当持仓浮盈达到ExtProfitMade点数时止盈平仓,当浮亏达到ExtLossLimit点数时止损平仓,同时也设置了SL/TP挂单保护。仓位管理方面,支持固定手数和基于余额的动态手数两种模式,动态模式下手数随账户余额线性增减,上限500手。资金管理较为粗糙,仅基于余额比例调整手数,没有最大回撤控制或风险百分比计算。策略使用PRICE_OPEN计算布林带,周期仅4,属于非常短的参数设置,容易产生频繁信号和过度交易。
优势
- 使用布林带均值回归逻辑,策略思路清晰易懂
- 同时设置了代码内止盈止损和挂单SL/TP,双重保护机制
- 提供OneOrderOnly模式限制同时只持一仓,有助于控制风险敞口
- 日志记录功能完善,便于回测分析和问题排查
- digits_adjust机制自动适配3/5位小数品种
劣势
- 布林带周期仅4,信号过于频繁,属于过度敏感的参数设置
- 止损20点止盈3点的盈亏比极差(约1:0.15),长期必然亏损
- 动态手数随余额线性增长,盈利时会加速放大仓位,回撤时风险失控
- 没有点差过滤,布林带突破策略在宽点差品种上容易被止损
- 代码中SL/TP计算额外加了10点偏移,但缺乏注释解释原因,维护困难
- 每tick都执行完整循环检查所有持仓,效率低下
改进建议
- 提高布林带周期至20以上,并增加信号确认机制(如RSI超买超卖或成交量确认)以减少虚假信号
- 改善盈亏比,将止盈提高至至少与止损1:1或更高,或改用移动止损锁定利润
- 加入最大回撤限制和基于权益风险百分比的仓位管理,替代简单的余额比例计算
- 添加点差过滤和交易时段过滤,避免在高成本时段入场
风险评估
总体风险: 高风险
- 盈亏比极度不合理(止盈3点vs止损20点),需要87%以上胜率才能盈利
- 动态手数随余额无上限增长(仅设500手硬顶),盈利周期后会暴露巨大风险
- BB周期4产生大量虚假突破信号,频繁止损将快速消耗账户
- 没有最大持仓限制(OneOrderOnly=false时)和回撤保护
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
InpProfitMade | 3 | 止盈点数(3/5位小数自动×10) |
InpLossLimit | 20 | 止损点数(3/5位小数自动×10) |
BB_period | 4 | 布林带周期 |
BB_deviation | 2 | 布林带标准差倍数 |
InpBDistance | 3 | 突破布林带的额外偏移点数 |
InpLots | 1.0 | 每次交易手数 |
LotIncrease | true | 是否根据余额动态调整手数 |
同类 EA:均值回归
回测是历史模拟,不代表未来收益,不构成投资建议。