EA-1162 · Multi-Timeframe

Smatf

This EA uses a multi-timeframe scoring system based on 5 SMAs (periods 5,8,13,21,34) across 3 timeframes and the Accelerator Oscillator to generate buy/sell signals. Each indicator contributes a score, and positions are opened when the aggregate score exceeds configurable thresholds. It includes stop loss, take profit, trailing stop, and basic position management.

Open the interactive view (equity curve, symbol switch)

Key facts

RiskMedium
Blow-up riskLow
Rating★★☆☆☆
TypeTrading EA
TimeframesM15, H1, H4
IndicatorsSMA, Accelerator Oscillator
AuthorInteger

Backtest results (H1, about 1 year)

SymbolP&LAnnualMax DDTradesWin rateSharpeRecoveryLosing streakPer tradeStatus
EURUSD0.00%0.00%0.00%0—————Not convertible yet
GBPUSD0.00%0.00%0.00%0—————Not convertible yet
USDJPY0.00%0.00%0.00%0—————Not convertible yet
XAUUSD0.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 concept is a multi-timeframe, multi-moving-average scoring system combined with the Accelerator Oscillator. Entry conditions require that all three timeframes (M15, H1, H4) show directional consensus — the aggregate up-score or down-score must exceed 50 on each timeframe simultaneously, with scores above 75 indicating stronger signals. Within each timeframe, 5 SMAs each contribute 1 point if rising (current > previous), and the AC indicator contributes 3 points if it shows a specific sequential momentum pattern, with the total multiplied by 12.5 to produce a percentage. Exit conditions trigger when the opposite-direction score exceeds the CloseLevel threshold, or via fixed stop loss and take profit levels. Position sizing uses a fixed lot size (default 0.1) with no dynamic adjustment based on equity or volatility. Money management is essentially absent — there is no drawdown limit, no equity protection, and no lot-scaling logic. The trailing stop only activates after price moves beyond the open price, functioning as a breakeven-style trailing mechanism.

Strengths

  • Multi-timeframe consensus mechanism reduces false signals by requiring all three timeframes to align
  • Well-designed scoring system quantifies multiple indicator directions into an intuitive percentage
  • Uses confirmed bars (Shift=1) for signal evaluation, avoiding signal flickering on the current bar
  • Includes stop loss, take profit, and trailing stop providing basic risk control

Weaknesses

  • Extremely redundant code structure with massive duplication — global variables and repetitive if-else blocks could be replaced by loops and arrays
  • Fixed lot sizing with no money management — no adjustment based on account equity or volatility
  • Stop loss and take profit use fixed points instead of ATR-based dynamic calculation, which may be unsuitable across different volatility environments
  • Trailing stop only activates after price exceeds the open price, lacking protection during losing phases
  • The SolveLots function is essentially an empty shell with no meaningful position sizing logic implemented

Possible improvements

  • Replace the massive number of redundant global variables and repetitive if-else blocks with arrays and loops to dramatically improve readability and maintainability
  • Implement dynamic position sizing based on account equity or ATR volatility instead of the current fixed lot approach
  • Add money management safeguards such as maximum drawdown limits, maximum simultaneous positions, and daily loss limits

Risk assessment

Overall risk: Medium

  • Fixed lot sizing with no money management means positions cannot be automatically reduced during consecutive losses
  • The SolveLots function is an empty shell — named 'define lot by trade result' but implements nothing
  • Fixed-point stop loss/take profit of 550 points may be too tight on volatile instruments, causing frequent stop-outs

Evaluation scores

Code quality1.0
Strategy logic3.0
Risk management2.0
Robustness2.0
Innovation2.0
Documentation1.0
Overall1.8

Parameters

ParameterDefaultDescription
TF1PERIOD_M15First timeframe
TF2PERIOD_H1Second timeframe
TF3PERIOD_H4Third timeframe
maTrendPeriodv_15First SMA period
maTrendPeriodv_28Second SMA period
maTrendPeriodv_313Third SMA period
maTrendPeriodv_421Fourth SMA period
maTrendPeriodv_534Fifth SMA period
Shift1Bar shift for indicator check (0=current, 1=completed)
OpenLevel0Open signal threshold (0 or 1)
CloseLevel0Close signal threshold (0 or 1, 2=disable close signal)
Lots0.1Fixed trade lot size
StopLoss550Stop loss in points
TakeProfit550Take profit in points
Trailing0Trailing stop in points (0=trailing off)

Similar Multi-Timeframe EAs

Backtests are historical simulations and do not guarantee future results. Not financial advice.

Get the weekly Arena report

One email a week: ranking changes, new signals and new research. No spam; unsubscribe any time.