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
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: 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
Parameters
| Parameter | Default | Description |
|---|---|---|
Trade0/Trade1/Trade2 | true | Enable/disable trading for corresponding strategy slot |
Kperiod0/1/2 | 5 | Stochastic K period parameter |
Dperiod0/1/2 | 3 | Stochastic D period parameter (signal line smoothing) |
slowing0/1/2 | 3 | Stochastic slowing smoothing parameter |
ma_method0/1/2 | MODE_SMA | Stochastic moving average method |
price_0/1/2 | STO_LOWHIGH | Stochastic price type |
SymbolA0/1/2 | EURUSD/GBPUSD/AUDUSD | Currency pair A in triangular arbitrage (trading target) |
SymbolB0/1/2 | EURJPY/GBPJPY/AUDJPY | Currency pair B in triangular arbitrage |
SymbolC0/1/2 | USDJPY | Currency pair C in triangular arbitrage combo |
StopLoss0/1/2 | 500 | Fixed stop loss in points |
Lots0/1/2 | 0.1 | Fixed lot size |
Slippage0/1/2 | 30 | Maximum allowed slippage |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.