EA-1649 · Machine Learning

Rock-Trader-Neuro

This EA uses a single-layer artificial neuron with hyperbolic tangent activation to generate trading signals from Bollinger Band indicator values. It normalizes the ratio of Bollinger Band width to base line across 7 bars as neuron inputs, buys when the neuron output is negative, and sells when positive. Positions are managed with fixed stop loss and take profit levels.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesM15, H1, H4
IndicatorsBollinger Bands
AuthorSuresh Kakkattil.

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 a single-layer perceptron neural network using Bollinger Band upper, lower, and base line data as input features. Entry conditions are: open a buy when the neuron output is less than 0, and open a sell when the neuron output is greater than 0. The neuron inputs are normalized values of the Bollinger Band width (upper minus lower) divided by the base line across 7 bars, with 7 inputs mapped to 14 array elements (each input paired with a weight). Exit conditions rely entirely on fixed stop loss (30 pips) and take profit (100 pips), with no dynamic trailing stop or partial close mechanism. Position sizing uses a fixed lot size (default 1.0 lot) with no dynamic adjustment based on account equity or volatility. Money management only checks for existing same-direction positions to prevent duplicate entries, but does not consider total portfolio risk or maximum drawdown limits. The weight parameters (w0-w13) are hardcoded input parameters with no adaptive training or optimization mechanism.

Strengths

  • Innovative use of neural network concept for signal generation
  • Utilizes multi-dimensional Bollinger Band data (upper, lower, base) as feature inputs
  • New bar detection mechanism prevents redundant trades on the same bar
  • Automatic stop loss/take profit adjustment for 5/3 digit price brokers

Weaknesses

  • Single-layer perceptron is too simplistic with limited expressiveness, unable to capture non-linear market features
  • Only 7 of 14 inputs are effectively mapped — odd-indexed elements of the inputs array are never assigned, causing a mismatch between input and weight array sizes
  • No neural network training mechanism — weights rely entirely on manual setting with no adaptability to market changes
  • No spread filter — trades can be opened even when the spread is unusually wide
  • Normalization formula has potential division-by-zero risk when x_maxx+x_max equals x_min+x_minn
  • Missing reverse position closing logic — does not automatically close opposite positions when signal reverses

Possible improvements

  • Fix the inputs array assignment logic to ensure all 14 elements receive valid values, or restructure to a 7-input/7-weight matching architecture
  • Add a spread filter mechanism to prevent opening positions when spread exceeds a threshold
  • Introduce online neural network training or periodic optimization so weights can adapt to changing market conditions
  • Add division-by-zero protection in normalization calculations, using fallback values when the denominator approaches zero
  • Implement automatic reverse position closing when signal direction changes, closing existing positions before opening opposite ones

Risk assessment

Overall risk: Medium

  • Odd-indexed elements of the inputs array are never assigned, causing the neuron to compute with uninitialized values (likely zero), effectively making only 7 of 14 weights functional
  • Division-by-zero risk in the normalization formula
  • Fixed lot size with no dynamic adjustment — large positions could cause significant losses in adverse markets
  • No spread filter — wide spreads during high-volatility periods could result in unfavorable fills

Evaluation scores

Code quality3.0
Strategy logic2.0
Risk management2.0
Robustness2.0
Innovation4.0
Documentation2.0
Overall2.5

Parameters

ParameterDefaultDescription
StopLoss30Stop loss in points
TakeProfit100Take profit in points
EA_Magic12345EA magic number
Lot1.0Trading lot size
w00.8Neuron weight 0
w10.4Neuron weight 1
w2-0.9Neuron weight 2
w30.0Neuron weight 3
w40.7Neuron weight 4
w5-0.2Neuron weight 5
w60.9Neuron weight 6
w70.7Neuron weight 7
w8-1.0Neuron weight 8
w90.3Neuron weight 9
w100.5Neuron weight 10
w110.5Neuron weight 11
w120.0Neuron weight 12
w131.0Neuron weight 13

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.