Terminator v2z0
这是一个多信号马丁格尔风格EA,基于六种可选信号类型之一(MACD、支点、支撑阻力、i_Trend+RSI、i_Trend+RSI+随机指标、i_Trend+RSI+随机指标+MFI)开仓。当价格逆向波动时,通过后续加仓时翻倍手数来摊低成本,超过设定次数后切换为1.5倍乘数,并使用移动止盈进行出场管理。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 偏高
- 亏损后加大仓位(马丁格尔)
- 最多可同时持有 10 个仓位
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于多指标信号确认开仓,支持六种不同的信号源,包括MACD动量、支点水平、支撑阻力突破以及i_Trend指标与RSI、随机指标、MFI的多种组合。入场条件为选定信号源发出买入或卖出信号,且无反向信号时开仓。出场条件包括初始止盈、加仓后重新计算的加权平均止盈,以及可选的移动止损。仓位管理采用马丁格尔式递增加仓:前DoubleCount次加仓手数为起始手数乘以2的幂次,之后改为1.5倍递增,每次加仓间距为Pips点数。资金管理方面,当Lots设为0时根据账户自由保证金和MaximumRisk参数计算手数。加仓后止盈按持仓加权均价加上TakeProfit2点数重新计算,最后一次加仓时设置止损。移动止损功能在价格朝有利方向移动后将止损移至保本以上。
优势
- 支持六种信号源切换,策略灵活性高,可适应不同市场环境
- 采用面向对象设计,信号类继承结构清晰,便于扩展新的信号类型
- 加仓后重新计算加权均价止盈,逻辑合理,确保整体持仓盈利目标
- 包含止损检查、最小止损距离验证等风控措施
劣势
- 马丁格尔式加仓策略风险极高,连续逆向波动会导致手数指数级增长,可能爆仓
- 止损仅在最后一次加仓时设置,前期加仓均无止损保护,面临单边行情巨大风险
- MaxCount设为-1时无加仓次数限制,极端行情下亏损无上限
- CSigi_TrendRSISto类中m_buy被错误地赋值为卖出条件(复制粘贴bug),导致该信号类型完全失效
- SolveLots函数的风险计算方式过于简化,未考虑杠杆和品种点值
改进建议
- 修复CSigi_TrendRSISto中m_buy的赋值bug,将第741行的m_buy改为正确的买入条件而非复制m_sell的条件
- 为每次加仓都设置止损,而非仅在最后一次加仓时设置,降低无保护持仓风险
- 加入最大账户风险限制和最大总持仓手数限制,防止马丁格尔加仓失控
- 加仓逻辑中应考虑点差和手续费成本,当前加权均价止盈未计入交易成本
风险评估
总体风险: 危险
- 马丁格尔式2倍加仓策略,手数指数级增长,连续逆向波动极易爆仓
- 前期加仓无止损保护,单边行情下亏损无下限
- CSigi_TrendRSISto信号存在bug,买入信号实际执行卖出逻辑
- MaxCount可设为-1无限制,风险完全不受控
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
Trade_ON | true | 是否允许开仓 |
Lots | 0.1 | 固定手数,为0时按风险计算 |
MaximumRisk | 0.05 | 风险比例,Lots为0时生效 |
StopLoss | 2500 | 止损点数,0为不止损 |
TakeProfit | 500 | 首仓止盈点数 |
TakeProfit2 | 100 | 加仓后加权均价止盈点数 |
MaxCount | 10 | 同方向最大加仓次数,-1为无限制 |
DoubleCount | 5 | 2倍加仓次数,之后改为1.5倍 |
Pips | 500 | 加仓间距点数 |
Trailing | 0 | 移动止损点数,0为关闭 |
Shift | 1 | 指标计算使用的K线偏移 |
ReverseCondition | false | 反转买卖信号 |
OPEN_POS_BASED_ON | MACD | 交易信号类型选择 |
MACD_FastPeriod | 14 | MACD快线周期 |
MACD_SlowPeriod | 26 | MACD慢线周期 |
MACD_Price | PRICE_CLOSE | MACD计算价格 |
Pivot_DayStartHour | 0 | 支点日起始小时 |
Pivot_DayStartMinute | 0 | 支点日起始分钟 |
Pivot_AttachSundToMond | true | 将周日K线合并至周一 |
SupRes_iPeriod | 70 | 支撑阻力指标周期 |
iT_BBPeriod | 10 | 布林带周期 |
iT_BBDeviation | 2 | 布林带偏差 |
iT_BullsBearsPeriod | 6 | 多空力量指标周期 |
RSI_Period | 14 | RSI周期 |
St_KPeriod | 8 | 随机指标K周期 |
St_DPeriod | 3 | 随机指标D周期 |
St_SPeriod | 4 | 随机指标平滑周期 |
St_UpperLevel | 80 | 随机指标上轨 |
St_LowerLevel | 20 | 随机指标下轨 |
MFI_Period | 5 | MFI周期 |
同类 EA:马丁格尔
回测是历史模拟,不代表未来收益,不构成投资建议。