Exp_XWPR_Histogram_Vol
This EA trades based on the XWPR histogram indicator, which is an enhanced Williams' Percent Range displayed as a histogram around a zero line. Volume confirmation is required before entry, ensuring that momentum signals are supported by actual market participation. The EA opens positions when the WPR histogram crosses the zero line and volume conditions are met.
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.33% | +0.28% | 3.67% | 65 | 51.60% | 0.11 | 0.09 | 5 | +$1.04 | Reliable |
| GBPUSD | +6.54% | +5.66% | 1.79% | 47 | 58.70% | 1.83 | 3.65 | 4 | +$14.75 | Reliable |
| USDJPY | -0.04% | -0.04% | 0.19% | 1 | 0.00% | — | — | — | — | Too few trades |
| XAUUSD | +14.74% | +12.03% | 5.80% | 3 | 100.00% | — | — | — | — | Too few trades |
Profitable on 2 of 2 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 62% of 68 · GBPUSD: better than 95% of 66
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 38% | +1.67% 2026-10 | -1.38% 2026-01 |
| GBPUSD | 62% | +2.25% 2026-02 | -1.10% 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 the Williams Percent Range (WPR) indicator displayed in histogram mode, transforming the traditional overbought/oversold oscillator into a zero-centered momentum histogram for more intuitive trend identification. Entry conditions require the XWPR histogram to cross above the zero line from negative territory for long positions, and below the zero line from positive territory for short positions, with volume confirmation mandatory to validate the momentum signal. Exit conditions rely on the appearance of a reverse signal, meaning positions are closed when the histogram crosses the zero line in the opposite direction, or through user-configured stop-loss and take-profit parameters. Position sizing uses a fixed lot approach controlled by the InpLot parameter, without any dynamic lot sizing based on account equity or risk percentage. Money management provides stop-loss and take-profit parameters but lacks comprehensive account-level risk controls such as maximum drawdown limits, equity protection, or trailing stop mechanisms. The core strength of this strategy lies in combining momentum and volume dual filtering, which effectively reduces false breakout signals that plague single-indicator systems.
Strengths
- Dual momentum and volume filtering effectively reduces false signals
- Histogram mode makes WPR signals more intuitive with clear zero-line crossover logic
- Systematic execution without emotional interference, clear entry and exit rules
- Volume confirmation increases signal reliability, avoiding misleading signals in low-liquidity markets
- Simple parameter design allows users to quickly understand and adjust settings
Weaknesses
- Fixed lot sizing lacks dynamic risk management, cannot auto-adjust based on account size
- Stop-loss and take-profit default to 0, beginners may overlook setting them leading to unlimited risk
- Single-indicator strategy prone to frequent false signals in ranging markets
- No trailing stop mechanism, profitable positions may give back significant gains
- No account-level risk controls such as maximum position limits or drawdown protection
Possible improvements
- Add dynamic position sizing based on account equity and ATR for adaptive risk management
- Implement trailing stop and break-even functionality to protect accumulated profits
- Add market regime filter (e.g., ADX) to reduce trading frequency in ranging markets
- Implement multi-timeframe confirmation mechanism to improve signal reliability
Risk assessment
Overall risk: Medium
- Stop-loss and take-profit default to zero, unlimited risk exposure when not set
- Fixed lot sizing ignores account size, small accounts may be over-leveraged
- Single momentum indicator in sideways markets may cause consecutive losses from frequent trading
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
InpLot | 0.1 | Fixed trading lot size |
InpStopLoss | 0 | Stop loss in points, 0 means no stop loss |
InpTakeProfit | 0 | Take profit in points, 0 means no take profit |
InpWPRPeriod | 14 | Williams %R period |
InpVolumePeriod | 10 | volume MA period |
InpVolumeFactor | 1.5 | Volume confirmation multiplier factor |
InpMagicNumber | 123456 | EA magic number |
InpTimeframe | H1 | Trading timeframe |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.