EA-1066 · Momentum

Exp_AroonSignal

This EA trades based on the custom AroonSignal indicator, entering long when an up-signal appears and short when a down-signal appears. It uses Aroon overbought/oversold levels to detect momentum shifts and manages positions with fixed stop-loss and take-profit. A historical bar scan searches backward for the last signal direction to determine close signals when no new signal is present.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsAroonSignal
AuthorCopyright © 2011, Nikolay Kositsin

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD-2.44%-2.12%5.87%14543.10%————Custom indicator approximated
GBPUSD+3.28%+2.84%4.19%14547.90%————Custom indicator approximated
USDJPY-1.30%-1.13%5.64%14559.00%————Custom indicator approximated
XAUUSD-100.00%-100.00%100.00%5756.10%————Custom indicator approximated

On every market this backtest is identical to EA-1099, EA-1100, EA-1223, EA-12581, EA-21616. 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 strategy concept is based on the Aroon indicator detecting shifts in price momentum direction, going long when the Aroon up-signal triggers and short when the Aroon down-signal triggers. Entry conditions require the AroonSignal indicator buffer 0 (up-signal) or buffer 1 (down-signal) to produce a non-zero, non-EMPTY_VALUE value on the specified SignalBar. Exit conditions include hard stop-loss and take-profit closures, plus a historical bar scan that searches backward to find the most recent opposite signal to trigger position closes when both opening and closing permissions are enabled. Position sizing is controlled by the MM parameter, where negative values represent fixed lot sizes and positive values represent deposit-share-based lot calculation. Money management relies on the BuyPositionOpen and SellPositionOpen functions from TradeAlgorithms.mqh, supporting both account-balance percentage and fixed lot modes. The strategy defaults to H4 timeframe with a 9-period Aroon parameter, classifying it as a medium-to-long-term momentum-following system.

Strengths

  • Clear strategy logic based on the well-established Aroon momentum indicator with precisely defined signals
  • Full buy/sell permission switches provide high flexibility, allowing independent disabling of buy or sell operations
  • Hard stop-loss and take-profit protection ensures risk has defined boundaries
  • IsNewBar check prevents repeated trading within the same bar, reducing overtrading risk
  • Recount mechanism ensures data copy failures trigger retries, improving robustness

Weaknesses

  • The historical bar scan for closing positions may iterate over many bars, being inefficient and potentially producing incorrect close signals during long no-signal periods
  • No spread filter mechanism, which may cause slippage losses in low-liquidity markets with high spreads
  • Depends on external TradeAlgorithms.mqh library with invisible core trading logic, making auditing and verification difficult
  • Default stop-loss of 1000 points and take-profit of 2000 points are excessively large and may be unsuitable for certain instruments
  • No multi-timeframe confirmation or additional filter conditions, making single-indicator signals prone to false signals

Possible improvements

  • Add spread filter and volatility filter (e.g., ATR) to avoid opening positions in high-spread or low-volatility environments
  • Set a maximum lookback bar limit for the historical closing signal search to prevent infinite iteration and unreasonable close signals
  • Add multi-timeframe confirmation or additional indicator filters (e.g., trend line, volume) to reduce false signal rate

Risk assessment

Overall risk: Medium

  • Historical lookback closing logic may produce stale close signals inconsistent with current market conditions
  • Core trading logic is encapsulated in an external library that cannot be audited, potentially hiding risks
  • Default stop-loss and take-profit point values are extremely large, which may cause excessive single-trade losses on low-volatility instruments

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness3.0
Innovation2.0
Documentation2.0
Overall2.7

Parameters

ParameterDefaultDescription
MM-0.1Deposit percentage or fixed lot; negative value = lot size
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum slippage deviation in points
BuyPosOpentrueAllow buy position opening
SellPosOpentrueAllow sell position opening
BuyPosClosetrueAllow closing long positions
SellPosClosetrueAllow closing short positions
InpInd_TimeframePERIOD_H4AroonSignal indicator timeframe
HighLevel85Overbought level
LowLevel15Oversold level
AroonPeriod9Aroon indicator period
SignalBar1Bar index for entry signal

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