EA-2419 · Trend Following

Exp_XPVT

This EA trades based on crossover signals from the XPVT (Volume Price Trend) custom indicator. It opens buy positions when the indicator line crosses above the signal line and sell positions on the opposite crossover, with configurable stop loss and take profit. Position sizing is managed via a money management module with multiple margin modes.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsXPVT, EMA
AuthorCopyright © 2014, Nikolay Kositsin

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 core strategy of this EA is a trend-following crossover system based on the XPVT (Volume Price Trend) indicator. Entry conditions: a buy signal is generated when the indicator line Ind crosses above the signal line Sign, and a sell signal is generated when Ind crosses below Sign, detected by comparing Ind and Sign values across two consecutive bars. Exit conditions include fixed stop loss and take profit in points, plus a reverse-signal close mechanism where an opposing crossover triggers position closure. Position sizing supports five modes: based on free margin, balance, free margin minus loss, balance minus loss, and fixed lot size. Money management is controlled by the MM parameter (default 0.1 risk ratio) combined with MMMode for calculation method selection. The strategy uses SignalBar (default 1) to specify which bar confirms the signal, using the previous closed bar to avoid look-ahead bias. The overall logic is clear and represents a typical single-indicator crossover trend-following system.

Strengths

  • Clear and concise strategy logic based on volume-price trend crossover signals, easy to understand and maintain
  • Comprehensive money management module supporting five position sizing modes to accommodate different risk preferences
  • Independent control over buy/sell open and close directions, offering high flexibility for partial strategy deployment
  • Uses SignalBar=1 to confirm signals on closed bars, effectively avoiding look-ahead bias
  • Includes IsNewBar new bar check mechanism to prevent repeated trading within the same bar

Weaknesses

  • Fixed stop loss and take profit in points rather than ATR-based dynamic calculation, poor adaptability across different volatility environments
  • No spread filter mechanism, potentially resulting in unfavorable fills during wide spread conditions
  • Depends on custom XPVT indicator, EA fails to run if the indicator file is missing, increasing deployment complexity
  • No multi-timeframe confirmation mechanism, relying solely on single indicator single timeframe signals with high false signal risk
  • Lacks risk controls such as maximum position count limits and maximum drawdown protection

Possible improvements

  • Replace fixed stop loss/take profit with ATR-based dynamic calculation to adapt to different market volatility environments
  • Add spread filter and multi-timeframe confirmation mechanisms to reduce false signals and unfavorable fills
  • Implement risk controls such as maximum position count limits, maximum drawdown protection, and trading pause after consecutive losses

Risk assessment

Overall risk: Medium

  • Fixed 1000-point SL and 2000-point TP ratio of 1:2 may result in excessive SL in low-volatility markets and insufficient TP in high-volatility markets
  • No spread filter may cause additional losses from significant slippage in low-liquidity markets
  • No maximum drawdown protection or consecutive loss control mechanism, risking sustained losses during extreme market conditions

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness3.0
Innovation2.0
Documentation1.0
Overall2.5

Parameters

ParameterDefaultDescription
MM0.1Risk ratio or lot size controlling position sizing
MMModeLOTLot calculation mode: fixed lot or margin ratio
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum allowed slippage in points
BuyPosOpentrueAllow long position opening
SellPosOpentrueAllow short position opening
BuyPosClosetrueAllow long position closing
SellPosClosetrueAllow short position closing
InpInd_TimeframePERIOD_H4Indicator calculation timeframe
VolumeTypeVOLUME_TICKVolume type: tick volume or real volume
XMA_MethodMODE_EMASmoothing algorithm type
XLength5Base momentum calculation period
XPhase15Smoothing phase parameter (JJMA range -100 to +100)
IPCPRICE_CLOSEApplied price: close/open/high/low/median/typical/weighted etc.
Shift0Indicator shift offset
SignalBar1Signal confirmation bar index (1 = previous closed bar)

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.