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
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 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
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.