Exp_WPRSIsignal
This EA trades based on signals from the custom WPRSIsignal indicator, which combines WPR (Williams Percent Range) and RSI into a momentum oscillator. It opens buy positions on upward momentum signals and sell positions on downward momentum signals, with configurable position closing and money management options.
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 EA's strategy concept is based on the WPRSIsignal custom indicator, which combines Williams Percent Range (WPR) and Relative Strength Index (RSI) momentum signals into a unified oscillator. Entry conditions are: a buy position is opened when the indicator's upward buffer (buffer 1) produces a non-zero, non-empty value on the specified signal bar; a sell position is opened when the downward buffer (buffer 0) produces a signal. Exit conditions include closing positions on reverse signals (e.g., an upward signal triggers closing of sell positions) and fixed stop-loss/take-profit levels set via StopLoss_ and TakeProfit_ parameters. Position sizing supports multiple modes through the MMMode parameter, including fixed lot size, percentage of balance, and percentage of free margin. Money management uses the MM parameter to control risk proportion, defaulting to 0.1 lots or 10% ratio. The EA also includes a historical lookback mechanism that scans previous bars for reverse signals when both opening and closing are enabled but no close signal exists on the current bar.
Strengths
- Clear strategy logic based on combined momentum indicator signals with well-defined entry conditions
- Supports multiple money management modes (fixed lot, balance percentage, free margin percentage) offering high flexibility
- Independent switches for opening and closing positions allow granular control over trade direction and exit behavior
- Includes stop-loss and take-profit settings providing basic risk control mechanisms
- Uses IsNewBar mechanism to prevent duplicate trades within the same bar
Weaknesses
- Depends on external custom indicator WPRSIsignal; EA fails to run if the indicator file is missing
- Stop-loss and take-profit use fixed point values rather than dynamic indicators like ATR, resulting in poor adaptability across different volatility environments
- Historical lookback close mechanism (scanning all historical bars) may cause performance issues with long price history
- Lacks spread filter, potentially resulting in unfavorable fills in high-spread environments
- No maximum position count limit, potentially over-opening on consecutive signals
- Comments are garbled (encoding issues), severely impacting code readability and maintainability
Possible improvements
- Add ATR-based dynamic stop-loss and take-profit to replace fixed point values, improving adaptability to different market volatility
- Add spread filter and maximum position count limits to enhance risk control
- Optimize historical lookback close logic by setting a maximum lookback bar limit to avoid performance issues
- Fix source file encoding issues and restore garbled comments to readable Chinese or English
Risk assessment
Overall risk: Medium
- Dependency on external custom indicator; missing indicator causes EA initialization failure
- Fixed point stop-loss/take-profit creates asymmetric risk across different instruments and volatility regimes
- Historical lookback close mechanism without loop limits may cause delay or lag
- No spread filter increases slippage risk in high-cost trading environments
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Money management ratio or lot size, meaning per MMMode |
MMMode | LOT | Position sizing (free margin/balance/fixed lot, etc.) |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage in points |
BuyPosOpen | true | Allow buy positions |
SellPosOpen | true | Allow sell positions |
BuyPosClose | true | Allow closing buy positions on reverse signal |
SellPosClose | true | Allow closing sell positions on reverse signal |
InpInd_Timeframe | PERIOD_H1 | NRTR_extr indicator timeframe |
WPRSI_period | 27 | WPRSI indicator period |
filterUP | 10 | buysignalfilter threshold |
filterDN | 10 | sellsignalfilter threshold |
SignalBar | 1 | Signal reference bar index |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.