EA-15262 · Momentum

Exp_Elliott_Wave_Oscillator

This EA trades based on the Elliott Wave Oscillator (EWO), which is calculated as the difference between two smoothed moving averages of different periods. It opens buy positions when the oscillator turns upward from a declining state and sell positions when it turns downward from a rising state, with configurable position closing on signal reversal.

Open the interactive view (equity curve, symbol switch)

Key facts

CategoryMomentum
RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesH1, H4, D1
IndicatorsElliott Wave Oscillator, SMA, JJMA
Author—

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Not convertible yet
GBPUSD0.00%0.00%0.00%0—————Not convertible yet
USDJPY0.00%0.00%0.00%0—————Not convertible yet
XAUUSD0.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 the Elliott Wave Oscillator, which measures the difference between a short-period and a long-period smoothed moving average — essentially a momentum-type indicator. Entry conditions: a buy position opens when the oscillator turns upward from a declining state (Value[0]>Value[1] and Value[1]<Value[2]); a sell position opens when the oscillator turns downward from a rising state (Value[0]<Value[1] and Value[1]>Value[2]). Exit conditions: positions close on signal reversal when BuyPosClose/SellPosClose are enabled, plus fixed StopLoss and TakeProfit levels are applied. Position sizing supports four margin modes — free margin, balance, loss-free margin, and loss-balance — as well as a fixed lot mode. Money management is controlled via the MM parameter (default 0.1) with configurable margin calculation modes. The strategy employs a dual-layer smoothing algorithm with a first-stage SMA of period 5 and a second-stage JJMA of period 35, with up to 10 smoothing methods selectable via enumeration.

Strengths

  • Uses Elliott Wave Oscillator combining momentum and trend judgment with clear logic
  • Supports 10 smoothing algorithms with high parameter flexibility for different markets
  • Provides dual exit mechanisms: fixed StopLoss/TakeProfit plus signal reversal closing
  • Supports multiple money management modes for flexible position sizing
  • Uses IsNewBar mechanism to prevent repeated trades on the same bar

Weaknesses

  • Default StopLoss 1000 / TakeProfit 2000 points are unrealistically large for most currency pairs
  • No spread filter — may generate false signals in high-spread environments
  • No position check — may open duplicate positions causing overlapping exposure
  • Signal logic relies on only 3-bar oscillator comparison, overly simplistic
  • Lacks supplementary filters like trend confirmation or volatility filtering

Possible improvements

  • Add position check to prevent duplicate opening in the same direction
  • Add spread filter and volatility filter to reduce false signals
  • Optimize default StopLoss/TakeProfit values to match actual market volatility
  • Add trend filter (e.g., higher timeframe MA direction confirmation) to avoid frequent trades in ranging markets

Risk assessment

Overall risk: Medium

  • Lack of position check may cause overlapping positions in the same direction, amplifying risk
  • Fixed StopLoss/TakeProfit points do not account for market volatility changes, may be insufficient in extreme conditions
  • Closing on signal reversal may cause frequent stop-outs in choppy markets

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation2.0
Documentation1.0
Overall2.2

Parameters

ParameterDefaultDescription
MM0.1Money management ratio or lot size, meaning per MMMode
MMModeLOTPosition sizing (free margin/balance/fixed lot, etc.)
StopLoss_1000Stop loss in points
TakeProfit_2000Take profit in points
Deviation_10Maximum slippage
BuyPosOpentrueAllow buy positions
SellPosOpentrueAllow sell positions
BuyPosClosetrueAllow closing buy positions on reverse signal
SellPosClosetrueAllow closing sell positions on reverse signal
InpInd_TimeframePERIOD_H4NRTR_extr indicator timeframe
MA_Method1MODE_SMA_First smoothing method
Length15First smoothing period
Phase115First smoothing phase parameter
IPC1PRICE_MEDIAN_First MA layer applied price
MA_Method2MODE_JJMASecond smoothing method
Length235Second smoothing period
Phase215Second smoothing phase parameter
IPC2PRICE_MEDIAN_Second MA layer applied price
SignalBar1Signal reference bar index

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.