EA-1238 · Momentum

Exp_UltraWPR

This EA trades based on crossover signals from the UltraWPR custom indicator, which applies multi-stage smoothing to the Williams Percent Range (WPR). It opens buy positions when the smoothed WPR upward line crosses above the downward line and sell positions on the reverse crossover, with configurable permissions for entry and exit.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsWPR, JJMA, Custom UltraWPR
AuthorCopyright © 2012, Nikolay Kositsin

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Run error
GBPUSD0.00%0.00%0.00%0—————Run error
USDJPY0.00%0.00%0.00%0—————Run error
XAUUSD0.00%0.00%0.00%0—————Run error

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 dual-line crossover signals from the UltraWPR indicator, which applies multiple stages of adaptive smoothing (JJMA, JurX, ParMA, T3, VIDYA, AMA options) to the Williams Percent Range (WPR). Entry conditions: a buy signal is generated when the UpValue line crosses above the DnValue line (detected by comparing values across two consecutive bars), and a sell signal on the reverse crossover. Exit conditions include fixed Stop Loss (default 1000 points) and Take Profit (default 2000 points), plus directional close signals triggered when the opposite crossover occurs. Position sizing is controlled by the MM parameter where negative values represent fixed lot sizes and positive values represent a share of the deposit. Money management is delegated to the external TradeAlgorithms.mqh library functions (BuyPositionOpen/SellPositionOpen), which also handle maximum price deviation control. The strategy operates on a configurable timeframe (default H4) and only evaluates trading logic on new bar formation to prevent duplicate signals within the same bar.

Strengths

  • Multi-stage adaptive smoothing algorithms reduce WPR noise and false signals, improving signal quality
  • Rich selection of smoothing methods (JJMA/JurX/ParMA/T3/VIDYA/AMA) provides high strategy flexibility
  • Independent permission controls for buy/sell open and close operations enable fine-grained trade management

Weaknesses

  • Fixed 1000-point SL and 2000-point TP lack dynamic adjustment based on market volatility (e.g. ATR-based)
  • No spread filter or volatility filter means potential frequent false signals in high-spread or low-volatility environments
  • Core trading logic depends on external libraries (TradeAlgorithms.mqh, SmoothAlgorithms.mqh), reducing code auditability and portability

Possible improvements

  • Add ATR-based dynamic stop loss/take profit mechanism instead of fixed point values to adapt to varying market volatility
  • Add spread filter and minimum volatility threshold to avoid entering trades when transaction costs are too high or the market is too quiet

Risk assessment

Overall risk: Medium

  • Fixed stop loss/take profit does not adjust with market volatility, potentially causing excessive losses or premature profit-taking in extreme conditions
  • When MM is negative (fixed lot), there is no dynamic response to account equity changes, potentially leading to over-leveraging

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness3.0
Innovation3.0
Documentation2.0
Overall2.7

Parameters

ParameterDefaultDescription
MM-0.1Deposit ratio or fixed lots; negative value = lots
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Max price slippage deviation (points)
BuyPosOpentrueAllow buy position opening
SellPosOpentrueAllow sell position opening
BuyPosClosetrueAllow closing buy positions
SellPosClosetrueAllow closing sell positions
InpInd_TimeframePERIOD_H4UltraWPR indicator timeframe
WPR_Period13WPR indicator period
W_MethodMODE_JJMAInitial smoothing method
StartLength3Initial smoothing period
WPhase100Smoothing parameter (JJMA: -100~+100, VIDYA: CMO period, AMA: slow MA period)
xStep5Period change step size
xStepsTotal10Number of cycle changes
SmoothMethodMODE_JJMAFinal smoothing method
SmoothLength3Final smoothing period
SmoothPhase100Final smoothing phase parameter
SignalBar1Bar index for entry signal

Similar Momentum EAs

Backtests are historical simulations and do not guarantee future results. Not financial advice.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.