EA-1812 · Trend Following

MaSarADX

This EA combines a 100-period Simple Moving Average, ADX directional indicators, and Parabolic SAR to identify and trade trend-following signals. It opens buy positions when price is above the MA, ADX+ is greater than ADX-, and price is above SAR; sell conditions are the mirror opposite. Positions are closed when price crosses back below/above the Parabolic SAR, and lot sizing is dynamically calculated based on account free margin and recent loss history.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsSMA, ADX, Parabolic SAR
AuthorMauBra

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD-3.52%-3.06%8.84%10.00%————Same as other EAs
GBPUSD+2.68%+2.32%6.56%10.00%————Same as other EAs
USDJPY-2.68%-2.33%7.60%10.00%————Same as other EAs
XAUUSD-8.50%-7.07%66.13%10.00%————Same as other EAs

On every market this backtest is identical to EA-42283. 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

  • Has no stop loss or trailing stop

On its own this is not a typical blow-up pattern, 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 a triple-confirmation trend-following system combining a moving average for trend direction, ADX for trend strength and direction, and Parabolic SAR as a trailing stop and signal confirmation. For entry, a buy requires the close price above SMA(100), ADX+ greater than ADX-, and close above SAR—all three conditions must align simultaneously; sell conditions are the exact mirror. Exit relies solely on SAR reversal—long positions close when price falls below SAR, short positions close when price rises above SAR, with no fixed stop-loss or take-profit configured. Position sizing dynamically calculates lot size based on account free margin and a maximum risk percentage, then reduces size proportionally based on consecutive losing trades via a decrease factor, while normalizing volume to symbol step/min/max constraints. Although money management considers risk ratio and loss-based reduction, the PositionOpen call sets both stop-loss and take-profit to 0, relying entirely on SAR as an implicit trailing stop, which creates a meaningful risk exposure. The overall strategy logic is clear but relatively simplistic, lacking a ranging-market filter and more robust risk controls.

Strengths

  • Triple confirmation (MA+ADX+SAR) reduces false signals with rigorous entry conditions
  • Dynamic position sizing adapts to account balance and consecutive losses, showing risk awareness
  • New bar first-tick check prevents repeated trading, effectively implementing one-trade-per-bar logic
  • Clean code structure with clear function separation, easy to understand and modify

Weaknesses

  • No stop-loss or take-profit set on position open (both 0), relying entirely on SAR for exit—extreme moves could cause significant losses
  • SAR parameters are hardcoded (0.02/0.2) with no input parameter adjustment, lacking flexibility
  • CheckForClose doesn't iterate all positions, only processes a single selected position—multi-symbol or multiple positions may be missed
  • The Lots input parameter is declared but never used, which can confuse users
  • No ranging-market filter—the ADX main line value is not used to gauge trend strength for filtering

Possible improvements

  • Make SAR parameters configurable inputs and add an ADX main line threshold filter to avoid trading in ranging markets
  • Add stop-loss and take-profit to position open calls, using ATR-based dynamic stop distances for enhanced risk control

Risk assessment

Overall risk: Medium

  • Stop-loss and take-profit are both 0 on open—no hard stop protection means flash crashes or gaps can cause losses far exceeding expectations
  • Relying solely on SAR reversal for exits can cause frequent whipsaw losses in low-volatility or sideways markets
  • CheckForClose doesn't loop through all positions, risking positions not being properly closed

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation2.0
Documentation1.0
Overall2.2

Parameters

ParameterDefaultDescription
ADX_Period14ADX indicator period
Lots0.1Fixed lot size (unused; dynamic calculation applied)
MaximumRisk0.002Maximum risk percentage for dynamic lot calculation
DecreaseFactor3Position decrease factor after consecutive losses
MovingPeriod100Moving average period
MovingShift0Moving average shift

Similar Trend Following 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.