Exp_WPR_Histogram
该EA基于WPR(威廉指标)直方图指标进行交易,当直方图显示看涨动量超过高位时开多仓,显示看跌动量低于低位时开空仓。它使用自定义WPR_Histogram指标,配合可配置的超买/超卖水平和信号K线选择,以及多种资金管理模式进行仓位管理。交易出场由直方图的反向信号触发。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | +4.27% | +3.70% | 4.40% | 15 | 42.90% | 0.76 | 0.97 | 3 | +$25.62 | 可靠 |
| GBPUSD | -2.25% | -1.96% | 8.15% | 23 | 31.80% | -0.26 | -0.28 | 6 | −$9.55 | 可靠 |
| USDJPY | -7.93% | -6.93% | 9.62% | 36 | 25.70% | -1.18 | -0.82 | 7 | −$23.03 | 可靠 |
| XAUUSD | -90.78% | -86.05% | 96.36% | 40 | 32.50% | -1.76 | -0.94 | 5 | −$226.96 | 账户爆仓 |
在 4 个有可信结果的品种中,1 个盈利。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
和同类(动量)在同一品种上有可信结果的 EA 相比:EURUSD 好于 81%(共 68 个);GBPUSD 好于 39%(共 66 个);USDJPY 好于 3%(共 68 个);XAUUSD 好于 29%(共 75 个)
按月看
| 品种 | 盈利月份占比 | 最好的月份 | 最差的月份 |
|---|---|---|---|
| EURUSD | 54% | +2.81% 2026-09 | -1.94% 2026-04 |
| GBPUSD | 31% | +3.77% 2026-02 | -2.84% 2026-01 |
| USDJPY | 31% | +1.21% 2026-07 | -2.23% 2026-02 |
| XAUUSD | 0% | 0.00% 2026-03 | -83.93% 2026-02 |
根据回测净值曲线计算(约每两天一个点),只统计可信结果。
爆仓风险: 高
- 在我们的回测中爆仓(净值跌破 10%):XAUUSD
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
该策略基于威廉指标(WPR)的直方图变体进行动量交易。入场条件:当直方图颜色缓冲区(buffer 2)值为0且直方图值(buffer 0)大于0时,产生买入信号,表示价格处于超买区域上方的强势动量;当缓冲区值为2且直方图值小于2时,产生卖出信号,表示价格处于超卖区域下方的弱势动量。出场条件:买入信号的对面触发卖出平仓(SELL_Close=true),卖出信号的对面触发买入平仓(BUY_Close=true),即反向信号出场。仓位管理通过MM参数和MMMode模式控制,支持基于自由保证金、余额、损失后余额、损失后自由保证金和固定手数五种模式。资金管理方面,止损和止盈分别默认为1000和2000点,允许较大的价格波动空间。策略使用SignalBar参数决定在哪根K线上读取信号,默认为前一根已收盘K线(值=1),避免未收盘K线的信号漂移问题。
优势
- 使用已收盘K线信号(SignalBar=1),避免信号重绘问题,提高信号可靠性
- 提供完整的多空开仓和平仓开关,灵活性高,可单独控制多空方向
- 内置五种资金管理模式,适应不同风险偏好和账户规模
- 有新K线检测机制(IsNewBar),避免同一根K线内重复开仓
- 止损和止盈参数完整,具备基本的风险控制框架
劣势
- 没有点差过滤,在点差较大时可能导致入场价格不利,尤其对短线交易影响显著
- 缺少持仓检查逻辑,可能在已有同方向持仓时重复开仓
- 止损1000点和止盈2000点设置过大,在低波动性市场中可能长期无法止盈
- 依赖自定义指标WPR_Histogram,若指标文件缺失则EA无法运行且错误处理不够健壮
- 没有追踪止损或移动止损功能,无法在盈利后锁定浮盈
改进建议
- 添加点差过滤条件,在点差超过阈值时暂停开仓,避免不利滑点
- 增加持仓检查逻辑,在开仓前确认是否存在同方向持仓,防止重复开仓
- 加入追踪止损功能,在价格朝有利方向移动时自动调整止损以锁定利润
风险评估
总体风险: 中等
- 缺少点差过滤,高波动时段点差扩大可能导致不必要的亏损入场
- 没有持仓检查,可能在同一方向上重复建仓导致过度敞口
- 止损止盈点数固定,未根据市场波动性(ATR)动态调整
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金管理比例或固定手数 |
MMMode | LOT | 仓位计算模式(自由保证金/余额/损失后余额等) |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大允许滑点点数 |
BuyPosOpen | true | 是否允许开多仓 |
SellPosOpen | true | 是否允许开空仓 |
BuyPosClose | true | 是否允许平多仓 |
SellPosClose | true | 是否允许平空仓 |
InpInd_Timeframe | PERIOD_H4 | 指标计算的时间周期 |
WPRPeriod | 14 | WPR指标周期 |
HighLevel | -30 | 超买水平线(高位阈值) |
LowLevel | -70 | 超卖水平线(低位阈值) |
SignalBar | 1 | 用于判断信号的K线索引(0=当前K线,1=前一根已收盘K线) |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。