EA-22100 · Trend Following

Sprut

Sprut is a trend-following Expert Advisor that identifies market direction using moving average crossovers and momentum confirmation, entering trades in the direction of the prevailing trend. It employs trailing stop mechanisms to protect profits and uses fixed lot sizing with optional risk-based position sizing. The EA is designed for medium-to-long-term trading on major currency pairs.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsMA, RSI, MACD, ATR
AuthorCopyright © 2018, Vladimir Karputov

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD-3.52%-3.06%5.03%10449.50%-0.87-0.706−$3.08Reliable
GBPUSD+4.39%+3.81%3.65%10349.50%0.781.207+$4.27Reliable
USDJPY-4.98%-4.34%6.32%9142.90%-1.00-0.797−$5.47Reliable
XAUUSD-9.44%-7.87%51.91%9745.80%0.38-0.186−$7.25Reliable

Profitable on 1 of 4 markets with reliable results.

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.

Against the other Trend Following EAs with a reliable result on the same market: EURUSD: better than 19% of 95 · GBPUSD: better than 79% of 95 · USDJPY: better than 18% of 95 · XAUUSD: better than 41% of 96

Month by month

MarketMonths with a gainBest monthWorst month
EURUSD38%+0.75% 2026-09-1.82% 2026-06
GBPUSD62%+2.67% 2026-04-1.59% 2026-03
USDJPY31%+1.40% 2026-07-3.18% 2026-08
XAUUSD46%+40.52% 2026-02-18.04% 2026-10

From the backtest equity curve, sampled about every two days; only reliable results.

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 core strategy of Sprut EA is trend following, using moving average crossovers to determine market trend direction. Entry conditions typically include a fast moving average crossing above or below a slow moving average, combined with momentum indicator confirmation (such as RSI or MACD) to avoid false breakouts. Exit conditions employ a trailing stop mechanism that dynamically adjusts the stop loss level as price moves favorably to lock in profits, along with fixed take profit targets. Position sizing supports fixed lot trading and can also automatically calculate lot size based on account balance and risk percentage. Money management includes maximum position limits and account equity protection mechanisms to prevent excessive damage from a single trade or consecutive losses. The overall strategy logic is clear, but lacks filtering mechanisms for range-bound markets, which may generate many false signals during sideways consolidation periods.

Strengths

  • Clear trend-following strategy logic that performs well in strong trending markets
  • Trailing stop mechanism effectively protects profits and reduces drawdown risk
  • Momentum confirmation filter reduces losing trades from false breakouts
  • Supports both fixed lot and risk-percentage position sizing for flexibility
  • Maximum position limits prevent excessive directional exposure risk

Weaknesses

  • Lacks range-bound market identification and filtering, prone to frequent losing trades during consolidation
  • Moving average crossover signals have inherent lag, potentially missing optimal trend entry points
  • No spread filter included, trading costs may erode profits in high-spread environments
  • Stop loss and take profit use fixed pip values without dynamic ATR-based adjustment
  • Missing multi-timeframe confirmation, single timeframe signal reliability is limited

Possible improvements

  • Add ADX or volatility filter to pause trading during range-bound markets and avoid false signals
  • Convert stop loss and take profit to ATR-based dynamic calculation to adapt to varying market volatility
  • Add multi-timeframe confirmation, e.g., H4 trend direction with H1 entry signal to improve win rate

Risk assessment

Overall risk: Medium

  • Lag inherent in MA crossover signals may cause late entries, increasing drawdown risk
  • Fixed pip stop loss/take profit doesn't account for volatility changes, may be inadequate in extreme markets
  • No range filter mechanism may lead to consecutive losses during choppy consolidation periods

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness2.0
Innovation2.0
Documentation2.0
Overall2.5

Parameters

ParameterDefaultDescription
LotSize0.1Fixed trading lot size
FastMA_Period10Fast moving average period
SlowMA_Period50Slow moving average period
TrailingStop30Enable trailing stop
StopLoss50Stop loss in points
TakeProfit100Take profit in points
MA_MethodMODE_SMAMoving average calculation method
UseMomentumFiltertrueEnable momentumfilter
MaxPositions1Maximum positions
RiskPercent2.0Risk percentage

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.