EA-15248 · Trend Following

Exp_NRTR_extr

This EA trades based on the NRTR_extr (Nick Rypock Trailing Reverse Extended) custom indicator, opening buy positions on upward signals and sell positions on downward signals. It implements a trailing reverse logic where trend changes trigger both entry in the new direction and exit from the opposite direction. Position sizing is configurable via multiple money management modes including lot-based and percentage-based allocation.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesM15, H1, H4, D1
IndicatorsNRTR_extr
Author—

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Not convertible yet
GBPUSD0.00%0.00%0.00%0—————Not convertible yet
USDJPY0.00%0.00%0.00%0—————Not convertible yet
XAUUSD0.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

This EA uses the NRTR_extr indicator as its core strategy engine. NRTR (Nick Rypock Trailing Reverse) is an adaptive trailing stop indicator that moves the stop line with price during trend continuation and reverses direction on trend changes. Entry conditions: when indicator buffers 2 and 3 detect an upward signal (UpValue non-zero and not EMPTY_VALUE), a buy position is opened; when a downward signal (DnValue non-zero and not EMPTY_VALUE) is detected, a sell position is opened. Exit conditions: opposite signals trigger position closure, with BuyPosClose and SellPosClose parameters controlling whether signal-based closing is allowed. Additionally, the EA checks buffers 0 and 1 (trailing stop lines) to enhance exit decisions — when both open and close permissions are enabled for the same direction and price touches the trailing stop line, closure is also triggered. Position sizing supports five modes: fixed lot (LOT), based on free margin (FREEMARGIN), based on balance (BALANCE), based on free margin minus loss (LOSSFREEMARGIN), and based on balance minus loss (LOSSBALANCE). The EA uses a new bar detection mechanism (IsNewBar) to avoid repeated trades within the same bar, and the SignalBar parameter allows selecting the signal source bar offset.

Strengths

  • Uses the adaptive NRTR trailing stop indicator that dynamically adjusts stop lines to follow trends, effectively capturing trending markets
  • Provides five position sizing modes with high flexibility in money management, accommodating different risk preferences
  • Implements new bar detection mechanism to avoid repeated entries within the same bar, reducing overtrading
  • Independent control of open and close signals (BuyPosOpen/SellPosOpen/BuyPosClose/SellPosClose) for flexible strategy configuration
  • Dual exit judgment mechanism (signal line + trailing stop line) reduces delayed exits during trend reversals

Weaknesses

  • Depends on custom NRTR_extr indicator — EA fails to run if the indicator file is missing, and indicator logic is opaque
  • No spread filter mechanism, potentially leading to unfavorable fills on high-spread instruments
  • Default StopLoss of 1000 points and TakeProfit of 2000 points are large and may be unsuitable for low-volatility instruments
  • Lacks explicit position state checking before opening, potentially causing duplicate orders and multiple positions
  • Code comments are garbled (encoding issue), severely hurting readability and maintainability

Possible improvements

  • Add spread filtering and position state checking before opening to avoid unfavorable fills in high-slip environments and duplicate positions
  • Convert StopLoss and TakeProfit from fixed point values to ATR-based dynamic calculation for better adaptation to different instrument volatilities
  • Fix source file encoding to restore Russian comment readability and add English comments for broader accessibility

Risk assessment

Overall risk: Medium

  • No position state checking before opening, potentially opening duplicate positions in the same direction
  • Fixed StopLoss/TakeProfit values don't adapt to all instruments — too wide for low-volatility and too narrow for high-volatility pairs
  • Dependency on external custom indicator — missing or version-mismatched indicator causes initialization failure

Evaluation scores

Code quality2.0
Strategy logic3.0
Risk management3.0
Robustness2.0
Innovation3.0
Documentation1.0
Overall2.3

Parameters

ParameterDefaultDescription
MM0.1Money management ratio or lot size, meaning per MMMode
MMModeLOTPosition sizing (free margin/balance/fixed lot, etc.)
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum allowed slippage
BuyPosOpentrueAllow buy positions
SellPosOpentrueAllow sell positions
BuyPosClosetrueAllow closing buy positions on reverse signal
SellPosClosetrueAllow closing sell positions on reverse signal
InpInd_TimeframePERIOD_H1NRTR_extr indicator timeframe
iPeriod10NRTR_extr indicator period
iDig0NRTR_extr indicator precision/digits
SignalBar1Signal reference bar index

Similar Trend Following 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.