EA-29116 · Hedging

RingSystemEA v4.0

A multi-currency ring hedging EA that creates triangular currency pair groups from 3-8 currencies, generating up to 56 ring combinations. It opens simultaneous buy/sell positions across each ring's three pairs (Plus and Minus suites) to exploit temporary pricing imbalances, with configurable step progression, lot progression, and basket/single close logic.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryHedging
RiskDangerous
Blow-up riskHigh
Rating★★☆☆☆
TypeTrading EA
TimeframesM15, H1, H4, D1
IndicatorsBid Price, Spread
AuthorCopyright 2012-2020, Nikolaos Pantzos

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Not convertible yet
GBPUSD0.00%0.00%0.00%0—————Not convertible yet
USDJPY0.00%0.00%0.00%0—————Not convertible yet
XAUUSD0.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 core strategy is triangular arbitrage/ring hedging: from user-specified currencies it generates all 3-currency combinations (rings), each containing 3 currency pairs. For each ring it simultaneously opens a 'Plus suite' (Buy/Sell/Buy) and a 'Minus suite' (Sell/Buy/Sell), essentially hedging exchange rate relationship deviations across the three pairs. Entry involves initial positions, then adding positions when floating loss reaches a configured step threshold (supporting static, geometric, and exponential step progression). Exit supports both single-ticket and basket-ticket profit closing, with optional loss closing. Position sizing supports manual lot, auto lot (based on risk factor), fair lot distribution, and static/geometric/exponential/decreasing lot progression. Money management includes maximum lot limits, maximum order limits, spread filtering, trading session control, and slippage control.

Strengths

  • Multi-currency ring hedging design theoretically hedges directional risk of individual pairs, reducing unilateral exposure
  • Supports flexible 3-8 currency configuration with up to 56 ring groups for broad combination coverage
  • Rich position sizing and money management options (step progression, lot progression, auto lot, fair lot sizing)
  • Multi-layer risk protection including order limit, spread filter, session control, and slippage control
  • Plus/Minus dual suite design allows users to choose one-directional or bi-directional hedging flexibly

Weaknesses

  • Loss-adding mechanism (step-based position increase) is essentially a grid/martingale strategy that can blow accounts in extreme markets
  • Default no stop-loss (TypeCloseInLoss=Not_Close_In_Loss) allows unlimited floating loss expansion
  • Operating up to 56 groups × 3 pairs × 2 directions = 336 positions simultaneously demands extremely high margin and spread costs
  • Massive global variables and hardcoded arrays (MaxGroups=57) make code poorly maintainable and error-prone
  • Lacks true arbitrage logic—no indicator detecting pricing deviation among three pairs; entry timing relies entirely on step-based adding rather than market signals

Possible improvements

  • Introduce triangular arbitrage pricing deviation indicator (e.g., synthetic vs actual rate difference) as entry signal instead of pure loss-based adding
  • Enforce mandatory stop-loss or maximum floating loss limit to prevent account blow-up in extreme markets
  • Refactor global variables into structs/classes to reduce naming collision risk and improve readability/maintainability

Risk assessment

Overall risk: Dangerous

  • Loss-adding (grid/martingale style) can cause exponential position growth and account blow-up in trending markets
  • Default no stop-loss means unlimited floating loss exposure with no cap protection
  • Simultaneously managing up to 336 positions consumes enormous margin and may trigger margin calls
  • Ring hedging fails when extreme correlation breakdowns (e.g., flash crashes) cause all three pairs to lose simultaneously

Evaluation scores

Code quality2.0
Strategy logic2.0
Risk management1.0
Robustness2.0
Innovation3.0
Documentation2.0
Overall2.0

Parameters

ParameterDefaultDescription
TypeOfOperationNormal_OperationOperation mode: Standby/Normal/Stop after profit close/Close all immediately
TimerInMillisecond1000Timer event interval (milliseconds)
CurrenciesTradeEUR/GBP/USDCurrency list for pair construction (3-8, separated by /)
NoOfGroupToSkip57,58,59,60Ring group numbers to skip (comma-separated)
SideOpenOrdersOpen_Plus_And_MinusOpen direction: Long only/Short only/Both
OpenOrdersInLossOpen_With_Manual_StepLoss add-on mode: No add/Manual step/Auto step
StepOpenNextOrders200.0Next add-on step value (amount or lots)
StepOrdersProgressStatical_StepStep progression type: Static/Geometric/Exponential
MinutesForNextOrder60Minimum interval between add-on orders (minutes)
MaximumGroups0Max simultaneous open ring groups (0=unlimited)
TypeCloseInProfitSingle_TicketProfit close type: Per-order/Basket
TargetCloseProfit200.0Profit close target value
DelayCloseProfit1Profit close delay (ticks)
TypeCloseInLossNot_Close_In_LossLoss close type: Full/Partial/No loss close
TargetCloseLoss1000.0Loss close target value
DelayCloseLoss1Loss close delay (ticks)
AutoLotSizefalseEnable auto lot size
RiskFactor1.0Auto lot risk factor
ManualLotSize0.01Manual lot size
LotOrdersProgressStatical_LotLot progression type: Static/Geometric/Exponential/Decreasing
UseFairLotSizefalseUse fair lot size per pair
MaximumLotSize0.0Maximum lot size limit (0=unlimited)
ControlSessionfalseEnable trading session control
WaitAfterOpen60Wait time after Monday open (minutes)
StopBeforeClose60Stop time before Friday close (minutes)
MaxSpread0.0Maximum acceptable spread (0=no check)
MaximumOrders0Maximum total open orders (0=unlimited)
MaxSlippage3Maximum acceptable slippage
SymbolPrefixNONESymbol name prefix
SymbolSuffixAUTOSymbol name suffix (AUTO=auto-detect)
MagicNumber0Magic number to filter orders, 0 for all
CheckOrderstrueCheck all orders
PrintLogReportfalsePrint log report

Similar Hedging EAs

Backtests are historical simulations and do not guarantee future results. Not financial advice.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.