Exp_Volume_Weighted_MACandle
This EA trades based on signals from the custom Volume Weighted MACandle indicator, opening buy positions when the indicator transitions to bullish (color=2) and sell positions when it transitions to bearish (color=0). It uses fixed stop loss and take profit levels with configurable money management and allows independent control of entry and exit directions.
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 strategy concept is based on a Volume Weighted Moving Average Candle indicator that identifies market momentum direction through color transitions. Entry conditions: a buy position opens when the indicator's current color is 2 (bullish) and the previous color was less than 2, while a sell position opens when the current color is 0 (bearish) and the previous color was greater than 0. Exit conditions: long positions close when the indicator turns bearish, and short positions close when it turns bullish, with fixed stop loss (1000 points) and take profit (2000 points) as additional exit mechanisms. Position sizing is controlled by the MM parameter, supporting either fixed lot size or margin-based percentage mode via the MarginMode enum (LOT vs FREEMARGIN). Money management offers two modes but lacks dynamic position adjustment mechanisms such as scaling in/out, trailing stops, or volatility-based sizing. The overall strategy logic is clear but relies entirely on a single indicator signal without multi-dimensional confirmation or dynamic risk management.
Strengths
- Clear and concise strategy logic based on volume-weighted indicator that effectively reflects price momentum changes
- Independent control over buy and sell entry/exit directions provides high flexibility
- New bar detection mechanism prevents repeated entries within the same bar, reducing overtrading risk
- Reasonable stop loss to take profit ratio (1:2) aligns with positive expectancy trading principles
- Supports two money management modes to accommodate different trader preferences
Weaknesses
- Relies entirely on a single indicator signal without multi-dimensional confirmation, prone to false signal losses
- Fixed point-based stop loss and take profit without ATR-based dynamic adjustment, poorly adaptive to varying market volatility
- No trailing stop mechanism to lock in profits during trending markets
- No position check or duplicate entry prevention, potentially opening additional positions in the same direction
- Insufficient error handling when indicator handle fails - only prints a message and returns INIT_FAILED without retry logic
Possible improvements
- Add multi-indicator confirmation such as ATR-based volatility filtering or a higher timeframe trend filter (e.g., MA direction) to reduce false signals
- Replace fixed stop loss/take profit with ATR-based dynamic calculation and add trailing stop functionality to improve adaptability and profitability across different market conditions
Risk assessment
Overall risk: Medium
- No position check mechanism may cause duplicate entries in the same direction, leading to overexposure
- Fixed stop loss/take profit without volatility consideration may result in frequent stop-outs during high volatility markets
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Money management ratio, controls trade lot size |
MMMode | LOT | Lot calculation mode: Fixed lot or margin-based ratio |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage |
BuyPosOpen | true | Allow buy to open |
SellPosOpen | true | Sell position opening signal mode |
BuyPosClose | true | Allow buy to close |
SellPosClose | true | Sell position closing signal mode |
InpInd_Timeframe | PERIOD_H4 | CandlesticksBW indicator timeframe |
SignalBar | 1 | Signal bar index (0=current, 1=last closed bar) |
Length | 12 | Volume-weighted MA calculation period |
VolumeType | VOLUME_TICK | Volume type (Tick volume or Real volume) |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.