EA-59303 · 动量

RSI EA

该EA基于RSI超买超卖阈值的交叉信号进行交易,RSI上穿下限时做多,下穿上限时做空。支持固定和ATR动态止损止盈、风险比例或固定手数计算、交易时段过滤以及部分减仓功能。出场条件与入场相反,在RSI反向穿越阈值时平仓。

打开交互版(权益曲线、切换品种)

基本信息

分类动量
风险高风险
爆仓风险高
评分★★☆☆☆
类型交易型 EA
周期M15, H1, H4
指标RSI, ATR
作者Copyright 2025

回测结果(H1,约 1 年)

品种盈亏年化最大回撤交易数胜率夏普恢复因子最长连亏每笔期望状态
EURUSD+1.35%+1.17%5.23%660.00%————交易太少
GBPUSD+1.43%+1.24%5.52%742.90%————交易太少
USDJPY+9.68%+8.36%4.05%1180.00%1.612.391+$94.96可靠
XAUUSD-100.00%-100.00%100.00%250.00%-2.01-1.001−$5,880.31账户爆仓

在 2 个有可信结果的品种中,1 个盈利。

由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。

和同类(动量)在同一品种上有可信结果的 EA 相比:USDJPY 好于 99%(共 68 个);XAUUSD 好于 0%(共 75 个)

按月看

品种盈利月份占比最好的月份最差的月份
USDJPY69%+3.46% 2026-07-1.47% 2026-09
XAUUSD33%+2.67% 2025-11-100.00% 2026-01

根据回测净值曲线计算(约每两天一个点),只统计可信结果。

爆仓风险: 高

  • 没有止损,也没有移动止损
  • 在我们的回测中爆仓(净值跌破 10%):XAUUSD

高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →

策略分析

策略概念基于RSI动量指标的超买超卖区域交叉信号,属于典型的动量反转混合策略。入场条件为RSI从下方穿越LowerThreshold(默认20)时做多,从上方穿越UpperThreshold(默认80)时做空,即信号线穿越阈值线而非简单的超买超卖判定。出场条件与入场对称,当持仓方向对应的反向信号出现时平仓,例如多头在RSI下穿上限时平仓。仓位管理支持固定手数和基于风险的自动计算两种模式,自动模式下根据账户余额/净值/可用保证金的一定比例与止损距离计算手数。止损止盈支持固定点数和基于ATR波动率的动态计算,动态模式利用ATR值乘以相应系数确定止损止盈距离。此外还提供交易时段过滤和部分减仓(Scale Out)功能,部分减仓在价格达到ATR倍数盈利时按比例平仓一半仓位。

优势

  • 支持固定和ATR动态止损止盈,适应不同市场波动环境
  • 具备风险比例自动计算仓位功能,资金管理较为完善
  • 提供交易时段过滤和部分减仓功能,增加策略灵活性
  • 新K线检测机制避免同一根K线重复开仓
  • 平仓重试机制(最多10次)提高了订单执行的可靠性

劣势

  • AccountBalance/AccountEquity/AccountFreeMargin函数返回类型为bool而非double,存在严重类型错误
  • 默认止损止盈均为0,不设止损直接交易风险极大
  • MinimumStopLoss和MaximumStopLoss参数定义了但从未在止损计算中使用,形同虚设
  • MaxSpreadAllowed参数定义了但入场条件中未检查点差,该参数完全未生效
  • LoadIndicatorData中ATR和RSI的CopyBuffer起始索引不一致,ATR从0开始而RSI从1开始,可能导致数据对齐问题

改进建议

  • 修复AccountBalance/AccountEquity/AccountFreeMargin的返回类型为double,否则风险仓位计算将完全错误
  • 在入场条件中加入MaxSpreadAllowed点差检查,使已有参数真正生效
  • 在CalculateStopLoss和CalculateTakeProfit中实际使用MinimumStopLoss/MaximumStopLoss/MinimumTakeProfit/MaximumTakeProfit参数进行范围校验
  • 统一LoadIndicatorData中CopyBuffer的起始索引,确保ATR和RSI数据时间对齐
  • OnDeinit中应释放指标句柄(IndicatorRelease),避免资源泄漏

风险评估

总体风险: 高风险

  • AccountBalance等函数返回bool类型导致自动仓位计算完全错误,可能产生0手或极端手数
  • 默认止损止盈均为0,用户若不修改参数将以无止损状态交易
  • MaxSpreadAllowed参数未生效,高波动时可能在极大点差下开仓
  • MinimumStopLoss/MaximumStopLoss未实际约束止损范围,可能导致过小或过大止损

评估得分

代码质量2.0
策略逻辑3.0
风险管理2.0
稳健性2.0
创新性2.0
文档1.0
综合2.0

参数

参数默认值说明
MomentumPeriod14RSI指标周期
UpperThreshold80RSI超买阈值(做空信号线)
LowerThreshold20RSI超卖阈值(做多信号线)
PriceModePRICE_CLOSERSI应用价格类型
EnableSessionFilterfalse是否启用交易时段过滤
SessionStartHourh07交易时段开始时间
SessionEndHourh19交易时段结束时间
VolatilityPeriod100ATR波动率指标周期
VolatilityTimeframePERIOD_CURRENTATR波动率时间周期
VolatilityFactorSL2动态止损ATR乘数
VolatilityFactorTP3动态止盈ATR乘数
PositionSizeModeRISK_DEFAULT_FIXED仓位模式:固定手数或风险自动计算
FixedLotSize0.1固定手数
RiskCalculationBaseRISK_BASE_BALANCE风险计算基准:余额/净值/可用保证金
RiskPercentage2风险百分比
MinimumLotSize0.01最小允许手数
MaximumLotSize100最大允许手数
MaxOpenPositions1最大同时持仓数
StopLossTypeSL_FIXED止损类型:固定或ATR动态
FixedStopLoss0固定止损点数(0=不止损)
MinimumStopLoss0最小止损点数
MaximumStopLoss5000最大止损点数
TakeProfitTypeTP_FIXED止盈类型:固定或ATR动态
FixedTakeProfit0固定止盈点数(0=不止盈)
MinimumTakeProfit0最小止盈点数
MaximumTakeProfit5000最大止盈点数
EnableScaleOutfalse是否启用部分减仓
ScaleOutPercent50减仓百分比
VolatilityFactorSO1减仓触发ATR乘数
IdentificationNumber0EA识别号(Magic Number)
TradeComment交易注释
SlippageTolerance5滑点容忍度
MaxSpreadAllowed50最大允许点差

同类 EA:动量

回测是历史模拟,不代表未来收益,不构成投资建议。

订阅每周 Arena 周报

每周一封邮件:排名变化、新信号和新研究。不发垃圾邮件,随时可以退订。