Exp_AdaptiveCGOscillator_X2
This EA trades based on crossover signals from two Adaptive Center of Gravity Oscillators with different periods. It enters long when the faster CG oscillator crosses above the slower one and the signal line, and enters short on the opposite crossover. The adaptive component adjusts the oscillator period based on market cycle frequency, making it responsive to changing volatility regimes.
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 | — | — | — | — | — | Not convertible yet |
| GBPUSD | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| USDJPY | 0.00% | 0.00% | 0.00% | 0 | — | — | — | — | — | Not convertible yet |
| XAUUSD | 0.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
This EA employs John Ehlers' Adaptive Center of Gravity Oscillator as its core strategic indicator. The strategy concept is based on a dual-period CG oscillator crossover system: the fast CG oscillator crossing the slow CG oscillator generates trade signals, analogous to a dual moving average crossover but operating in the frequency domain rather than the time domain. Entry conditions trigger a long position when the fast CG line crosses above the slow CG line, and a short position on the opposite crossover, with additional filtering based on the signal line position. Exit conditions include closing on reverse crossover signals, fixed stop-loss and take-profit levels, and a trailing stop mechanism to protect accumulated profits. Position sizing supports both fixed lot size and dynamic calculation based on account balance percentage. Money management features include configurable stop-loss in points and trailing stop functionality to control per-trade risk, though it lacks portfolio-level risk controls and maximum drawdown limits. The adaptive mechanism uses Ehlers' cycle measurement algorithm to dynamically adjust the CG oscillator period, allowing the strategy to maintain sensitivity across different market volatility regimes.
Strengths
- The adaptive period adjustment mechanism allows the oscillator to adapt to different market volatility regimes, making it more robust than fixed-period oscillators
- The dual-period CG oscillator crossover system provides relatively smooth trade signals, reducing frequent trading and false signals
- Built-in stop-loss, take-profit, and trailing stop functionality provides a basic risk control framework
- The indicator based on Ehlers' digital signal processing theory has a solid mathematical foundation
Weaknesses
- Mean reversion strategies are prone to consecutive losses in strong trending markets, as the CG oscillator repeatedly generates false signals during extended directional moves
- Lacks trading session filters and news event filters, potentially generating unfavorable trades during low-liquidity periods or major news releases
- No maximum drawdown limit or account equity protection mechanism, which could lead to significant losses during extreme market conditions
- The adaptive period calculation increases computational complexity, potentially causing signal latency in real-time trading
Possible improvements
- Add a trend filter (such as ADX or long-period moving average) to suppress mean reversion signals during strong trending markets, reducing counter-trend trades
- Add trading session controls and major news event filters to avoid opening positions during unfavorable periods
- Add maximum drawdown limits and position reduction mechanisms after consecutive losses to enhance overall money management safety
Risk assessment
Overall risk: Medium
- Mean reversion strategy carries consecutive loss risk during trending markets, lacking a trend filter mechanism
- No maximum drawdown protection or automatic position reduction after consecutive losses
- Latency from adaptive period calculation may cause delayed entries during fast market moves
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Signal_Period | 8 | Fast CG oscillator period parameter |
Signal_Period_MM | 32 | Slow CG oscillator period parameter |
StopLoss | 1000 | Stop loss amount, 0 disables overall stop loss |
TakeProfit | 2000 | Hedge pair net profit target in points |
TrailingStop | 0 | Trailing stop in points, 0 to disable |
TrailingStep | 0 | Trailing stop step |
Lots | 0.1 | Hedge order lot size |
MoneyFixLot | 0.1 | Fixed lot size value |
MoneyRisk | 0.0 | Money management risk percentage |
Volume | 0 | Volume mode selection |
MaximumSlippage | 0 | Maximum slippage |
MagicNumber | 0 | EA magic number for order identification |
Similar Mean Reversion EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.