EA-29116 · 对冲
RingSystemEA v4.0
多货币环形对冲EA,从3至8种货币中构建三角货币对组合(最多56个环),对每个环的三对同时开立买/卖仓位组合(正套与反套),利用临时价格失衡获利,支持步进递进、手数递进及篮子/单笔平仓逻辑。
打开交互版(权益曲线、切换品种)基本信息
回测结果(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对货币对)。对每个环同时开立'Plus套组'(Buy/Sell/Buy)和'Minus套组'(Sell/Buy/Sell),本质是对冲三对间的汇率关系偏差。入场条件为初始开仓后,若浮亏达到设定步进值则加仓(支持静态、几何、指数步进)。出场支持单笔获利平仓和篮子获利平仓两种模式,也可设定亏损平仓。仓位管理支持手动手数、自动手数(基于风险因子)、公平手数分配,以及静态/几何/指数/递减手数递进。资金管理包含最大手数限制、最大订单数限制、点差过滤、交易时段控制和滑点控制。
优势
- 多货币环形对冲设计在理论上能对冲单一货币对方向性风险,降低单边暴露
- 支持3至8种货币灵活配置,最多56个环组,组合覆盖面广
- 提供丰富的仓位管理和资金管理选项(步进递进、手数递进、自动手数、公平手数)
- 有订单数上限、点差过滤、交易时段控制、滑点控制等多层风险防护
- Plus/Minus双套组设计允许用户选择单向或双向对冲,灵活度较高
劣势
- 亏损加仓机制(步进加仓)本质是网格/马丁类策略,在极端行情下可能导致账户爆仓
- 默认不设止损(TypeCloseInLoss=Not_Close_In_Loss),浮亏可能无限扩大
- 同时操作最多56个环组×3对×2方向=336个仓位,对账户保证金和点差成本要求极高
- 大量全局变量和硬编码数组(MaxGroups=57)使代码可维护性差,容易出错
- 缺乏真正的套利逻辑——没有检测三对间定价偏差的指标,入场时机完全依赖加仓步进而非市场信号
改进建议
- 引入三角套利定价偏差指标(如合成汇率与实际汇率之差)作为入场信号,而非纯靠浮亏加仓
- 强制设置止损或最大浮亏限制,防止极端行情下账户爆仓
- 将全局变量重构为结构体/类,减少命名冲突风险并提升可读性和可维护性
风险评估
总体风险: 危险
- 亏损加仓(网格/马丁式)在趋势行情中可导致指数级仓位增长和账户爆仓
- 默认不设止损,浮亏无上限保护
- 同时管理大量仓位(最多336个)对保证金消耗极大,可能触发保证金追缴
- 环形对冲在极端相关性破裂时(如闪崩)三对可能同时亏损,对冲失效
评估得分
代码质量2.0
策略逻辑2.0
风险管理1.0
稳健性2.0
创新性3.0
文档2.0
综合2.0
参数
| 参数 | 默认值 | 说明 |
|---|---|---|
TypeOfOperation | Normal_Operation | 操作模式:待机/正常/盈利平仓后停止/立即平仓所有 |
TimerInMillisecond | 1000 | 定时器事件间隔(毫秒) |
CurrenciesTrade | EUR/GBP/USD | 用于构建货币对的货币列表(最少3最多8,用/分隔) |
NoOfGroupToSkip | 57,58,59,60 | 要跳过的环组编号(逗号分隔) |
SideOpenOrders | Open_Plus_And_Minus | 开仓方向:仅正套/仅反套/双向 |
OpenOrdersInLoss | Open_With_Manual_Step | 亏损加仓模式:不加仓/手动步进/自动步进 |
StepOpenNextOrders | 200.0 | 下一笔加仓步进值(金额或手数) |
StepOrdersProgress | Statical_Step | 步进递进类型:静态/几何/指数 |
MinutesForNextOrder | 60 | 加仓最小时间间隔(分钟) |
MaximumGroups | 0 | 最大同时开放环组数(0=不限) |
TypeCloseInProfit | Single_Ticket | 盈利平仓类型:单笔/篮子 |
TargetCloseProfit | 200.0 | 盈利平仓目标值 |
DelayCloseProfit | 1 | 盈利平仓延迟(Tick数) |
TypeCloseInLoss | Not_Close_In_Loss | 亏损平仓类型:整笔/部分/不亏损平仓 |
TargetCloseLoss | 1000.0 | 亏损平仓目标值 |
DelayCloseLoss | 1 | 亏损平仓延迟(Tick数) |
AutoLotSize | false | 是否使用自动手数 |
RiskFactor | 1.0 | 自动手数风险因子 |
ManualLotSize | 0.01 | 手动手数大小 |
LotOrdersProgress | Statical_Lot | 手数递进类型:静态/几何/指数/递减 |
UseFairLotSize | false | 是否为每对使用公平手数 |
MaximumLotSize | 0.0 | 最大手数限制(0=不限) |
ControlSession | false | 是否启用交易时段控制 |
WaitAfterOpen | 60 | 周一开盘后等待时间(分钟) |
StopBeforeClose | 60 | 周五收盘前停止时间(分钟) |
MaxSpread | 0.0 | 最大可接受点差(0=不检查) |
MaximumOrders | 0 | 最大总持仓订单数(0=不限) |
MaxSlippage | 3 | 最大可接受滑点 |
SymbolPrefix | NONE | 品种名称前缀 |
SymbolSuffix | AUTO | 品种名称后缀(AUTO=自动检测) |
MagicNumber | 0 | 订单魔术号(0=自动生成) |
CheckOrders | true | 是否检查所有订单 |
PrintLogReport | false | 是否打印日志报告 |
同类 EA:对冲
回测是历史模拟,不代表未来收益,不构成投资建议。