Exp_FisherCyberCycle
This EA trades based on the FisherCyberCycle custom indicator, generating buy signals when the indicator line crosses above the signal line and sell signals when it crosses below. It uses a configurable money management system with multiple margin modes and supports independent control of position opening and closing for both buy and sell directions.
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 core strategy of this EA is based on the FisherCyberCycle indicator, which applies the Fisher Transform to a CyberCycle oscillator to produce smoother and sharper turning point signals. Entry conditions are: a buy position opens when the indicator line (Ind) is above the signal line (Sign) and the previous bar's indicator line was at or below the signal line; a sell position opens when the indicator line is below the signal line and the previous bar's indicator line was at or above the signal line. Exit conditions are also based on indicator crossovers: long positions close when the bullish signal disappears, and short positions close when the bearish signal disappears, with fixed stop loss and take profit levels in points. Position sizing supports five margin modes: percentage of free margin, percentage of balance, percentage of free margin minus floating loss, percentage of balance minus floating loss, and fixed lot size. Money management is controlled via the MM parameter with a default of 0.1, combined with MMMode to select the calculation method. The EA also employs a new bar detection mechanism (IsNewBar) to prevent repeated trading within the same bar, recalculating signals only when SignalBar is 0 or a new bar appears.
Strengths
- Fisher Transform produces sharper signals, reducing lag typical of traditional oscillators
- Supports multiple money management modes, flexibly adapting to different risk preferences
- Buy and sell direction opening and closing can be independently controlled, offering high configuration flexibility
- New bar detection mechanism prevents repeated position opening within the same bar
- Configurable stop loss and take profit parameters provide a basic risk control framework
Weaknesses
- Depends on external custom indicator FisherCyberCycle; EA cannot run if the indicator file is missing
- Stop loss and take profit are fixed points without dynamic adjustment based on market volatility (e.g., ATR)
- Lacks position scaling mechanisms (add/reduce), unable to optimize positions during trends
- No existing position check before opening new trades, potentially leading to duplicate positions in the same direction
- Alpha and Length parameters lack self-adaptive mechanisms, performance may vary significantly across different market conditions
Possible improvements
- Add position check logic to avoid duplicate opening in the same direction which leads to overexposure
- Introduce ATR-based dynamic stop loss and take profit to automatically adjust distances based on market volatility
- Add trading session filter and spread filter to prevent opening positions in unfavorable trading conditions
Risk assessment
Overall risk: Medium
- No check for existing positions in the same direction, potentially leading to duplicate openings that increase risk exposure
- Fixed stop loss and take profit do not account for market volatility; tight stops may be frequently triggered during volatile periods
- Depends on external indicator file; abnormal indicator calculations could produce erroneous trading signals
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Money management parameter controlling trade ratio or lot size |
MMMode | LOT | MM mode: free margin/balance/post-loss margin/post-loss balance/fixed lot |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum allowed slippage in points |
BuyPosOpen | true | Allow opening long positions |
SellPosOpen | true | Allow opening short positions |
BuyPosClose | true | Allow closing long positions |
SellPosClose | true | Allow closing short positions |
InpInd_Timeframe | PERIOD_H8 | Indicator calculation timeframe |
Alpha | 0.07 | CyberCycle indicator smoothing coefficient |
Length | 8 | Indicator calculation period length |
SignalBar | 1 | Bar index for signal (0=current, 1=previous) |
Similar Mean Reversion EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.