RenkoLineBreakVsRSI_EA
该EA基于RenkoLineBreak指标的趋势方向并结合RSI偏离50中线的程度进行交易。当RenkoLineBreak显示持续趋势且RSI远离中点时,放置买入止损或卖出止损挂单。当趋势反转或RSI穿越相反阈值时平仓。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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的核心策略是利用RenkoLineBreak指标判断趋势方向,并结合RSI指标作为过滤条件。RenkoLineBreak指标通过自定义指标缓冲区2的值来判断趋势状态:正值表示上升趋势,负值表示下降趋势,趋势转换用TO_UP和TO_DOWN表示。入场条件为:当趋势为UP且RSI低于50减去垂直偏移量时开多单,当趋势为DOWN且RSI高于50加上垂直偏移量时开空单,这是一种趋势确认加动量回调的策略逻辑。出场条件为:当趋势转为TO_DOWN或RSI超过50加偏移时平多仓,当趋势转为TO_UP或RSI低于50减偏移时平空仓。仓位管理采用固定手数方式,通过挂单(Buy Stop/Sell Stop)入场,挂单价格基于前3根K线的高低点加上偏移量确定。止损设在前3根K线的极值处加减偏移量,止盈为固定点数。资金管理方面提供了固定手数和固定百分比两种模式枚举,但实际代码中仅使用了固定手数InpVolume,未实现MoneyFixedLot的调用。
优势
- 使用双指标过滤(RenkoLineBreak趋势+RSI动量),减少假信号
- 采用挂单入场机制,价格确认后才成交,避免追价
- 有明确的止损和止盈设置,每笔交易风险可控
- 趋势反转时自动删除旧挂单并平仓,避免逆势持仓
劣势
- MM_MODE枚举声明了FIXED_PERCENT模式但未实现,代码与声明不一致
- 包含了MoneyFixedLot.mqh但从未使用,存在冗余依赖
- DeleteAllOrders函数在删除订单时遍历列表的同时删除元素,可能导致跳过订单
- CheckPosition函数中使用PositionGetInteger但未先调用PositionSelect,可能获取不到正确仓位信息
- 没有滑点保护和点差过滤,在极端行情下可能产生意外成交价格
改进建议
- 实现FIXED_PERCENT资金管理模式或移除未使用的枚举和包含文件,保持代码一致性
- 修复DeleteAllOrders函数中的遍历删除问题,应从后向前遍历或使用单独收集ticket再删除
- 在CheckPosition中先通过PositionSelect选择正确仓位再获取仓位属性,确保数据准确
- 增加点差过滤和滑点控制参数,避免在恶劣交易条件下下单
风险评估
总体风险: 中等
- DeleteAllOrders遍历删除可能导致部分订单未被删除,造成意外挂单成交
- CheckPosition中未正确选择仓位可能读取错误仓位属性导致错误平仓
- 无点差过滤机制,高波动时段可能以不利价格成交
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
InpMinBoxSize | 500 | RenkoLineBreak指标的最小盒体大小 |
InpRsiPeriod | 4 | RSI指标的周期参数 |
InpRsiVShift | 20 | RSI相对于50中线的垂直偏移量,用于过滤信号 |
InpTakeProfit | 1000 | 止盈点数(以点为单位) |
InpIndentFromHL | 50 | 挂单价格距离最高/最低价的偏移点数 |
InpVolume | 1.0 | 固定交易手数 |
同类 EA:趋势跟踪
回测是历史模拟,不代表未来收益,不构成投资建议。