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
Backtest results (H1, about 1 year)
| Symbol | P&L | Annual | Max DD | Trades | Win rate | Sharpe | Recovery | Losing streak | Per trade | Status |
|---|---|---|---|---|---|---|---|---|---|---|
| EURUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| XAUUSD | 0.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
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Money management parameter controlling lot size ratio or fixed lot |
MMMode | LOT | Lot mode: free margin / balance / margin minus floating loss / balance minus floating loss / fixed lot |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage |
BuyPosOpen | true | Allow buy to open position |
SellPosOpen | true | Allow sell to open position |
BuyPosClose | true | Allow buy to close (close long) |
SellPosClose | true | Allow sell to close (close short) |
InpInd_Timeframe | PERIOD_H6 | Indicator timeframe |
n | 2 | VWAP indicator calculation period parameter |
VolumeType | VOLUME_TICK | Volume type: tick volume or real volume |
SignalBar | 1 | Bar index for entry signal |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.