DeMarker gaining position volume
This EA uses the DeMarker oscillator to identify momentum shifts and enters positions when the indicator signals gaining momentum, with volume-based position sizing. It opens trades in the direction of the detected momentum when DeMarker crosses key threshold levels, typically buying on dips from overbought zones and selling on rallies from oversold zones.
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 | +3.55% | +3.08% | 5.38% | 1 | 0.00% | — | — | — | — | Too few trades |
| GBPUSD | -3.58% | -3.12% | 8.04% | 1 | 0.00% | — | — | — | — | Too few trades |
| USDJPY | -2.49% | -2.17% | 7.55% | 1 | 0.00% | — | — | — | — | Too few trades |
| XAUUSD | -97.87% | -95.84% | 97.87% | 1 | 0.00% | -1.47 | -1.00 | 1 | −$9,786.79 | Account stopped out |
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.
Against the other Momentum EAs with a reliable result on the same market: XAUUSD: better than 15% of 75
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| XAUUSD | 0% | 0.00% 2026-02 | -96.58% 2026-01 |
From the backtest equity curve, sampled about every two days; only reliable results.
Blow-up risk: High
- Has no stop loss or trailing stop
- Hit a stop-out in our backtest (equity below 10%) on XAUUSD
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 is centered on the DeMarker oscillator for momentum identification, with DeMarker values below 0.3 considered oversold and above 0.7 considered overbought. Entry conditions trigger a buy when DeMarker crosses upward from oversold territory and a sell when it crosses downward from overbought territory, signaling momentum accumulation. Position sizing employs volume-based dynamic adjustment, scaling trade size according to market volume changes. Exit conditions include fixed take-profit and stop-loss levels as well as DeMarker reverse crossover signals. Money management supports configurable lot sizes and risk percentage settings, but lacks advanced mechanisms such as Kelly criterion or dynamic risk adjustment. The overall strategy logic is clear, but relying on DeMarker as a single indicator introduces lag and false signal vulnerability.
Strengths
- DeMarker oscillator provides clear and interpretable momentum signals
- Volume-based dynamic position sizing adapts to market activity levels
- Well-defined overbought/oversold thresholds create objective entry conditions
Weaknesses
- Single-indicator strategy is prone to false signals without multi-confirmation
- DeMarker as a lagging indicator responds slowly in fast-reversal markets
- Lacks spread filter and news event filter, may open positions under adverse conditions
Possible improvements
- Add multi-confirmation mechanism by combining trend indicators like EMA or MACD for signal filtering
- Implement spread filter and trading session restrictions to avoid high-spread and low-liquidity periods
Risk assessment
Overall risk: Medium
- Single indicator without multi-confirmation may cause consecutive losses from false signals
- No explicit new bar check may lead to repeated position opening on the same bar
- Volume-based position adjustment may amplify risk exposure during extreme market conditions
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
DeMarkerPeriod | 14 | DeMarker indicator calculation period |
OverboughtLevel | 0.7 | Overbought threshold level |
OversoldLevel | 0.3 | Oversold threshold level |
LotSize | 0.1 | Default trading lot size |
StopLoss | 500 | Stop loss in points per level, 0 for none |
TakeProfit | 1000 | Take profit in points per level |
VolumeMultiplier | 1.0 | volumeposition multiplier |
MagicNumber | 12345 | EA magic number for order identification |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.