EA-22573 · Machine Learning

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

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesM5, M15, H1
IndicatorsRSI
AuthorCopyright © 2012, Yury V. Reshetov

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

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

Code quality4.0
Strategy logic2.0
Risk management3.0
Robustness3.0
Innovation4.0
Documentation2.0
Overall3.0

Parameters

ParameterDefaultDescription
InpLots1.0Trading lot size
InpSLTP100stop losstake profitpoints (0meansdisable)
x06Neural network weight x0 (0-100)
x196Neural network weight x1 (0-100)
x290Neural network weight x2 (0-100)
x335Neural network weight x3 (0-100)
x464Neural network weight x4 (0-100)
x583Neural network weight x5 (0-100)
x666Neural network weight x6 (0-100)
x750Neural network weight x7 (0-100)
Inp_RSI_ma_period9RSI moving average period
Inp_RSI_applied_pricePRICE_OPENRSI applied price type

Similar Machine Learning 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.