EA-155 · 马丁格尔
MartGreg_1
该EA使用双MACD交叉策略产生买卖信号,并结合马丁格尔仓位管理系统,在连续亏损后加倍手数。仅在没有持仓时才开仓,采用固定止损和止盈水平。OnTester函数评估盈利能力与最大回撤的比率。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 偏高
- 亏损后加大仓位(马丁格尔)
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于双MACD指标的交叉信号进行趋势判断,使用两个不同参数的MACD指标进行共振确认入场。入场条件为:做多时要求MACD1柱状图从下穿上(t[0]>t[1]且t[1]<t[2])且MACD2柱状图上升(k[1]>k[0]);做空条件相反。出场条件依赖固定点数的止损和止盈,分别为Stop=500点和Tp=1500点。仓位管理采用马丁格尔策略,通过Martingail类实现,每次亏损后加倍手数,加倍次数由Ud参数控制,基础手数由DML参数设定为1000。资金管理通过全局变量保存和恢复马丁格尔状态,确保EA重启后能延续仓位倍增逻辑,但缺乏最大回撤限制和账户权益保护机制。
优势
- 双MACD共振确认提高了信号可靠性,减少了虚假信号
- 止盈距离大于止损距离(Tp=1500 vs Stop=500),盈亏比为3:1,具有正期望值潜力
- OnTester函数考虑了最大连续亏损和盈亏比,提供了合理的策略评估框架
劣势
- 马丁格尔仓位管理在连续亏损时会指数级放大风险,可能导致爆仓
- 仅允许单方向持仓(PositionSelect检查),无法同时多空交易,错失反向机会
- 缺少新K线检查,仅用tick_volume>1过滤不够可靠,可能重复入场
改进建议
- 增加最大马丁格尔倍数限制和账户权益保护,防止连续亏损导致爆仓
- 添加新K线检测逻辑替代tick_volume过滤,避免同一K线内重复开仓
风险评估
总体风险: 危险
- 马丁格尔策略在连续亏损后指数级增加仓位,极端行情下可迅速耗尽账户资金
- 没有最大回撤限制或账户余额保护机制
- 仅检查单品种持仓但不检查订单,可能在挂单状态下重复开仓
评估得分
代码质量2.0
策略逻辑2.0
风险管理1.0
稳健性2.0
创新性1.0
文档1.0
综合1.5
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
DML | 1000 | 马丁格尔基础仓位金额 |
Ud | 1 | 亏损后加倍次数 |
Stop | 500 | 止损点数 |
Tp | 1500 | 止盈点数 |
Slipage | 50 | 允许滑点 |
MACD1Fast | 5 | MACD1快速EMA周期 |
MACD1Slow | 20 | MACD1慢速EMA周期 |
MACD2Fast | 10 | MACD2快速EMA周期 |
MACD2Slow | 15 | MACD2慢速EMA周期 |
同类 EA:马丁格尔
回测是历史模拟,不代表未来收益,不构成投资建议。