EA-452 · Momentum

Exp_ResonanceHunter

This EA uses a multi-symbol Stochastic oscillator (MultiStochastic_Exp) to detect resonance signals across three correlated currency pairs simultaneously. It trades up to three independent strategy slots, each analyzing a triangle of currency pairs (e.g., EURUSD/EURJPY/USDJPY) for Stochastic-based buy/sell signals and stop signals. Positions are opened and closed based on these cross-pair momentum resonance conditions with fixed stop-loss levels.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesM15, H1, H4
IndicatorsStochastic (MultiStochastic_Exp custom)
AuthorCopyright © 2010, Nikolay Kositsin

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: No blow-up pattern found

None of the usual blow-up patterns were found in the code, and the account was not stopped out in our backtests. That is not a guarantee: any EA can lose money.

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 cross-pair Stochastic resonance, where simultaneous Stochastic signals from three correlated currency pairs indicate a stronger momentum trend. Entry conditions trigger when the MultiStochastic_Exp indicator's signal buffer value equals 300, which is a special marker value rather than a traditional overbought/oversold threshold. Exit conditions include stop-loss triggers and opposing stop signals, with a fixed stop-loss of 500 points by default and no take-profit set. Position sizing uses fixed lots (default 0.1) with no scaling, martingale, or position adjustment mechanisms. Money management is essentially absent — there is no account balance check, no maximum position limit, and no drawdown protection. The strategy monitors three triangular arbitrage groups (EUR/JPY/USD, GBP/JPY/USD, AUD/JPY/USD) simultaneously, exploiting currency pair correlations to find resonance opportunities.

Strengths

  • Multi-symbol resonance strategy concept is unique, leveraging triangular currency pair correlations to enhance signal reliability
  • Each strategy slot can be independently enabled/disabled, providing good flexibility
  • New bar detection mechanism prevents repeated trading within the same bar
  • Multi-symbol time synchronization check (SynchroCheck) ensures data consistency across pairs
  • Stop-loss includes minimum stop level protection to prevent rejection due to stops being too close

Weaknesses

  • No take-profit setting at all — profits rely entirely on stop-loss or opposing signals, potentially leading to significant profit givebacks
  • Uses ORDER_FILLING_FOK fill mode which can cause order rejections when liquidity is insufficient
  • No account balance/margin check before placing orders, risking margin call scenarios
  • No position count limit — all three strategies could open simultaneously, concentrating risk
  • Redundant deviation assignment logic (deviation==ULONG_MAX? deviation : deviation) always returns the original value
  • Depends on external custom indicator MultiStochastic_Exp, increasing deployment complexity and dependency risk

Possible improvements

  • Add take-profit parameter and trailing stop functionality for better profit protection and exit management
  • Add account balance checks, maximum position limits, and drawdown protection for proper money management
  • Change ORDER_FILLING_FOK to a more compatible fill mode or auto-select fill policy based on symbol
  • Add spread filter and trading session filter to avoid high-cost and low-liquidity periods
  • Refactor three sets of duplicate input parameters into arrays or structs to reduce code redundancy and support dynamic strategy slot expansion

Risk assessment

Overall risk: Medium

  • No take-profit means winning positions can give back significant gains
  • No account balance check could lead to margin call or order failures
  • Three strategies opening simultaneously could cause excessive risk concentration
  • Dependence on external indicator MultiStochastic_Exp means total strategy failure if indicator is missing
  • FOK fill mode may cause frequent order rejections in volatile markets

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation4.0
Documentation1.0
Overall2.5

Parameters

ParameterDefaultDescription
Trade0/Trade1/Trade2trueEnable/disable trading for corresponding strategy slot
Kperiod0/1/25Stochastic K period parameter
Dperiod0/1/23Stochastic D period parameter (signal line smoothing)
slowing0/1/23Stochastic slowing smoothing parameter
ma_method0/1/2MODE_SMAStochastic moving average method
price_0/1/2STO_LOWHIGHStochastic price type
SymbolA0/1/2EURUSD/GBPUSD/AUDUSDCurrency pair A in triangular arbitrage (trading target)
SymbolB0/1/2EURJPY/GBPJPY/AUDJPYCurrency pair B in triangular arbitrage
SymbolC0/1/2USDJPYCurrency pair C in triangular arbitrage combo
StopLoss0/1/2500Fixed stop loss in points
Lots0/1/20.1Fixed lot size
Slippage0/1/230Maximum allowed slippage

Similar Momentum 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.