Exp_AdaptiveCyberCycle
This EA trades based on crossover signals from three adaptive cycle-based oscillators (Adaptive Cyber Cycle, Adaptive CG Oscillator, or Adaptive RVI). It opens buy positions when the main line crosses above the signal line and sell positions on the opposite crossover, with fixed stop loss and 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 | — | — | — | — | — | 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
The strategy is based on John Ehlers' adaptive cycle theory, using the Alpha parameter to control the smoothing coefficient and dynamically adjust the oscillator's cycle response. Entry conditions: a buy signal is generated when the main line (Value) crosses above the signal line (SigValue), and a sell signal on the opposite crossover, following a classic oscillator crossover approach. Exit conditions include a fixed stop loss (1000 points) and fixed take profit (2000 points), while opposing crossover signals also trigger closing of existing positions. Position sizing supports two modes via the MM parameter: negative values represent fixed lot sizes while positive values represent deposit-proportional sizing, implemented through the TradeAlgorithms.mqh library. Money management relies on the external trading algorithm library without additional risk controls such as maximum position limits or drawdown protection. The strategy defaults to H4 timeframe and uses SignalBar=1 to ensure trading only after confirmed bar closure, avoiding signal repainting.
Strengths
- Supports switching between three adaptive cycle oscillator algorithms for flexibility
- Uses SignalBar=1 to trade only after bar closure confirmation, avoiding signal repainting
- Complete stop loss and take profit parameters with independent buy/sell direction controls
- New bar detection mechanism prevents repeated trading within the same bar
Weaknesses
- Depends on external TradeAlgorithms.mqh library with invisible core trading logic, making risk control auditing difficult
- Lacks additional risk controls such as spread filter, maximum position limits, or drawdown protection
- Fixed 1000-point SL and 2000-point TP ratio may not suit all market conditions
- On indicator handle failure only prints a warning but does not prevent the EA from continuing, potentially leading to signal-less trading
Possible improvements
- Return INIT_FAILED in OnInit when indicator handle acquisition fails instead of continuing to run
- Add spread filter and maximum simultaneous position limits to enhance risk control
Risk assessment
Overall risk: Medium
- EA continues running even when indicator handle acquisition fails, and CopyBuffer failures may cause repeated recalculation loops
- No spread filter, potentially entering trades during news events or low liquidity with wide spreads
- Money management logic in external library is not auditable
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Deposit percentage or fixed lot; negative = lot size |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum price slippage in points |
BuyPosOpen | true | Allow buy position opening |
SellPosOpen | true | Allow sell position opening |
BuyPosClose | true | Allow closing long positions |
SellPosClose | true | Allow closing short positions |
InpInd_Timeframe | PERIOD_H4 | Indicator timeframe |
Mode | AdaptiveCyberCycle | Indicator algorithm version selection |
Alpha | 0.07 | Indicator smoothing ratio |
SignalBar | 1 | Bar index for entry signal |
Similar Momentum EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.