Exp_MA_Rounding_Candle_MMRec
该EA基于MA_Rounding_Candle自定义指标进行交易,该指标对平滑移动均线应用取整系数并从取整后的K线颜色生成买卖信号。它具有自适应资金管理功能,在连续亏损后减小仓位,并对多头和空头使用独立的魔术编号。
打开交互版(权益曲线、切换品种)基本信息
回测结果(H1,约 1 年)
| 品种 | 盈亏 | 年化 | 最大回撤 | 交易数 | 胜率 | 夏普 | 恢复因子 | 最长连亏 | 每笔期望 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | +6.01% | +5.20% | 4.57% | 80 | 51.90% | 1.21 | 1.31 | 6 | +$8.04 | 可靠 |
| GBPUSD | +0.50% | +0.44% | 5.26% | 81 | 44.40% | 0.11 | 0.10 | 6 | +$0.62 | 可靠 |
| USDJPY | -5.19% | -4.53% | 8.41% | 129 | 47.70% | -0.84 | -0.62 | 6 | −$4.11 | 可靠 |
| XAUUSD | -52.39% | -45.84% | 85.81% | 74 | 47.30% | -0.05 | -0.61 | 6 | −$70.80 | 可靠 |
在 4 个有可信结果的品种中,2 个盈利。
由 MQL5 自动转换为 Python,所有 EA 使用同一套规则回测:按 MT5 手数计仓(外汇每手 10 万单位、黄金每手 100 盎司),1:100 杠杆,同一时间只有一张挂单,净值跌破初始资金 10% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
和同类(趋势跟踪)在同一品种上有可信结果的 EA 相比:EURUSD 好于 92%(共 95 个);GBPUSD 好于 51%(共 95 个);USDJPY 好于 15%(共 95 个);XAUUSD 好于 21%(共 96 个)
按月看
| 品种 | 盈利月份占比 | 最好的月份 | 最差的月份 |
|---|---|---|---|
| EURUSD | 62% | +2.21% 2026-03 | -2.28% 2026-02 |
| GBPUSD | 54% | +2.48% 2026-01 | -2.85% 2026-10 |
| USDJPY | 54% | +1.48% 2026-05 | -2.45% 2026-08 |
| XAUUSD | 23% | +53.38% 2026-11 | -45.00% 2026-10 |
根据回测净值曲线计算(约每两天一个点),只统计可信结果。
爆仓风险: 未发现爆仓模式
代码里没有发现常见的爆仓模式,回测中账户也没有爆仓。但这不是保证,任何 EA 都可能亏钱。
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于MA_Rounding_Candle指标,该指标将移动均线进行取整处理后生成K线形态信号。入场条件为:当指标缓冲区值为2时产生买入信号(如果前一个值不为2则确认新信号),当值为0时产生卖出信号(如果前一个值不为0则确认新信号)。出场条件包括:买入信号触发时平掉空头仓位,卖出信号触发时平掉多头仓位,同时设置了固定点数的止损和止盈。仓位管理采用独立的多空魔术编号,允许分别控制多空方向的开关。资金管理是此EA的核心特色——通过BuyTradeMMRecounterS和SellTradeMMRecounterS函数,根据最近N笔交易中亏损交易的数量来调整仓位大小,在连续亏损时将仓位缩小到SmallMM_比例,正常交易时使用MM比例。这种自适应资金管理机制可以有效控制回撤。
优势
- 自适应资金管理:根据近期交易亏损情况动态调整仓位大小,亏损时自动缩小仓位至SmallMM_比例,有效控制回撤
- 多空独立管理:使用独立的魔术编号和独立的MM参数,可以分别控制多空方向的交易行为和风险管理
- 信号防重复机制:通过比较当前和前一个指标值避免重复开仓,且使用IsNewBar检查确保每根K线只计算一次信号
- 支持多种平滑算法:提供10种不同的均线平滑方法(SMA/EMA/JJMA/JurX/T3等),策略灵活性高
- 默认2:1盈亏比:TakeProfit为StopLoss的两倍(2000 vs 1000点),追求正期望值的交易系统
劣势
- 依赖自定义指标:EA依赖外部MA_Rounding_Candle指标,如果指标文件缺失或版本不匹配将无法正常运行
- 无点差过滤:EA没有点差检查机制,在高点差环境下可能造成不必要的入场成本,尤其对短线交易不利
- 止损止盈为固定点数:使用固定点数的止损止盈而非基于ATR等动态指标,无法适应不同波动率的市场环境
- MMMode默认为LOT:默认资金管理模式为固定手数而非基于账户余额或自由保证金的动态计算,可能未充分利用自适应MM的优势
- 无新K线强制检查:当SignalBar为0时跳过IsNewBar检查,可能在同一根K线内反复计算信号导致逻辑混乱
改进建议
- 增加点差过滤:在入场前检查当前点差是否超过阈值,避免在高点差时段开仓
- 使用ATR动态止损止盈:将固定点数的止损止盈替换为基于ATR的动态计算,更好地适应市场波动率变化
风险评估
总体风险: 中等
- 止损1000点较大但盈亏比2:1合理,需关注滑点影响
- 自适应MM在亏损时仅将比例从0.1降至0.01,缩量幅度为10倍,虽然有效但可能在极端行情下仍不够保守
- SignalBar=0时跳过IsNewBar检查可能导致同一K线内重复计算信号
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
BuyMagic | 777 | Buy方向的魔术编号 |
SellMagic | 888 | Sell方向的魔术编号 |
BuyTotalMMTriger | 5 | Buy方向用于计算止损的最近交易数量 |
BuyLossMMTriger | 3 | Buy方向用于减小MM的亏损交易数量阈值 |
SellTotalMMTriger | 5 | Sell方向用于计算止损的最近交易数量 |
SellLossMMTriger | 3 | Sell方向用于减小MM的亏损交易数量阈值 |
SmallMM_ | 0.01 | 亏损时每笔交易占用的资金比例 |
MM | 0.1 | 正常交易时每笔交易占用的资金比例 |
MMMode | LOT | 确定手数大小的方式(自由保证金/余额/亏损/固定手数) |
StopLoss_ | 1000 | 止损点数 |
TakeProfit_ | 2000 | 止盈点数 |
Deviation_ | 10 | 最大价格偏差点数(滑点容忍度) |
BuyPosOpen | true | 允许开多头仓位 |
SellPosOpen | true | 允许开空头仓位 |
BuyPosClose | true | 允许平多头仓位 |
SellPosClose | true | 允许平空头仓位 |
InpInd_Timeframe | PERIOD_H1 | MA_Rounding_Candle指标的时间周期 |
XMA_Method | MODE_SMA_ | 均线平滑方法(SMA/EMA/SMMA/LWMA/JJMA/JurX/ParMA/T3/VIDYA/AMA) |
XLength | 12 | 平滑深度(均线周期) |
XPhase | 15 | 平滑参数(JJMA为-100到+100,VIDYA为CMO周期,AMA为慢速均线周期) |
MaRound | 50 | 取整系数 |
Gap | 10 | 忽略的跳空点数大小 |
SignalBar | 1 | 获取入场信号的K线编号 |
同类 EA:趋势跟踪
回测是历史模拟,不代表未来收益,不构成投资建议。