Exp_NRatioSign
This EA trades based on the NRatioSign custom indicator signals, which is a normalized ratio oscillator with configurable smoothing and price inputs. It opens buy positions when the indicator's upper buffer signals and sell positions when the lower buffer signals, with separate controls for entry and exit. The EA supports multiple money management modes and fixed stop loss/take profit levels.
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 | -2.44% | -2.12% | 5.87% | 145 | 43.10% | — | — | — | — | Custom indicator approximated |
| GBPUSD | +3.28% | +2.84% | 4.19% | 145 | 47.90% | — | — | — | — | Custom indicator approximated |
| USDJPY | +5.50% | +4.76% | 3.29% | 274 | 52.40% | — | — | — | — | Custom indicator approximated |
| XAUUSD | -100.00% | -100.00% | 100.00% | 57 | 56.10% | — | — | — | — | Custom indicator approximated |
On every market this backtest is identical to EA-11208, EA-1204. The automatic conversion almost certainly lost what makes this EA different (a custom indicator, a filter or the money management), so these results are not ranked or counted.
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 core strategy of this EA is based on momentum signals from the NRatioSign indicator, which normalizes price ratios through configurable smoothing algorithms (SMA, EMA, JJMA, JurX, etc.) to generate overbought/oversold signals. Entry conditions: when the indicator's upper buffer (buffer 1) shows a non-zero, non-empty value on the specified signal bar, it triggers buy entry and sell close; when the lower buffer (buffer 0) shows a valid signal, it triggers sell entry and buy close. Exit conditions include fixed stop loss and take profit in points, plus reverse indicator signal closes. Position sizing supports five modes: percentage of free margin, balance, balance minus loss, free margin minus loss, or fixed lot size. The EA also features a reverse signal scanning mechanism — when both open and close flags are enabled but no close signal appears on the current bar, it scans backward through historical bars to find the nearest reverse close signal, reducing position holding time. The overall strategy is a signal-driven systematic trading approach relying on a single indicator with extensive parameter configuration.
Strengths
- Flexible money management with 5 position sizing modes to suit different risk preferences
- Entry and exit logic fully decoupled — buy/sell open/close independently controllable via boolean inputs
- Reverse signal history scanning mechanism searches backward when no close signal on current bar, reducing unnecessary position holding time
- Supports multiple smoothing algorithms and price types, providing strong strategy tunability
- New bar detection prevents repeated trading within the same bar
Weaknesses
- Relies on a single custom NRatioSign indicator whose source is not visible, making internal logic unauditable
- Default stop loss of 1000 points and take profit of 2000 points are excessively large, posing high risk for smaller timeframe trading
- Reverse signal history scanning may iterate through many bars, potentially degrading performance with large indicator buffers
- No spread filter — could execute trades at disadvantageous prices in high-spread environments
- No position check before opening — risk of duplicate entries stacking positions
- Lacks time filter and trading day restrictions, may trade during low liquidity sessions
Possible improvements
- Add position check logic before opening — verify no existing same-direction position to prevent duplicate entries
- Add spread filter and time filter to avoid unfavorable fills during high-spread and low-liquidity sessions
- Optimize reverse signal scanning performance by limiting the maximum number of bars to scan backward
- Add trailing stop functionality to protect accumulated profits
Risk assessment
Overall risk: Medium
- No position check before opening — risk of same-direction duplicate entries causing unintended position stacking
- Default SL/TP of 1000/2000 points are large, creating excessive risk exposure for small accounts
- Depends on unauditable custom indicator — black-box risk in indicator calculation logic
- No spread filter or trading time restrictions — may execute under unfavorable conditions
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Money management percentage of margin/balance |
MMMode | LOT | Lot calculation mode: free margin/balance/minus loss |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage in points |
BuyPosOpen | true | Allow buy position opening |
SellPosOpen | true | Allow sell position opening |
BuyPosClose | true | Allow buy close (reverse signal closes sell orders) |
SellPosClose | true | Allow sell close (reverse signal closes buy orders) |
InpInd_Timeframe | PERIOD_H4 | NRatioSign indicator timeframe |
XMA_Method | MODE_SMA | Smoothing algorithm type |
XLength | 3 | Smoothing period length |
XPhase | 15 | Smoothing phase parameter |
IPC | PRICE_CLOSE | Applied price type |
Kf | 1 | Ratio coefficient |
Fast | 2 | Fast parameter |
Sharp | 2 | Sharpness parameter |
Mode | MODE_OUT | Signal algorithm mode (entry/exit) |
NRatio_UpLevel | 80 | Upper overbought level line |
NRatio_DnLevel | 20 | Lower oversold level line |
SignalBar | 1 | Signal bar index (0=current, 1=previous) |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.