EA-16886 · 马丁格尔

DoubleUp2

该EA使用CCI和MACD指标在两者均超过±230阈值时生成买卖信号。它采用马丁格尔仓位管理方案,在每次亏损后加倍手数,并在达到最小价格距离后关闭盈利仓位。

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

基本信息

风险危险
爆仓风险高
评分★☆☆☆☆
类型交易型 EA
周期M15, H1, H4
指标CCI, MACD
作者The # one Lotfy

回测结果(H1,约 1 年)

品种盈亏年化最大回撤交易数胜率夏普恢复因子最长连亏每笔期望状态
EURUSD0.00%0.00%0.00%0—————暂不支持转换
GBPUSD0.00%0.00%0.00%0—————暂不支持转换
USDJPY0.00%0.00%0.00%0—————暂不支持转换
XAUUSD0.00%0.00%0.00%0—————暂不支持转换

这个 EA 从未交易的原因:转换后没有留下任何开仓规则。

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

爆仓风险: 高

  • 亏损后加大仓位(马丁格尔)
  • 没有止损,也没有移动止损

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

策略分析

策略概念基于CCI和MACD两个动量指标的组合信号,当两者同时超过230阈值时触发交易。入场条件为CCI>230且MACD>230时卖出,CCI<-230且MACD<-230时买入,这是一种极端超买超卖的逆势策略。出场条件分两种:一是在开反向仓位时关闭反向持仓(closeAll函数),二是当持仓盈利且价格偏离开仓价超过120点时平仓(close函数)。仓位管理采用典型的马丁格尔策略,通过m_pos计数器追踪连续亏损次数,新仓位手数为基础手数乘以2的m_pos次方,即每次亏损后手数翻倍。资金管理方面,基础手数根据账户余额动态计算(余额/50001),最低0.1手,但缺乏止损设置,所有交易的止损和止盈均为0,这意味着亏损只能通过反向信号或马丁格尔机制来处理。

优势

  • 双指标确认减少假信号,CCI和MACD同时超阈值才入场
  • 动态手数计算与账户余额挂钩,有一定资金管理意识
  • 反向信号时先平掉对向持仓,避免对冲占用保证金

劣势

  • 马丁格尔仓位翻倍策略在连续亏损时会导致手数指数级增长,极端行情下可能爆仓
  • 所有交易无止损设置(SL=0, TP=0),风险完全敞口
  • close()函数使用OrdersTotal()遍历但用m_position.SelectByIndex()选择,这是严重的逻辑错误,OrdersTotal返回挂单数而非持仓数
  • m_pos计数器在close()中递增逻辑混乱,盈利时m_pos+=2而非归零,与马丁格尔理论矛盾
  • 无新K线检查,每个tick都会尝试开仓,可能导致重复交易

改进建议

  • 添加止损保护,至少设置基于ATR或固定点数的止损,避免单笔亏损无限扩大
  • 修复close()函数中OrdersTotal与SelectByIndex的逻辑错误,应使用PositionsTotal代替OrdersTotal
  • 添加最大马丁格尔层数限制和新K线检查,防止手数无限增长和重复开仓

风险评估

总体风险: 危险

  • 马丁格尔加倍策略无层数上限,连续亏损可导致手数指数级增长直至爆仓
  • 所有仓位无止损保护,极端行情下单笔亏损无上限
  • close()函数存在严重逻辑Bug,使用OrdersTotal遍历持仓会导致平仓功能失效
  • 无新K线检查,每tick可能重复开仓

评估得分

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

参数

参数默认值说明
Inp_ma_period_CCI8CCI指标平均周期
Inp_fast_ema_period_MACD13MACD快线EMA周期
Inp_slow_ema_period_MACD33MACD慢线EMA周期

同类 EA:马丁格尔

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

订阅每周 Arena 周报

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