EA-29115 · 对冲
CoupleHedgeEA v3.0
这是一个多货币对冲EA,使用3-5种货币组成3-30个货币对组,在每个组上开立相关性对冲仓位(正向/反向组合)。它支持可配置的步进递增(静态/几何/指数)、多种获利平仓模式(逐侧、双侧、混合),并包含时段控制、点差过滤和自动手数计算功能。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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% 时强平。夏普比率按权益曲线计算。标为不可靠的结果仅供参考。
爆仓风险: 高
- 按固定价格间距挂一串网格单
- 没有止损,也没有移动止损
高:回测中爆仓,或使用马丁/网格加仓且不设止损。偏高:马丁或网格加仓但有止损,或不设止损且可同时持有多个仓位。 标签的含义和我们的发现 →
策略分析
策略概念基于货币对之间的相关性对冲,从3-5种货币中组合出多个货币对组(couple),每组包含两个货币对。入场条件是当两个货币对形成特定方向组合时同时开仓——如果两对共享相同基础货币或报价货币则一买一卖,否则同向开仓,形成Plus和Minus两个对冲组合。出场条件支持五种获利平仓模式(逐侧平仓、双侧平仓、混合1、混合2、混合1+2)以及亏损平仓模式。仓位管理采用递进式加仓,支持三种步进模式(静态步长、几何步长、指数步长)和四种手数递进模式(静态手数、几何递增、指数递增、递减手数),在亏损时按设定步长逐步加仓。资金管理提供自动手数计算和风险因子控制,同时设有最大手数限制、最大订单数限制、点差过滤和交易时段控制(周一开盘等待、周五收盘前停止)来管控风险。
优势
- 多货币对冲设计,利用货币相关性分散单一方向风险
- 灵活的步进和手数递进模式(静态/几何/指数),适应不同市场波动环境
- 具备完善的交易时段控制(周一开盘等待、周五收盘前停止)和点差过滤,降低低流动性时段风险
- 支持最多5种货币30个对冲组,提供丰富的组合灵活性
- 具有获利和亏损双重平仓机制,以及多种混合平仓模式供选择
劣势
- 几何/指数步进加仓在持续亏损时会导致仓位和风险急剧膨胀,具有隐性马丁格尔特征
- 代码中大量使用全局变量和固定大小数组,可维护性差且难以扩展
- 默认配置下不在亏损时平仓(Not_Close_In_Loss),可能导致浮亏无限扩大
- 货币对组合逻辑硬编码,无法动态适应不同经纪商的品种列表
- 缺少止损机制,完全依赖对冲组合和获利/亏损目标来控制风险,极端行情下可能爆仓
改进建议
- 增加硬止损机制,为每个对冲组设置最大浮亏限额,防止极端行情下账户爆仓
- 将硬编码的货币对组合逻辑重构为动态生成算法,提高代码可维护性和扩展性
- 加入新K线检查(New Bar检测),避免每个Tick都执行完整逻辑,降低CPU和服务器负载
风险评估
总体风险: 高风险
- 几何/指数步进加仓在连续亏损时仓位指数级增长,隐含马丁格尔风险
- 默认不设亏损平仓,浮亏可无限扩大直至爆仓
- 缺少硬止损,完全依赖对冲组合盈利来平仓,极端单边行情下对冲失效
- 无新K线检查机制,高频Tick环境下可能过度交易
评估得分
代码质量2.0
策略逻辑3.0
风险管理2.0
稳健性2.0
创新性3.0
文档2.0
综合2.3
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
TypeOfOperation | Normal_Operation | 操作模式:待机/正常/获利后停止/立即全部平仓 |
CurrenciesTrade | EUR/GBP/USD | 用于组合货币对的货币列表(最少3种,最多5种,用/分隔) |
NoOfGroupToSkip | 31,32,33,34 | 要跳过的对冲组编号(用逗号分隔) |
SideOpenOrders | Open_Plus_And_Minus | 开仓方向:仅正向/仅反向/双向开仓 |
OpenOrdersInLoss | Open_With_Manual_Step | 亏损时加仓模式:不加仓/手动步长/自动步长 |
StepOpenNextOrders | 100.0 | 下一组加仓步长(数值/手数) |
StepOrdersProgress | Geometrical_Step | 步长递进类型:静态/几何/指数 |
MinutesForNextOrder | 5 | 订单之间最小间隔分钟数 |
MaximumGroups | 0 | 最大开仓组数(0=不限) |
TypeCloseInProfit | Side_By_Side | 获利平仓类型:逐侧/双侧/混合1/混合2/混合1+2 |
TargetCloseProfit | 100.0 | 获利平仓目标值(数值/手数) |
DelayCloseProfit | 1 | 获利平仓前延迟(Tick数) |
TypeCloseInLoss | Not_Close_In_Loss | 亏损平仓类型:全侧/部分侧/不在亏损时平仓 |
TargetCloseLoss | 1000.0 | 亏损平仓目标值(数值/手数) |
DelayCloseLoss | 1 | 亏损平仓前延迟(Tick数) |
AutoLotSize | false | 是否使用自动手数计算 |
RiskFactor | 1.0 | 自动手数的风险因子 |
ManualLotSize | 0.01 | 手动设定的手数 |
LotOrdersProgress | Geometrical_Lot | 手数递进类型:静态/几何/指数/递减 |
UseFairLotSize | false | 是否为每对使用公平手数 |
MaximumLotSize | 0.0 | 最大手数限制(0=不限) |
ControlSession | true | 是否使用交易时段控制 |
WaitAfterOpen | 120 | 周一开盘后等待分钟数 |
StopBeforeClose | 60 | 周五收盘前停止交易分钟数 |
MaxSpread | 0.0 | 最大允许点差(0=不检查) |
MaximumOrders | 0 | 最大总持仓订单数(0=不限) |
MaxSlippage | 3 | 最大允许滑点 |
SymbolPrefix | NONE | 品种名称前缀 |
SymbolSuffix | AUTO | 品种名称后缀(AUTO=自动检测) |
MagicNumber | 0 | 订单识别号(0=自动生成) |
同类 EA:对冲
回测是历史模拟,不代表未来收益,不构成投资建议。