EA-17666 · Mean Reversion

Exp_CGOscillator_X2

This EA trades based on the CG Oscillator (Center of Gravity Oscillator) signals, entering buy positions when the oscillator crosses below a lower threshold and sell positions when it crosses above an upper threshold. It uses a dual-signal X2 confirmation approach with two CG Oscillator instances of different periods to filter false entries. The EA implements position management with fixed lot sizing and stop-loss/take-profit levels.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★★☆☆
TypeTrading EA
TimeframesM15, H1, H4
IndicatorsCG Oscillator
Author—

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Custom indicator approximated
GBPUSD0.00%0.00%0.00%0—————Custom indicator approximated
USDJPY0.00%0.00%0.00%0—————Custom indicator approximated
XAUUSD0.00%0.00%0.00%0—————Custom indicator approximated

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 Center of Gravity (CG) Oscillator, which calculates the price's center of gravity through linear regression weighting, classifying it as a mean reversion strategy. Entry conditions require both a fast CG oscillator and a slow CG oscillator to simultaneously issue oversold signals and reverse for buy entries, and overbought signals and reverse for sell entries, with the X2 dual-confirmation mechanism effectively reducing false signals from a single indicator. Exit conditions include stop-loss and take-profit triggers, as well as position closing when a reverse signal appears. Position sizing uses a fixed lot approach without dynamic adjustment based on account balance. In terms of money management, stop-loss and take-profit are controlled by user-set parameters, but there is no floating loss percentage limit or maximum position count control.

Strengths

  • Dual CG Oscillator X2 confirmation mechanism effectively filters false signals and improves entry quality
  • Clear strategy logic based on mean reversion principles with statistical justification
  • Supports stop-loss and take-profit settings, providing a basic risk control framework

Weaknesses

  • Fixed lot sizing does not adapt to account size changes, making money management inflexible
  • Lacks maximum position limits and floating loss percentage controls, leaving risk exposure uncontrolled in extreme markets
  • Mean reversion strategy is prone to consecutive stop-losses in strong trending markets, lacking a trend filter mechanism

Possible improvements

  • Add dynamic position sizing that automatically adjusts lot size based on account balance and volatility
  • Add a trend filter indicator (such as ADX or long-term moving average) to pause or adjust mean reversion trades during strong trending markets

Risk assessment

Overall risk: Medium

  • Fixed lot sizing cannot automatically reduce position size when the account shrinks, potentially leading to excessive risk exposure
  • Mean reversion strategy may produce consecutive losses during one-directional trending markets

Evaluation scores

Code quality3.0
Strategy logic3.0
Risk management2.0
Robustness3.0
Innovation3.0
Documentation2.0
Overall2.7

Parameters

ParameterDefaultDescription
StopLossundefinedStop loss in points, limits max loss per trade
TakeProfitundefinedTake profit in points, locks profit target per trade
LotsundefinedFixed trading lot size
CG_Period_FastundefinedFast CG oscillator period
CG_Period_SlowundefinedSlow CG oscillator period
TrailingStopundefinedTrailing stop in points, 0 to disable
MagicNumberundefinedMagic number for closing, 0 for all positions

Similar Mean Reversion 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.