Exp_XDPOCandle
This EA trades based on signals from the custom XDPOCandle indicator, which uses dual smoothing algorithms to generate colored candle signals. It opens buy positions when the indicator signals bullish momentum (color value 2) and sell positions when it signals bearish momentum (color value 0), with configurable position closing on signal reversal.
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
This EA employs a momentum-following strategy based on the XDPOCandle indicator, which processes price data through dual smoothing algorithms (first and second layer smoothing) to generate colored candle signals. Entry conditions are: a buy position opens when indicator buffer 4's current value changes from non-2 to 2, and a sell position opens when it changes from non-0 to 0; this change-detection mechanism ensures trades are triggered only on signal transitions. Exit conditions include hard stop-loss and take-profit settings, as well as active position closing on signal reversal (controlled by BuyPosClose and SellPosClose parameters). Position sizing is managed through the MM parameter controlling the lot ratio, with MMMode determining whether to use fixed lots or dynamic calculation based on account margin. In terms of money management, the stop-loss of 1000 points and take-profit of 2000 points provide a 1:2 risk-reward ratio, while the MM value of 0.1 suggests using 10% of available margin for trading. The strategy uses a new bar detection mechanism (IsNewBar) to prevent duplicate signals, while also supporting instant execution on a specified SignalBar for faster response.
Strengths
- Dual smoothing algorithm effectively filters market noise and reduces false signals
- Signal change detection mechanism ensures entries only on trend transitions, avoiding duplicate positions
- Independent buy/sell open and close switches provide high flexibility for adapting to market conditions
- Stop-loss to take-profit ratio of 1:2 provides a positive-expectancy risk-reward design
- New bar detection mechanism prevents duplicate trade triggers within the same bar
Weaknesses
- Depends on custom XDPOCandle indicator without transparency or verification of its internal logic
- Stop-loss of 1000 points is excessively wide, potentially leading to large losses on volatile instruments
- Lacks spread filter and trading session filter, allowing entries under unfavorable market conditions
- MM=0.1 margin usage ratio may lead to overtrading with high leverage
- No explicit position count limit, potentially causing frequent open/close cycles with excessive commission costs in ranging markets
Possible improvements
- Add a spread filter mechanism to pause trading when spread exceeds a threshold, avoiding excessive slippage
- Add trading session filters to avoid opening positions during low-liquidity periods
- Implement trailing stop or break-even functionality to lock in profits after reaching a certain gain threshold
- Backtest and validate the XDPOCandle indicator to clarify its performance characteristics across different market conditions
Risk assessment
Overall risk: Medium
- Stop-loss of 1000 points is too wide, potentially causing large single-trade losses relative to account size
- Lacks spread and session filters, potentially entering under unfavorable conditions
- Relies on an unverified custom indicator; strategy failure is total if the indicator fails
- Margin-based lot calculation amplifies risk under high leverage
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Money management parameter, lots or ratio |
MMMode | LOT | Margin calculation mode (fixed lots, balance percentage, etc.) |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage |
BuyPosOpen | true | Allow buy positions |
SellPosOpen | true | Allow sell positions |
BuyPosClose | true | Close long positions on reverse signal |
SellPosClose | true | Allow closing short positions on signal reversal |
InpInd_Timeframe | PERIOD_H4 | trend_arrows indicator timeframe |
SignalBar | 1 | Signal bar index (0 for current bar) |
MA_Method1 | MODE_SMA_ | First smoothing algorithm type |
Length1 | 12 | First J2JMA smoothing period |
Phase1 | 15 | First J2JMA phase parameter (-100 to +100) |
MA_Method2 | MODE_T3 | Second smoothing algorithm type |
Length2 | 5 | Second J2JMA smoothing period |
Phase2 | 15 | Second J2JMA phase parameter (-100 to +100) |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.