UnityMartingale
这是一个多货币智能交易系统,使用Unity指标检测货币的超买/超卖状态,并采用马丁格尔仓位管理策略进行交易。支持突破和回撤两种信号模式,包含移动止损、时段调度以及基于R平方准则的优化报告系统。通过策略池架构可同时管理多个货币对。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 偏高
- 亏损后加大仓位(马丁格尔)
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略基于Unity指标的多货币相对强弱分析,当某一货币在指标缓冲区中处于最大值(超买)而另一货币处于最小值(超卖)时产生交易信号。入场条件分为两种模式:突破模式(BREAKOUT)在信号方向直接入场,回撤模式(PULLBACK)则反转信号方向入场,即逆势交易。出场条件包括止损/止盈触发、反向信号出现时平仓、以及交易时段结束时强制平仓。仓位管理采用马丁格尔策略:盈利后重置为基础手数,亏损后将手数乘以Factor倍数,直到达到Limit设定的最大倍数限制后重置为基础手数。资金管理方面包含自由保证金检查,当保证金不足时自动回退到基础手数,并在交易错误后按SkipTimeOnError设定的周期暂停交易。系统还支持TrailingStop移动止损,并在测试器中实时计算权益回撤以评估策略表现。
优势
- 多货币架构设计优秀,通过策略池可同时管理多个品种的策略实例
- 包含完整的优化报告系统,支持R平方准则和HTML报告生成,便于策略评估
- 代码结构清晰,使用面向对象设计(接口、继承、智能指针),可维护性强
劣势
- 马丁格尔仓位管理策略在连续亏损时风险呈指数级增长,可能导致爆仓
- 当检测到多个持仓时仅发出警告而未处理,存在持仓管理漏洞
- WorkSymbols解析逻辑中'-'符号与负数可能产生歧义,解析鲁棒性不足
改进建议
- 增加最大回撤限制或账户权益保护机制,在达到危险水平时强制停止交易并平仓
- 将马丁格尔策略改为反马丁格尔或固定比例仓位管理,降低连续亏损时的风险暴露
风险评估
总体风险: 危险
- 马丁格尔策略在连续亏损时手数指数增长,Factor=2和Limit=5意味着最大手数可达初始的32倍
- 虽然有Limit限制最大加倍次数,但单次最大手数交易仍可能造成巨大亏损
- 多品种同时运行马丁格尔策略时,关联性风险可能同时触发多个品种的加倍操作
评估得分
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
UseTime | true | 是否启用交易时段限制 |
HourStart | 2 | 交易开始小时(0-23) |
HourEnd | 22 | 交易结束小时(0-23) |
Lots | 0.01 | 初始手数 |
Factor | 2.0 | 马丁格尔倍数因子 |
Limit | 5 | 最大加倍次数 |
StopLoss | 500 | 止损点数 |
TakeProfit | 500 | 止盈点数 |
StartType | 0 | 信号类型:0=突破,1=回撤 |
Magic | 1234567890 | 订单魔术号 |
SkipTimeOnError | 1 | 交易错误后暂停时间 |
Trailing | true | 是否启用移动止损 |
WorkSymbols | 自定义交易品种字符串 | |
UnitySymbols | EURUSD,GBPUSD,USDCHF,USDJPY,AUDUSD,USDCAD,NZDUSD | Unity指标使用的货币对列表 |
UnityBarLimit | 10 | Unity指标K线限制 |
UnityPriceType | PRICE_CLOSE | Unity指标价格类型 |
UnityPriceMethod | MODE_EMA | Unity指标均线方法 |
UnityPricePeriod | 1 | Unity指标均线周期 |
同类 EA:马丁格尔
回测是历史模拟,不代表未来收益,不构成投资建议。