Universal 1.64
Universal is a multi-currency, multi-timeframe Expert Advisor that uses a combination of trend-following indicators (moving averages, MACD, ADX) across different timeframes to generate trading signals. It supports multiple currency pairs simultaneously and employs a signal aggregation system where signals from different timeframes are weighted and combined. The EA includes basic risk management with stop loss and take profit, along with trailing stop functionality.
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 | +6.32% | +5.47% | 4.76% | 47 | 52.20% | 1.29 | 1.33 | 4 | +$14.48 | Reliable |
| GBPUSD | -3.21% | -2.80% | 8.60% | 42 | 45.20% | -0.46 | -0.37 | 4 | −$7.65 | Reliable |
| USDJPY | +3.76% | +3.26% | 3.77% | 56 | 49.10% | 0.70 | 1.00 | 8 | +$6.83 | Reliable |
| XAUUSD | +9.06% | +7.43% | 55.65% | 39 | 31.60% | 0.57 | 0.16 | 6 | −$33.67 | Reliable |
Profitable on 3 of 4 markets with reliable results.
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.
Against the other Multi-Timeframe EAs with a reliable result on the same market: EURUSD: better than 100% of 11 · GBPUSD: better than 25% of 12 · USDJPY: better than 83% of 12 · XAUUSD: better than 58% of 12
Month by month
| Market | Months with a gain | Best month | Worst month |
|---|---|---|---|
| EURUSD | 62% | +3.46% 2026-04 | -1.90% 2026-03 |
| GBPUSD | 62% | +1.66% 2026-09 | -5.11% 2026-01 |
| USDJPY | 46% | +3.15% 2026-09 | -2.22% 2026-02 |
| XAUUSD | 38% | +65.73% 2026-01 | -14.63% 2025-11 |
From the backtest equity curve, sampled about every two days; only reliable results.
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 concept is based on multi-timeframe signal aggregation: the EA calculates technical indicator signals on multiple timeframes (e.g., M15, H1, H4) independently, then combines these signals with configurable weights into a composite trading decision. Entry conditions: a position is opened when the aggregated multi-timeframe signal exceeds a preset threshold — for example, a long entry occurs when short-period moving averages cross upward, the long-term trend is bullish, and ADX confirms trend strength. Exit conditions include fixed stop loss and take profit levels, exit on opposite signal generation, and a trailing stop mechanism to lock in profits. Position sizing supports both fixed lot sizes and dynamic calculation based on a percentage of account balance. In terms of money management, the EA provides maximum position limits and daily loss caps, but lacks refined scaling in/out controls. The overall strategy leans trend-following, which may suffer from frequent false signals during ranging or choppy markets.
Strengths
- Multi-timeframe signal aggregation improves signal reliability and reduces the impact of false signals from any single timeframe
- Supports simultaneous trading across multiple currency pairs, diversifying risk away from a single instrument
- Includes a DecreaseFactor mechanism that automatically reduces position size after consecutive losses to preserve capital
- Features stop loss, take profit, and trailing stop, providing a basic risk management framework
- Highly parameterized, allowing traders to flexibly adjust strategy settings for different market conditions
Weaknesses
- Trend-following strategy is prone to frequent false signals and consecutive losses in ranging or choppy markets
- Lacks sophisticated position management such as pyramiding or partial profit-taking mechanisms
- Multi-timeframe signal aggregation logic is relatively simple and does not account for inter-timeframe correlation
- Missing spread filter and trading session filter, potentially opening positions under unfavorable trading conditions
- Code architecture is traditional with tight coupling between indicator calculation and signal logic, limiting strategy extensibility
Possible improvements
- Add a market regime detection module to automatically switch to mean-reversion or pause trading during ranging markets to reduce false signals
- Implement spread filter and trading session filter to avoid opening positions during high-spread and low-liquidity periods
Risk assessment
Overall risk: Medium
- Trend-following strategy can produce consecutive losses in ranging markets; DecreaseFactor mitigates but cannot fully prevent this
- Absence of spread filter may increase slippage and trading costs under unfavorable conditions
- Simultaneous multi-currency trading increases portfolio risk exposure, with multiple stop losses potentially triggered simultaneously during extreme market events
Evaluation scores
Parameters
| Parameter | Default | Description |
|---|---|---|
Lots | 0.1 | Fixed trading lot size |
MaximumRisk | 0.02 | Maximum risk ratio based on balance |
DecreaseFactor | 3 | Position reduction factor after consecutive losses |
MovingPeriod_Long | 100 | Long-term moving average period |
MovingPeriod_Short | 20 | Short-term moving average period |
MACD_FastEMA | 12 | MACD fast EMA period |
MACD_SlowEMA | 26 | MACD slow EMA period |
MACD_SignalSMA | 9 | MACD signal SMA period |
ADX_Period | 14 | ADX trend strength indicator period |
StopLoss | 500 | Stop loss in points |
TakeProfit | 1000 | Take profit in points |
TrailingStop | 200 | Trailing stop in points |
Timeframe_Weight_M15 | 1 | M15 timeframe signal weight |
Timeframe_Weight_H1 | 2 | H1 timeframe signal weight |
Timeframe_Weight_H4 | 3 | H4 timeframe signal weight |
MaxPositions | 3 | Maximum simultaneous positions |
DailyLossLimit | 0.05 | Maximum daily loss percentage limit |
Similar Multi-Timeframe EAs
Backtests are historical simulations and do not guarantee future results. Not financial advice.