Exp_Extremum
This EA trades based on the custom Extremum indicator, which identifies price extremes (swing highs and lows). It opens buy positions when an upward extremum signal is confirmed and sell positions when a downward extremum signal is confirmed, with optional permissions for entry and exit independently controlled.
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 core strategy of this EA is a breakout-style system based on the custom Extremum indicator, which identifies swing highs and lows in price action. Entry conditions require that the UpValue buffer (index 5) signals an upward extremum on the signal bar while the DnValue buffer (index 3) does not show a downward extremum on the previous bar, triggering a buy; the mirror logic applies for sell entries. Exit conditions are controlled through independent permission flags (BuyPosClose/SellPosClose), where a reverse extremum signal closes the opposing position, supplemented by fixed StopLoss (1000 points) and TakeProfit (2000 points) for risk management. Position sizing is governed by the MM parameter: negative values specify a fixed lot size directly, while positive values represent a share of the deposit per deal. Money management uses a fixed stop-loss and take-profit approach with a risk-reward ratio of 1:2, which is reasonable but lacks trailing stop or dynamic adjustment capabilities. The strategy only recalculates on new bar formation to avoid redundant signals, but notably lacks an explicit check for existing open positions before opening new ones, which could lead to accumulated or duplicate positions.
Strengths
- Independent permission flags for buy/sell entry and exit provide high flexibility in controlling trading direction
- New bar detection mechanism prevents redundant signal calculations within the same bar
- Risk-reward ratio of 1:2 with take-profit larger than stop-loss aligns with sound trend-following principles
- Custom Extremum indicator identifies swing points directly tied to price structure with clear logic
- Supports both deposit-share percentage and fixed lot size position sizing modes
Weaknesses
- No existing position check before opening new trades, potentially causing duplicate or accumulated positions in the same direction
- No spread filter, making the EA vulnerable to slippage and premature stop-loss triggers in high-spread environments
- Stop-loss of 1000 points is very large and could result in significant per-trade losses
- Depends on the custom Extremum indicator whose algorithm is not included in this file, reducing transparency
- No trailing stop or dynamic take-profit mechanism, meaning floating profits cannot be locked in during favorable moves
Possible improvements
- Add an existing position check before opening new trades to confirm no same-direction positions are already open, preventing duplicate entries
- Implement a trailing stop mechanism to progressively lock in profits during favorable trends and reduce drawdown risk
Risk assessment
Overall risk: Medium
- Lack of existing position check may lead to duplicate entries and accumulated position risk in the same direction
- Fixed stop-loss of 1000 points is large and could result in per-trade losses exceeding expectations
- No spread filter could cause additional losses during high-spread or low-liquidity periods
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Money management ratio or fixed lot; negative = fixed lot |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Max price slippage deviation (points) |
BuyPosOpen | true | Allow buy position opening |
SellPosOpen | true | Allow sell position opening |
BuyPosClose | true | Allow closing buy positions |
SellPosClose | true | Allow closing sell positions |
InpInd_Timeframe | PERIOD_H4 | UltraWPR indicator timeframe |
NBars | 20 | Indicator calculation period (bar count) |
SignalBar | 1 | Bar index for entry signal |
Similar Breakout EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.