RangeFollower
该EA监控日内价格波动幅度与ATR的关系,当价格突破平均日波幅的触发百分比时入场交易。交易方向由当前价格距日内高低点的远近决定,止损止盈基于ATR计算,并在交易日结束时自动平仓。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念是基于ATR的日内区间突破交易,当日内价格波动超过ATR均值的触发百分比时入场。入场条件为:若当前价格距日内低点的幅度超过触发阈值则做多,若距日内高点的幅度超过触发阈值则做空。出场条件包括:止盈设置为入场价加减ATR剩余波幅(atr_rest),止损设置为入场价加减ATR触发波幅(atr_trigger),以及每日结束时的定时器强制平仓。仓位管理仅支持固定手数输入,并通过SetVolume函数进行最小最大手数校验及步长对齐。资金管理方面仅检查了自由保证金是否大于1000倍手数,但没有设置最大持仓限制或风险百分比控制。该策略的止损止盈比约为(100-perTrigger)/perTrigger,当perTrigger为60时,盈亏比约为0.67,风险收益比不佳。
优势
- 策略逻辑清晰简洁,基于ATR动态调整止损止盈,适应不同品种波动特性
- 每日定时平仓机制避免了隔夜风险和持仓过夜的资金占用
- 日内波幅已达到阈值时拒绝入场,避免追高杀低
劣势
- 默认参数下盈亏比低于1(止损大于止盈),长期期望值为负
- 每日仅允许开仓一次且无加仓逻辑,错失日内趋势延续的机会
- 缺少点差过滤、滑点保护和重连处理,实盘环境可能产生异常订单
- OnInit中触发率校验提示20到90但实际允许10到90,提示信息与代码不一致
改进建议
- 调整止损止盈计算逻辑使盈亏比大于1,或允许用户独立设置止损和止盈比例
- 增加点差过滤和最大滑点限制,避免在高点差时段入场
- 增加新K线检测避免同一根K线重复触发,并修复OnInit中错误提示信息的不一致
风险评估
总体风险: 中等
- 止损大于止盈,单笔亏损风险大于盈利
- 无点差过滤,高波动时段点差扩大可能造成不利入场
- 定时器平仓依赖本地时间,平台断线或重启可能导致仓位无法按时关闭
- 仅用布尔标志trade_opened控制单日单笔,EA重启后标志重置可能重复开仓
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
perTrigger | 60 | 触发百分比(10%-90%),日内波幅达到ATR的该比例时入场 |
iLots | 0.1 | 固定交易手数 |
同类 EA:突破
回测是历史模拟,不代表未来收益,不构成投资建议。