#2 stoch mt5
This EA uses a combination of three Stochastic oscillators and an Accelerator Oscillator to generate entry signals, and an Awesome Oscillator to manage exits. It trades on completed bars only, with fixed lot sizing, configurable stop loss and take profit in pips, and an optional trailing stop mechanism. Sessions can be filtered by day of week and time of day, with forced closes at session or Friday boundaries.
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.38% | -0.33% | 0.80% | 127 | 50.40% | -0.76 | -0.47 | 5 | −$0.30 | Reliable |
| GBPUSD | -0.50% | -0.43% | 0.79% | 127 | 42.90% | -0.87 | -0.63 | 7 | −$0.37 | Reliable |
| USDJPY | +0.35% | +0.30% | 0.34% | 131 | 54.20% | 0.66 | 1.03 | 3 | +$0.26 | Reliable |
| XAUUSD | -11.51% | -9.61% | 15.63% | 134 | 42.90% | -1.46 | -0.74 | 10 | −$8.47 | Reliable |
Profitable on 1 of 4 markets with reliable results.
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.
Against the other Momentum EAs with a reliable result on the same market: EURUSD: better than 53% of 68 · GBPUSD: better than 59% of 66 · USDJPY: better than 62% of 68 · XAUUSD: better than 49% of 75
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 31% | +0.17% 2026-09 | -0.32% 2026-04 |
| GBPUSD | 31% | +0.32% 2026-04 | -0.43% 2026-01 |
| USDJPY | 69% | +0.13% 2026-03 | -0.24% 2026-08 |
| XAUUSD | 38% | +2.82% 2026-07 | -6.50% 2026-08 |
From the backtest equity curve, sampled about every two days; only reliable results.
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 multi-indicator momentum confirmation, using three Stochastic oscillators with different parameter settings along with crossover and overbought/oversold zones to confirm trend direction. Entry conditions require: Stochastic Signal main line above signal line (long) or below (short); Stochastic 1 %K value above level 20 (long) or below level 80 (short); Stochastic 2 %K value below level 75 (long) or above level 25 (short); Accelerator Oscillator crossing upward through 0.0002 (long) or crossing downward through -0.0002 (short). Exit conditions are driven by the Awesome Oscillator: close long when AO crosses below 0.0013 from above, close short when AO crosses above -0.0013 from below. Position management uses fixed lot sizing for entries, supports a trailing stop based on the previous bar's high/low, with stop loss and take profit calculated in pips. Money management relies solely on fixed lots with no dynamic position sizing based on account balance or risk percentage.
Strengths
- Multi-indicator confirmation with triple Stochastic plus Accelerator Oscillator combination reduces false signals
- Trades only on completed bars, avoiding intrabar noise and duplicate signals
- Comprehensive session management with day-of-week and time filtering plus forced close at session boundaries
Weaknesses
- Fixed lot sizing with no dynamic position management, cannot automatically adjust lots based on account risk
- Three Stochastic oscillators have highly similar parameters (all 40/10/10), indicating indicator redundancy and insufficient diversity
- Trailing stop logic closes position when price hits the trailing level instead of properly trailing, which may cause unfavorable fills during sharp moves
- No spread filter, entry costs may be excessive in high-spread environments
Possible improvements
- Introduce dynamic position sizing based on account equity or risk percentage instead of fixed lots
- Differentiate the three Stochastic parameters or replace one with a different indicator type to increase strategy diversity
- Add a spread filter to avoid entering trades when spread is excessively wide
Risk assessment
Overall risk: Medium
- Three highly similar Stochastic oscillators may produce highly correlated signals, making confirmation weaker than expected
- Trailing stop closes position instead of modifying SL when price hits trail level, introducing slippage risk
- No spread filter may lead to unfavorable entries during low-liquidity sessions
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Entry_Amount | 0.01 | Entry lot size |
Stop_Loss | 40 | Stop loss in points |
Take_Profit | 70 | Take profit in points |
Ind0Param0 | 40 | Williams Percent Range period |
Ind0Param1 | 10 | Williams Percent Range level |
Ind0Param2 | 10 | Stochastic signal deceleration (slowing) |
Ind1Param0 | 40 | stochasticindicator1 %K period |
Ind1Param1 | 10 | stochasticindicator1 %D period |
Ind1Param2 | 10 | Stochastic 1 deceleration (slowing) |
Ind1Param3 | 20 | Stochastic 1 level threshold |
Ind2Param0 | 40 | Money Flow Index period |
Ind2Param1 | 10 | Money Flow Index level |
Ind2Param2 | 10 | Stochastic 2 deceleration (slowing) |
Ind2Param3 | 75 | Stochastic 2 level threshold |
Ind3Param0 | 0.0002 | Accelerator Oscillator level threshold |
Ind4Param0 | 0.0013 | Momentum Oscillator level threshold |
Magic_Number | 55248008 | Magic number |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.