EA-15889 · Trend Following

Exp_Volume_Weighted_MA_Digit_System

This EA trades based on signals from the Volume_Weighted_MA_Digit_System custom indicator, opening buy positions when the indicator shows bullish signals (column value >2 and color <3) and sell positions when it shows bearish signals (column value <2 and color >1). It includes configurable stop loss, take profit, and money management options with separate controls for opening and closing positions.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsVolume Weighted MA, Volume
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 strategy concept is based on a volume-weighted moving average digitized system that generates buy and sell signals through the custom Volume_Weighted_MA_Digit_System indicator. Entry conditions are: when indicator buffer 6's value at bar 1 exceeds 2 and its color value is below 3, a buy signal is triggered; when the value drops below 2 and the color exceeds 1, a sell signal is triggered. Exit conditions are controlled by separate boolean switches where buy positions close when sell signals appear and sell positions close when buy signals appear. Position sizing supports five modes: free margin, balance, loss-adjusted free margin, loss-adjusted balance, and fixed lot size. Money management is controlled by the MM parameter with a default of 0.1 lots, a stop loss of 1000 points, and a take profit of 2000 points. The strategy recalculates signals only on new bar formation to avoid repetitive trades, using the IsNewBar mechanism to ensure signals are generated only on new price bars.

Strengths

  • Independent buy/sell open/close control switches provide high flexibility, allowing selective disabling of any direction
  • New bar detection mechanism (IsNewBar) prevents signal recalculation and excessive trading frequency
  • Multiple position sizing modes accommodate different risk preferences of traders
  • Volume-weighted moving average reflects real market supply and demand better than simple MA
  • Configurable stop loss and take profit parameters provide a basic risk control framework

Weaknesses

  • Default stop loss of 1000 points and take profit of 2000 points are excessively large, potentially causing severe single-trade losses
  • No spread filter mechanism may result in unfavorable fills in high-spread environments
  • Dependency on external custom indicator file means the EA fails if the indicator is missing
  • No position check mechanism may lead to duplicate position openings and accumulated exposure
  • Simple signal logic relying solely on single-indicator dual-buffer value comparison lacks multi-dimensional confirmation

Possible improvements

  • Add position check logic to prevent duplicate same-direction openings causing excessive position accumulation
  • Add spread and time filters to avoid trading during low-liquidity or high-spread periods
  • Implement trailing stop functionality to protect profits when positions move favorably
  • Reduce default stop loss/take profit to reasonable ranges or implement ATR-based dynamic stop loss

Risk assessment

Overall risk: Medium

  • No position count check may lead to repeated same-direction position openings
  • Default 1000-point stop loss is excessively large, potentially causing severe single-trade losses
  • No spread filter means trading costs are uncontrolled in high-spread environments
  • Dependency on external indicator file causes initialization failure if missing, though it handles this gracefully

Evaluation scores

Code quality3.0
Strategy logic2.0
Risk management3.0
Robustness2.0
Innovation2.0
Documentation1.0
Overall2.2

Parameters

ParameterDefaultDescription
MM0.1Money management ratio, controls trade lot size
MMModeLOTLot calculation mode: Fixed lot or margin-based ratio
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Slippage deviation allowance
BuyPosOpentrueAllow opening long positions
SellPosOpentrueSell position opening signal mode
BuyPosClosetrueAllow closing long positions
SellPosClosetrueSell position closing signal mode
InpInd_TimeframePERIOD_H4CandlesticksBW indicator timeframe
Length12Volume-weighted MA calculation period
VolumeTypeVOLUME_TICKVolume type (Tick volume or Real volume)
Digit2Number of digits for indicator digitization
Shift2Indicator bar shift offset
SignalBar1Signal bar index (0=current, 1=last 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.