expert_abh_bh_stoch
This EA uses the CBH_BH_Stoch custom signal filter, which combines a Stochastic oscillator with a Moving Average, to generate buy/sell signals within the MetaQuotes standard expert advisor framework. It employs fixed lot sizing for money management and no trailing stop. Entry and exit are governed by configurable signal threshold 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 | -2.65% | -2.31% | 7.06% | 105 | 44.20% | — | — | — | — | Same as other EAs |
| GBPUSD | -5.70% | -4.97% | 7.42% | 103 | 35.30% | — | — | — | — | Same as other EAs |
| USDJPY | -1.20% | -1.05% | 5.76% | 77 | 39.50% | — | — | — | — | Same as other EAs |
| XAUUSD | -84.10% | -78.11% | 93.81% | 97 | 42.30% | — | — | — | — | Same as other EAs |
On every market this backtest is identical to EA-283, EA-297. The automatic conversion almost certainly lost what makes this EA different (a custom indicator, a filter or the money management), so these results are not ranked or counted.
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
- Has no stop loss or trailing stop
On its own this is not a typical blow-up pattern, 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 core strategy of this EA is based on the CBH_BH_Stoch signal filter, which combines a Stochastic oscillator with a Moving Average to determine market momentum direction. Entry conditions rely on Stochastic K-line (period 47) and D-line (period 9) crossover or overbought/oversold zone signals, confirmed by a 5-period MA for trend direction. Exit conditions are governed by signal thresholds: the open threshold is 40 and the close threshold is 20, triggering position closure when signal strength drops below the close threshold. Position sizing uses a fixed lot model (default 0.1 lots) with no dynamic adjustment. Money management employs the CMoneyFixedLot class based on a fixed percentage (10%) and fixed lot size, but no stop loss or take profit levels are set (both at 0.0), meaning exits depend entirely on signal reversal without hard risk protection. Furthermore, the EA does not use trailing stops, so profitable positions cannot automatically lock in gains.
Strengths
- Uses the standard MetaQuotes EA framework with clean code structure, making it easy to maintain and extend
- Stochastic oscillator combined with Moving Average provides dual confirmation, reducing false signals
- Configurable signal thresholds allow flexible adjustment of entry and exit sensitivity
Weaknesses
- No stop loss or take profit set (both at 0.0), lacking hard risk protection when signals fail
- No trailing stop used, so profitable positions cannot lock in gains before trend reversal
- Fixed lot sizing does not account for account size or volatility changes, making money management overly simplistic
Possible improvements
- Add stop loss and take profit parameters to provide hard risk protection and prevent excessive losses on single trades
- Introduce dynamic position sizing that adjusts lot size based on account balance and market volatility (e.g., ATR)
Risk assessment
Overall risk: High risk
- Stop loss and take profit are both zero, trades rely entirely on signal-based exits which can cause massive losses in extreme market conditions
- No new bar check mechanism, potentially trading at non-optimal price points
- Fixed lot size does not adjust with account changes, leading to potential mismatch between position size and account size over long-term operation
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Signal_ThresholdOpen | 40 | Open signal threshold [0...100], open when signal exceeds |
Signal_ThresholdClose | 20 | Close signal threshold [0...100], close when signal falls below |
Signal_PriceLevel | 0.0 | Trade execution price level, 0 for market execution |
Signal_StopLevel | 0.0 | Stop loss level (points), 0 means no SL set |
Signal_TakeLevel | 0.0 | Take profit points |
Signal_Expiration | 4 | Pending order expiration (bars) |
Signal__StochPeriodK | 47 | Stochastic K-line period |
Signal__StochPeriodD | 9 | Stochastic D-line period |
Signal__StochPeriodSlow | 13 | Stochastic slow smoothing period |
Signal__StochApplied | STO_LOWHIGH | Stochastic price application type |
Signal__MAPeriod | 5 | Moving average period |
Signal__Weight | 1.0 | Signal weight [0...1.0] |
Money_FixLot_Percent | 10.0 | Money management percentage |
Money_FixLot_Lots | 0.1 | Fixed trading lot size |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.