Exp_2pbIdealXOSMA
This EA trades based on the 2pbIdealXOSMA custom indicator, which is a triple-smoothed oscillator with adjustable smoothing. It generates buy signals when the oscillator histogram turns upward and sell signals when it turns downward, using the slope direction of consecutive histogram bars to determine entries.
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 | — | — | — | — | — | Run error |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Run error |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Run error |
| XAUUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Run error |
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 the 2pbIdealXOSMA indicator, a triple ideal moving average oscillator that applies three pairs of rough and adjusting smoothing periods (X, Y, Z), followed by an additional smoothing pass on the histogram. Entry conditions: a buy signal is generated when macd[1]<macd[2] (histogram transitions from declining to rising) and macd[0]>macd[1] (confirming upward momentum); a sell signal triggers when macd[1]>macd[2] and macd[0]<macd[1]. Exit conditions use fixed stop loss and take profit in points, while also permitting signal-based exits—long positions close on sell signals and short positions close on buy signals. Position sizing is controlled by the MM parameter: negative values represent fixed lot sizes while positive values represent a share of the deposit. Money management defaults to MM=-0.1, meaning a fixed 0.1 lot per trade. The strategy relies on new bar detection (IsNewBar) to prevent duplicate signals, recalculating trading signals only on each new bar formation.
Strengths
- Triple smoothing oscillator design effectively reduces market noise and improves signal quality
- Independent buy/sell permission switches provide high flexibility for enabling or disabling entries and exits separately
- New bar detection mechanism prevents duplicate signal triggers within the same bar
- Supports 10 smoothing algorithm options, adaptable to different market conditions
- Complete stop loss and take profit parameters provide basic risk control
Weaknesses
- All smoothing periods default to 10 without differentiation, potentially causing sluggish or over-smoothed signals
- No spread filter, which may generate false signals in high-spread environments
- Lacks position check logic, risking duplicate positions and accumulated exposure
- Depends on a custom indicator file, complicating deployment and preventing independent indicator logic verification
- Stop loss of 1000 points and take profit of 2000 points are relatively large and may not suit all instruments
Possible improvements
- Add a spread filter mechanism to prevent opening positions when the spread is too wide, avoiding slippage losses
- Add position check logic to avoid duplicate same-direction entries that could lead to excessive risk exposure
- Set different default values for the three smoothing period groups so the indicator responds differently to various signal frequencies
Risk assessment
Overall risk: Medium
- No position direction check, potentially allowing duplicate entries that accumulate risk exposure
- Custom indicator dependency—if the indicator file is missing or malfunctioning, trading signals may be erroneous
- No spread filter, making entry costs uncontrollable in high-spread environments
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Money management: negative=fixed lots, positive=deposit percentage |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum price slippage deviation (points) |
BuyPosOpen | true | Allow opening long positions |
SellPosOpen | true | Allow opening short positions |
BuyPosClose | true | Allow closing long positions |
SellPosClose | true | Allow closing sell positions |
InpInd_Timeframe | PERIOD_H4 | Indicator timeframe |
SignalBar | 1 | Bar index for entry signal |
Period1 | 10 | Coarse smoothing period 1 |
Period2 | 10 | Adjustment smoothing period 1 |
PeriodX1 | 10 | First coarse smoothing period |
PeriodX2 | 10 | First adjustment smoothing period |
PeriodY1 | 10 | Second coarse smoothing period |
PeriodY2 | 10 | Second adjustment smoothing period |
PeriodZ1 | 10 | Third coarse smoothing period |
PeriodZ2 | 10 | Third adjustment smoothing period |
SmoothMethod | MODE_JJMA | Histogram smoothing method |
Smooth_XMA | 9 | Histogram smoothing period |
Smooth_Phase | 100 | Smoothing phase (JJMA range -100 to +100) |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.