EA-1167 · Momentum

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

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesH1, H4, D1
Indicators2pbIdealXOSMA, JJMA, XMA
AuthorCopyright © 2012, Nikolay Kositsin

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Run error
GBPUSD0.00%0.00%0.00%0—————Run error
USDJPY0.00%0.00%0.00%0—————Run error
XAUUSD0.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

Code quality3.0
Strategy logic3.0
Risk management3.0
Robustness2.0
Innovation3.0
Documentation2.0
Overall2.7

Parameters

ParameterDefaultDescription
MM-0.1Money management: negative=fixed lots, positive=deposit percentage
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum price slippage deviation (points)
BuyPosOpentrueAllow opening long positions
SellPosOpentrueAllow opening short positions
BuyPosClosetrueAllow closing long positions
SellPosClosetrueAllow closing sell positions
InpInd_TimeframePERIOD_H4Indicator timeframe
SignalBar1Bar index for entry signal
Period110Coarse smoothing period 1
Period210Adjustment smoothing period 1
PeriodX110First coarse smoothing period
PeriodX210First adjustment smoothing period
PeriodY110Second coarse smoothing period
PeriodY210Second adjustment smoothing period
PeriodZ110Third coarse smoothing period
PeriodZ210Third adjustment smoothing period
SmoothMethodMODE_JJMAHistogram smoothing method
Smooth_XMA9Histogram smoothing period
Smooth_Phase100Smoothing phase (JJMA range -100 to +100)

Similar Momentum 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.