RNN
This EA uses an RSI indicator feeding into a small 3-input neural network to generate trading signals. It reads three RSI values at different lookback periods, normalizes them to 0-1, and computes a probability via a weighted binary tree with 8 tunable weights (x0-x7). The probability is then transformed via linear sigmoid to produce a buy or sell signal, opening one position at a time with configurable SL/TP.
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
The strategy concept is based on Reshetov's RNN (Random Neural Network) approach, using three RSI values at different lookback periods as inputs, normalized to the 0-1 range. Entry conditions: after the neural network output probability is transformed via linear sigmoid (result=result*2.0-1.0), if the result is less than 0 a buy position is opened, and if the result is greater than or equal to 0 a sell position is opened. Exit conditions: positions are closed via fixed-pip stop loss and take profit (InpSLTP parameter, default 100 pips), with equal SL and TP distances; setting InpSLTP to 0 disables SL/TP. Position sizing: fixed lot size trading (InpLots default 1.0 lots), only one position allowed at a time via IsPositionExists check, with new-bar trigger mechanism to avoid duplicate entries. Money management: FreeMarginCheck verifies sufficient free margin before order placement, but there is no dynamic lot sizing or risk-percentage calculation. The neural network core is the GetProbability function with 8 weight parameters (x0-x7) obtained through optimization, using a weighted probability binary tree structure to compute the short position probability, with the long probability being 1 minus the short probability.
Strengths
- Uses a neural network probability model for trading decisions, more adaptive than simple threshold signals
- Maintains only one position at a time with new-bar trigger, avoiding overtrading and duplicate entries
- Includes thorough margin checking and lot validation to prevent order failures due to insufficient funds
Weaknesses
- Neural network weights x0-x7 are unintuitive, require extensive optimization and are highly prone to overfitting
- Equal stop loss and take profit distances lack asymmetric risk-reward design, not aligned with professional trading practices
- Fixed lot trading with no dynamic position sizing, unable to adjust lot size based on account risk or volatility
Possible improvements
- Add dynamic position sizing that automatically calculates lot size based on account risk percentage and ATR volatility
- Introduce asymmetric stop loss/take profit and trailing stop mechanisms to improve risk-reward ratio
- Add multi-timeframe confirmation and volume/volatility filters to reduce false signals
Risk assessment
Overall risk: Medium
- Neural network weight parameters are highly dependent on historical optimization, posing significant overfitting risk; live performance may deviate substantially from backtesting
- Equal stop loss and take profit distances imply a 1:1 risk-reward ratio, requiring a high win rate to be profitable
- Fixed 1.0 lot default size is large and may expose small accounts to excessive risk
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
InpLots | 1.0 | Trading lot size |
InpSLTP | 100 | stop losstake profitpoints (0meansdisable) |
x0 | 6 | Neural network weight x0 (0-100) |
x1 | 96 | Neural network weight x1 (0-100) |
x2 | 90 | Neural network weight x2 (0-100) |
x3 | 35 | Neural network weight x3 (0-100) |
x4 | 64 | Neural network weight x4 (0-100) |
x5 | 83 | Neural network weight x5 (0-100) |
x6 | 66 | Neural network weight x6 (0-100) |
x7 | 50 | Neural network weight x7 (0-100) |
Inp_RSI_ma_period | 9 | RSI moving average period |
Inp_RSI_applied_price | PRICE_OPEN | RSI applied price type |
Similar Machine Learning EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.