Exp_UltraFatl
This EA trades based on the UltraFatl custom indicator, a multi-period smoothed trend-following oscillator. It opens buy positions when the indicator transitions from below 5 to above 4, and sell positions when it transitions from above 4 to below 5, using the signal bar crossover logic. Positions are managed with fixed Stop Loss and Take Profit levels, with optional position closing on reverse signals.
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 system based on the UltraFatl indicator. The UltraFatl indicator employs a dual smoothing algorithm: first applying multi-step period (nStep×nStepsTotal) initial smoothing to the price using various methods (JJMA, JurX, ParMA, T3, VIDYA, AMA, etc.), then applying a secondary smoothing to produce an oscillator value in the 0-10 range. Entry conditions: a buy signal is generated when the indicator value crosses from below 5 to above 4 (Value[1]>4 and Value[0]<5 and Value[0] non-zero), while a sell signal is generated when the indicator crosses from above 4 to below 5 (Value[1]<5 and Value[1] non-zero and Value[0]>4). Exit conditions include fixed Stop Loss (1000 points) and Take Profit (2000 points), plus optional reverse signal position closing permissions. Position sizing uses either a deposit share percentage or fixed lot size (negative MM parameter means fixed lot). Money management follows a simple proportional or fixed lot scheme without dynamic adjustment. The strategy only checks signals on new bar formation to avoid duplicate trades.
Strengths
- Multi-layer smoothing algorithm reduces false signals and improves signal quality
- Complete buy/sell open/close permission controls provide high flexibility
- New bar detection mechanism prevents duplicate trades within the same bar
- Support for multiple smoothing algorithm choices adapts to different market conditions
- Stop Loss and Take Profit settings keep risk manageable
Weaknesses
- No spread filter, which may lead to unfavorable fills in high-spread environments
- Fixed SL of 1000 and TP of 2000 points are large and not dynamically adjusted for market volatility
- Lacks position check logic, potentially opening duplicate positions in the same direction
- Indicator thresholds of 4 and 5 are hardcoded and not adjustable via parameters
- No drawdown control or maximum loss limit mechanism
Possible improvements
- Make indicator thresholds 4 and 5 configurable parameters to allow backtesting optimization
- Add position checking and same-direction position control to avoid duplicate entries
- Add spread filter and dynamic SL/TP based on ATR for better volatility adaptation
Risk assessment
Overall risk: Medium
- Lacks position count checking, potentially opening duplicate same-direction positions causing overexposure
- Fixed SL/TP not adjusted for market volatility — SL too large in low volatility, TP insufficient in high volatility
- Negative MM parameter means fixed lot size with no maximum lot size limit protection
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
MM | -0.1 | Money management parameter controlling lot size |
StopLoss_ | 1000 | Stop loss in points |
TakeProfit_ | 2000 | Take profit in points |
Deviation_ | 10 | Maximum slippage in points |
BuyPosOpen | true | Allow buy to open position |
SellPosOpen | true | Allow sell to open position |
BuyPosClose | true | Allow closing long positions on reverse signal |
SellPosClose | true | Allow closing short positions |
InpInd_Timeframe | PERIOD_H4 | UltraFatl indicator timeframe |
W_Method | MODE_JJMA | Initial smoothing method |
StartLength | 3 | Initial smoothing period |
WPhase | 100 | Initial smoothing phase parameter |
nStep | 5 | Period change step size |
nStepsTotal | 10 | Total period change steps |
SmoothMethod | MODE_JJMA | Secondary smoothing method |
SmoothLength | 3 | Secondary smoothing depth |
SmoothPhase | 100 | Secondary smoothing phase parameter |
IPC | PRICE_CLOSE_ | Applied price type |
SignalBar | 1 | Bar index for entry signal |
Similar Trend Following EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.