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
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 | — | — | — | — | — | Custom indicator approximated |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Custom indicator approximated |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Custom indicator approximated |
| XAUUSD | 0.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
Parameters
| Parameter | Default | Description |
|---|---|---|
StopLoss | undefined | Stop loss in points, limits max loss per trade |
TakeProfit | undefined | Take profit in points, locks profit target per trade |
Lots | undefined | Fixed trading lot size |
CG_Period_Fast | undefined | Fast CG oscillator period |
CG_Period_Slow | undefined | Slow CG oscillator period |
TrailingStop | undefined | Trailing stop in points, 0 to disable |
MagicNumber | undefined | Magic number for closing, 0 for all positions |
Similar Mean Reversion EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.