Exp_FiboCandles
This EA trades based on the FiboCandles custom indicator, which uses Fibonacci ratio levels to identify trend direction changes. It opens buy positions when the trend shifts upward and sell positions when the trend shifts downward, with configurable money management, stop loss, and take profit settings.
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 core strategy of this EA is a trend-following approach based on the FiboCandles indicator, which classifies candles using Fibonacci ratios (0.236, 0.382, 0.500, 0.618, 0.762) to determine trend direction. Entry conditions: a buy signal is generated when indicator buffer 4 shifts from 0 to 1, opening a long position; a sell signal is generated when it shifts from 1 to 0, opening a short position. Exit conditions include closing positions on reverse signals (e.g., closing shorts when a buy signal appears) and stop loss/take profit levels. Position sizing is controlled via the MM parameter and MMMode, supporting four modes: free margin-based, balance-based, loss-adjusted free margin, loss-adjusted balance, or fixed lot size. Money management offers five margin calculation modes, but lacks dynamic position adjustment based on market volatility. The strategy simultaneously executes close and open operations upon detecting trend reversals, enabling rapid transitions from old to new trends. Additionally, it includes a new bar check mechanism to avoid redundant signal processing within the same bar.
Strengths
- Clear strategy logic based on Fibonacci ratio trend following with theoretical foundation
- Multiple money management modes provide flexibility in position sizing
- New bar detection mechanism prevents redundant trades within the same bar
- Independent buy/sell switches allow flexible configuration for long-only or short-only trading
- Stop loss and take profit settings provide basic risk control
- Indicator handle validation and history data loading ensure data integrity
Weaknesses
- Depends on custom FiboCandles indicator whose source code is not visible, reducing strategy transparency
- Fixed stop loss and take profit in points without dynamic adjustment based on market volatility (e.g., ATR)
- Lacks position scaling mechanisms (adding or reducing positions), making position management simplistic
- No trading session filter, potentially generating unfavorable trades during low liquidity periods
- Missing trailing stop functionality, unable to lock in more profits during trend continuation
- No drawdown control mechanism to automatically reduce position size during consecutive losses
Possible improvements
- Add ATR-based dynamic stop loss and take profit calculation to adapt risk control to market volatility changes
- Implement trailing stop functionality to protect floating profits and capture larger trend moves
- Add maximum drawdown limits and position reduction after consecutive losses to enhance capital safety
- Add trading session filter and spread filter to avoid trading under unfavorable market conditions
- Add position check logic to prevent duplicate entries when same-direction positions already exist
Risk assessment
Overall risk: Medium
- Stop loss of 1000 points is relatively large, potentially causing significant single-trade losses in volatile markets
- Relies on a single custom indicator signal without multi-confirmation, risking false signal entries
- No check for existing position direction, potentially causing duplicate same-direction entries
- No maximum drawdown control, risking continued losses during extreme market conditions
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | 0.1 | Margin usage ratio for lot size calculation |
MMMode | LOT | Position sizing mode (free margin/balance/net loss/fixed lots) |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum slippagepoints |
BuyPosOpen | true | Allow buy positions |
SellPosOpen | true | Allow sell positions |
BuyPosClose | true | Allow close buy positions |
SellPosClose | true | Allow close sell positions |
InpInd_Timeframe | PERIOD_H1 | FiboCandlesindicatortime period |
period_ | 10 | indicatorcalculation period |
fiboLevel | LEVEL_1_ | Fibonacci ratio level (0.236/0.382/0.500/0.618/0.762) |
SignalBar | 1 | Bar index for signal (0=current bar) |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.