Exp_iWPRSign
This EA trades based on the iWPRSign custom indicator, which generates buy and sell signals from Williams' Percent Range (WPR) crossing overbought/oversold levels. It opens and closes positions systematically on new bar signals, with configurable money management modes and fixed stop-loss/take-profit 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 | 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 strategy concept is based on Williams' Percent Range (WPR) overbought/oversold reversal signals, generating buy signals when WPR crosses above the -30 upper level and sell signals when WPR crosses below the -70 lower level. Entry conditions are: buy when WPR breaks above -30, sell when WPR breaks below -70, triggered only on the specified signal bar. Exit conditions include fixed stop-loss and take-profit levels, as well as reverse-signal closing where a buy signal can close a sell position and a sell signal can close a buy position. Position sizing supports five modes: free margin percentage, balance percentage, loss-inclusive free margin percentage, loss-inclusive balance percentage, and fixed lot size. Money management is controlled by the MM parameter, defaulting to 0.1 lots or 10% of capital. The EA also includes a historical bar lookback detection logic that searches forward from the signal bar for the nearest reverse signal to confirm closing conditions when both opening and closing are enabled simultaneously.
Strengths
- Clear strategy logic based on classic WPR overbought/oversold reversal signals, easy to understand and verify
- Multiple money management modes available, flexibly adapting to different risk preferences
- Independent control of opening and closing directions, allowing flexible long/short strategy combinations
- Stop-loss to take-profit ratio of 1:2, providing positive expectancy potential
- New bar detection mechanism prevents repeated trading on the same bar
Weaknesses
- ATR_Period is hardcoded as a global variable instead of an input parameter, preventing optimization in the strategy tester
- No spread filter mechanism, potentially leading to unfavorable fills in high-spread environments
- Historical bar lookback search for closing logic is inefficient, potentially causing performance issues with many bars
- No check for existing positions in the same direction, potentially causing duplicate entries
- WPR level parameters are fixed at -30/-70, lacking adaptive or dynamic level adjustment mechanism
Possible improvements
- Change ATR_Period to an input parameter to support strategy optimization
- Add spread filter and position check logic to avoid unfavorable fills and duplicate entries
- Optimize historical bar lookback search logic by limiting search range or caching results to improve performance
Risk assessment
Overall risk: Medium
- No check for existing same-direction positions, potentially leading to duplicate entries and excessive leverage
- Stop-loss of 1000 points is relatively large, potentially incurring significant single-trade losses in volatile markets
- No spread filter, making slippage costs uncontrollable in low-liquidity markets
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Money management ratio (lot or percentage) |
MMMode | LOT | Margin mode: free margin/balance/net margin/net balance/fixed lot |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum slippage tolerance |
BuyPosOpen | true | Allow buy to open |
SellPosOpen | true | Allow sell to open |
BuyPosClose | true | Allow buy-side close (close sell on opposite signal) |
SellPosClose | true | Allow sell-side close (close buy on opposite signal) |
InpInd_Timeframe | PERIOD_H1 | Timeframe for indicator calculation |
ATR_Period | 14 | ATR period (non-input variable) |
WPRPeriod | 14 | Williams %R period |
UpLevel | -30 | WPR upper overbought level |
DnLevel | -70 | WPR lower oversold level |
SignalBar | 1 | Bar index for signal detection (0=current, 1=completed) |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.