EA-15567 · Trend Following

Exp_VWAP_Close

This EA trades based on the VWAP_Close custom indicator, generating buy signals when VWAP values are rising (trend up) and sell signals when VWAP values are falling (trend down). It uses configurable money management modes, fixed stop loss and take profit levels, and processes signals on new bar formation to avoid redundant trades. The strategy is a systematic trend-following approach that enters in the direction of the VWAP momentum.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, H6, D1
IndicatorsVWAP_Close
Author—

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 trend following based on the VWAP (Volume Weighted Average Price) indicator. Entry conditions: when Value[1]<Value[2] (VWAP declining or bottoming) and Value[0]>Value[1] (current VWAP rising above previous), a buy signal is generated; when Value[1]>Value[2] (VWAP rising or topping) and Value[0]<Value[1] (current VWAP falling below previous), a sell signal is generated. Exit conditions are triggered by opposing signals for position closure, combined with fixed stop loss (1000 points) and take profit (2000 points) for risk management. Position sizing supports five modes: percentage of free margin, percentage of balance, percentage of free margin minus floating loss, percentage of balance minus floating loss, and fixed lot size. Signal processing uses a new bar detection mechanism to prevent repeated entries on the same bar. The indicator reads 3 buffer values for comparison, and the SignalBar parameter controls which bar to start reading data from, allowing signal offset configuration.

Strengths

  • Uses VWAP indicator incorporating volume analysis, providing more market-representative signals than simple moving averages
  • Offers five position sizing modes for flexible risk preference adaptation
  • New bar detection mechanism prevents redundant trades on the same bar, reducing overtrading risk
  • Stop loss to take profit ratio of 1:2 provides a positive expectancy reward-to-risk design
  • Flexible control over trading directions via BuyPosOpen/SellPosOpen and close parameters

Weaknesses

  • Stop loss of 1000 points and take profit of 2000 points are large values that may result in excessively long holding periods on low-volatility instruments
  • No spread filter, trading during high-spread periods may result in unfavorable fills
  • Depends on external custom indicator VWAP_Close and TradeAlgorithms.mqh library, requiring these files to be available for deployment
  • Signal logic relies solely on simple comparison of three VWAP values, lacking additional trend confirmation or filtering mechanisms
  • No trailing stop or break-even functionality, profitable positions may retrace significantly before hitting take profit or triggering reversal close

Possible improvements

  • Add a spread filter to pause opening positions when spread is excessively wide, avoiding unfavorable fills
  • Implement trailing stop or break-even functionality to lock in profits after reaching a certain gain threshold
  • Add additional trend confirmation indicators (e.g., ATR filter, higher timeframe trend assessment) to reduce false signals in ranging markets

Risk assessment

Overall risk: Medium

  • Fixed stop loss and take profit points do not adapt to varying instrument volatility — too wide for low-volatility and potentially insufficient for high-volatility instruments
  • No spread filter or maximum position check, which may cause significant losses during extreme market conditions
  • VWAP indicator depends on custom files; if missing, EA initialization will fail but won't pose trading risk

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness2.0
Innovation2.0
Documentation1.0
Overall2.3

Parameters

ParameterDefaultDescription
MM0.1Money management parameter controlling lot size ratio or fixed lot
MMModeLOTLot mode: free margin / balance / margin minus floating loss / balance minus floating loss / fixed lot
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum allowed slippage
BuyPosOpentrueAllow buy to open position
SellPosOpentrueAllow sell to open position
BuyPosClosetrueAllow buy to close (close long)
SellPosClosetrueAllow sell to close (close short)
InpInd_TimeframePERIOD_H6Indicator timeframe
n2VWAP indicator calculation period parameter
VolumeTypeVOLUME_TICKVolume type: tick volume or real volume
SignalBar1Bar index for entry signal

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.