CoupleHedgeEA v3.0
A multi-currency couple hedging EA that uses 3-5 currencies to form 3-30 pair groups, opening correlated hedge positions (plus/minus suites) on each group. It manages positions with configurable step progressions (statical/geometrical/exponential), multiple close-in-profit modes (side-by-side, both-sides, hybrid), and includes session control, spread filtering, and auto lot sizing.
Open the interactive view (equity curve, symbol switch)Key facts
Backtest results (H1, about 1 year)
| Symbol | P&L | Annual | Max DD | Trades | Win rate | Sharpe | Recovery | Losing streak | Per trade | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
Why this EA never traded: no entry rule survived the conversion.
Converted from MQL5 to Python and run with the same rules for every EA. Positions use MT5 lot sizes (100,000 units per FX lot, 100 oz per gold lot) with 1:100 leverage, one order at a time, and a stop-out below 10% of the starting balance. Sharpe is computed from the equity curve. Results marked as unreliable are shown for completeness only.
Blow-up risk: High
- Opens a grid of orders at fixed price steps
- Has no stop loss or trailing stop
High: stopped out in our backtest, or martingale/grid sizing without a stop loss. Elevated: martingale or grid sizing with a stop loss, or several positions at once without a stop loss. What the label means and what we found →
Strategy analysis
The strategy concept is based on correlation hedging between currency pairs, combining 3-5 currencies into multiple pair groups (couples), each containing two pairs. Entry conditions open positions simultaneously on both pairs in a group — if the two pairs share the same base or quote currency, one buys and one sells; otherwise both trade in the same direction, forming Plus andMinus hedging suites. Exit conditions support five profit-close modes (side-by-side, both-sides, hybrid 1, hybrid 2, and hybrid 1+2) along with configurable loss-close modes (whole side, partial side, or no loss close). Position sizing uses progressive scaling with three step progression modes (statical, geometrical, exponential) and four lot progression modes (static, geometrical, exponential, decreasing lot), adding positions at set step intervals when in loss. Money management offers auto lot sizing with a risk factor, maximum lot size limits, maximum order count limits, spread filtering, and session control (waiting after Monday open, stopping before Friday close) to manage overall risk exposure.
Strengths
- Multi-currency hedging design leverages currency correlations to diversify directional risk
- Flexible step and lot progression modes (statical/geometrical/exponential) adapt to different volatility environments
- Session control (Monday open wait, Friday close stop) and spread filtering reduce low-liquidity period risks
- Supports up to 5 currencies forming 30 hedge groups, offering rich combination flexibility
- Dual close mechanism for both profit and loss with multiple hybrid close modes available
Weaknesses
- Geometrical/exponential step progression causes position size and risk to escalate rapidly during sustained losses, exhibiting implicit martingale characteristics
- Heavy use of global variables and fixed-size arrays results in poor maintainability and limited extensibility
- Default configuration does not close in loss (Not_Close_In_Loss), potentially allowing floating losses to grow indefinitely
- Currency pair combination logic is hardcoded and cannot dynamically adapt to different broker symbol lists
- No stop-loss mechanism — relies entirely on hedging combinations and profit/loss targets for risk control, risking account blow-up in extreme markets
Possible improvements
- Add hard stop-loss mechanism with maximum floating loss limit per hedge group to prevent account blow-up in extreme markets
- Refactor hardcoded currency pair combination logic into a dynamic generation algorithm for better maintainability and extensibility
- Implement new bar detection to avoid executing full logic on every tick, reducing CPU and server load
Risk assessment
Overall risk: High risk
- Geometrical/exponential step progression causes exponential position growth during consecutive losses, creating implicit martingale risk
- Default no-loss-close setting allows floating losses to grow indefinitely until margin call
- No hard stop-loss — relies entirely on hedge pair profits for closure, which fails in extreme trending markets
- No new bar check mechanism may lead to over-trading in high-frequency tick environments
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
TypeOfOperation | Normal_Operation | Operation mode: Standby/Normal/Stop after profit close/Close all immediately |
CurrenciesTrade | EUR/GBP/USD | Currency list for pair construction (3-8, separated by /) |
NoOfGroupToSkip | 31,32,33,34 | Ring group numbers to skip (comma-separated) |
SideOpenOrders | Open_Plus_And_Minus | Open direction: Long only/Short only/Both |
OpenOrdersInLoss | Open_With_Manual_Step | Loss add-on mode: No add/Manual step/Auto step |
StepOpenNextOrders | 100.0 | Next add-on step value (amount or lots) |
StepOrdersProgress | Geometrical_Step | Step progression type: Static/Geometric/Exponential |
MinutesForNextOrder | 5 | Minimum interval between add-on orders (minutes) |
MaximumGroups | 0 | Max simultaneous open ring groups (0=unlimited) |
TypeCloseInProfit | Side_By_Side | Profit close type: Per-order/Basket |
TargetCloseProfit | 100.0 | Profit close target value |
DelayCloseProfit | 1 | Profit close delay (ticks) |
TypeCloseInLoss | Not_Close_In_Loss | Loss close type: Full/Partial/No loss close |
TargetCloseLoss | 1000.0 | Loss close target value |
DelayCloseLoss | 1 | Loss close delay (ticks) |
AutoLotSize | false | Enable auto lot size |
RiskFactor | 1.0 | Auto lot risk factor |
ManualLotSize | 0.01 | Manual lot size |
LotOrdersProgress | Geometrical_Lot | Lot progression type: Static/Geometric/Exponential/Decreasing |
UseFairLotSize | false | Use fair lot size per pair |
MaximumLotSize | 0.0 | Maximum lot size limit (0=unlimited) |
ControlSession | true | Enable trading session control |
WaitAfterOpen | 120 | Wait time after Monday open (minutes) |
StopBeforeClose | 60 | Stop time before Friday close (minutes) |
MaxSpread | 0.0 | Maximum acceptable spread (0=no check) |
MaximumOrders | 0 | Maximum total open orders (0=unlimited) |
MaxSlippage | 3 | Maximum acceptable slippage |
SymbolPrefix | NONE | Symbol name prefix |
SymbolSuffix | AUTO | Symbol name suffix (AUTO=auto-detect) |
MagicNumber | 0 | Magic number to filter orders, 0 for all |
Similar Hedging EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.