EA-15245 · Trend Following

Exp_NRTR

This Expert Advisor trades based on the NRTR (Nick Rypock Trailing Reverse) custom indicator, opening buy positions on upward signals and sell positions on downward signals while optionally closing opposite positions. It uses a configurable money management system with multiple margin modes and includes new bar detection to avoid redundant signal processing on the same bar.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesM15, H1, H4, D1
IndicatorsNRTR
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 employs the NRTR indicator as its core trend-following strategy, where NRTR is a dynamic trailing stop-reverse indicator that generates trading signals based on directional changes in price trends. Entry conditions: a buy position is opened when the NRTR indicator's up-signal buffer (buffer 2) has a valid non-empty value, and a sell position is opened when the down-signal buffer (buffer 3) has a valid non-empty value. Exit conditions are twofold: first, reverse-signal-based closing where long positions close on down signals and short positions close on up signals; second, fixed stop-loss and take-profit based closing. Position sizing is managed through the MM parameter and MMMode enumeration, supporting five calculation modes: free margin, balance, loss-free margin, loss-balance, and fixed lot size. Money management relies on trading algorithms encapsulated in TradeAlgorithms.mqh, including slippage control and signal timestamp management. The EA also implements a new bar detection mechanism (CIsNewBar class) to ensure each signal is processed only once per bar period, preventing redundant position openings.

Strengths

  • Implements a robust new bar detection mechanism to prevent redundant trade entries on the same bar, reducing overtrading risk
  • Supports five position sizing modes, offering high flexibility in money management to suit different risk preferences
  • Rigorous signal processing logic with a Recount retry mechanism ensures no erroneous trades occur when indicator data fails to load
  • Configurable stop-loss and take-profit with a default 1:2 risk-reward ratio, exhibiting positive expectancy characteristics
  • Independent buy/sell direction switches allow flexible enabling or disabling of unidirectional trading

Weaknesses

  • Depends on a custom NRTR indicator file; EA fails to initialize if the indicator is missing, resulting in poor portability
  • Stop-loss of 1000 points and take-profit of 2000 points are relatively large, potentially leading to prolonged drawdowns in low-volatility markets
  • Lacks a spread filter mechanism, which may result in entries at unfavorable prices in high-spread environments
  • Core trading logic depends on the TradeAlgorithms.mqh external library, making it impossible to fully evaluate position open/close implementation details from this file alone
  • No explicit maximum position count limit or maximum holding time limit, which may cause frequent reversals and consecutive losses in ranging markets

Possible improvements

  • Add a spread filter mechanism to pause trading when the current spread exceeds a threshold, avoiding unfavorable entries in high-spread conditions
  • Add maximum concurrent position count limit and maximum holding time limit to prevent frequent reversal losses in ranging markets
  • Embed the NRTR indicator logic internally or add indicator file existence checks to improve EA portability and robustness

Risk assessment

Overall risk: Medium

  • Dependency on external custom indicator and library files; EA cannot run if missing, posing runtime environment risk
  • Default stop-loss of 1000 points is large, potentially causing excessive single-trade losses on smaller timeframes
  • Lack of spread filter may result in slippage losses on high-spread instruments
  • Frequent NRTR reversal signals in ranging markets may lead to consecutive stop-loss hits

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness3.0
Innovation2.0
Documentation1.0
Overall2.5

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.