Exp_RAVI_Histogram
该EA基于RAVI直方图指标进行交易,通过比较快速和慢速移动平均线来衡量动量。当RAVI值从下方穿越上轨时开多仓,从上方穿越下轨时开空仓,同时对反向持仓发出平仓信号。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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的策略核心是RAVI(Range Action Verification Index)直方图指标,通过计算快速和慢速平滑移动平均线的差值来衡量市场动量方向。入场条件为:当RAVI值高于上轨(UpLevel=+0.1)且前一根柱的值低于上轨时,触发做多开仓信号;当RAVI值低于下轨(DnLevel=-0.1)且前一根柱的值高于下轨时,触发做空开仓信号。出场条件方面,做多信号触发时同时平空仓,做空信号触发时同时平多仓,另外设有固定止损(1000点)和止盈(2000点)。仓位管理通过MM参数控制风险比例,支持多种保证金模式(自由保证金、余额、亏损后余额、固定手数)。资金管理采用MarginMode枚举,默认为固定手数模式(LOT),MM=0.1表示资金分配比例。策略使用IsNewBar机制确保仅在新的K线形成时执行信号判断,避免重复交易,同时通过SignalBar参数控制使用哪根K线的信号。
优势
- 采用多周期指标(H4),避免了短周期噪音干扰,适合捕捉中期趋势动量
- 提供完整的开平仓开关控制,可以灵活只启用做多或做空方向
- 使用IsNewBar机制防止同一K线内重复交易,减少不必要的交易频率
- 支持10种平滑算法和9种价格类型,参数灵活度高,可适应不同市场环境
- 设置了止损和止盈,风险可控,盈亏比2:1较为合理
劣势
- 止损1000点和止盈2000点数值过大,在多数品种上可能导致单笔风险过高
- 缺乏点差过滤机制,在点差较大的品种上可能导致不必要的亏损
- 没有持仓检查逻辑,可能在已有同向持仓时重复开仓
- 信号逻辑简单,仅依赖RAVI穿越阈值,在震荡市中可能频繁产生虚假信号
- Recount静态变量在CopyBuffer失败时置为true,但缺乏最大重试次数限制,可能无限循环重试
改进建议
- 增加持仓检查逻辑,避免同向重复开仓,并加入最大持仓数量限制
- 添加点差过滤和波动率过滤(如ATR),在市场条件不适宜时抑制交易信号
- 将止损止盈参数改为基于ATR的动态计算,而非固定点数,以适应不同品种的波动特性
风险评估
总体风险: 中等
- 固定止损1000点在某些品种上可能过大,单笔亏损可能占总资金比例过高
- 缺乏持仓数量限制和同向重复开仓检查,可能导致过度持仓
- 没有点差过滤,高波动时段点差扩大时仍会执行交易
- Recount机制无重试上限,可能在指标数据异常时陷入循环
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
MM | 0.1 | 资金分配比例,控制每笔交易的资金占比 |
MMMode | LOT | 保证金模式:自由保证金/余额/亏损后余额/固定手数 |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大允许滑点点数 |
BuyPosOpen | true | 是否允许做多开仓 |
SellPosOpen | true | 是否允许做空开仓 |
BuyPosClose | true | 是否允许平多仓 |
SellPosClose | true | 是否允许平空仓 |
InpInd_Timeframe | PERIOD_H4 | 指标计算的时间周期 |
FastMethod | MODE_EMA_ | 快速平滑方法 |
FastLength | 7 | 快速平滑周期长度 |
FastPhase | 15 | 快速平滑相位参数(JJMA/VIDYA/AMA适用) |
SlowMethod | MODE_EMA_ | 慢速平滑方法 |
SlowLength | 65 | 慢速平滑周期长度 |
SlowPhase | 15 | 慢速平滑相位参数(JJMA/VIDYA/AMA适用) |
IPC | PRICE_CLOSE_ | 应用价格类型 |
Shift | 0 | 指标偏移量 |
UpLevel | +0.1 | 上轨阈值水平 |
DnLevel | -0.1 | 下轨阈值水平 |
SignalBar | 1 | 用于信号检测的K线索引 |
同类 EA:动量
回测是历史模拟,不代表未来收益,不构成投资建议。