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
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
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
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 |
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 |
iPeriod | 10 | NRTR_extr indicator period |
iDig | 0 | NRTR_extr indicator precision/digits |
SignalBar | 1 | Signal reference bar index |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.