Home > Blog > Best Trading Hours for XAUUSD EA — When Gold Moves Most

XAUUSDGold EATrading HoursMT5EA Setup

Best Trading Hours for XAUUSD EA — When Gold Moves Most

Published: 2026-05-22Read time: about 3 min

Best Trading Hours for XAUUSD EA — When Gold Moves Most

Not all hours are created equal for XAUUSD trading. Gold can sit in a 15-pip range for hours, then move 80 pips in 20 minutes. For EA traders, understanding which hours produce consistent, tradeable moves — and which are noise — is critical to getting the most out of your strategy.

This guide breaks down XAUUSD volatility by trading session and explains how to configure time filters in your EA accordingly.


XAUUSD: A 23-Hour Market with Wildly Uneven Activity

XAUUSD trades almost continuously from Sunday 22:00 UTC to Friday 21:00 UTC. But volume, volatility, and spread vary dramatically across the day.

The key driver: XAUUSD is priced in USD, so it reacts most strongly to USD-related events and the overlap periods when both the London and New York sessions are active.


Volatility by Session (UTC Times)

Tokyo / Asian Session (00:00–08:00 UTC)

Volatility: Low

Gold typically ranges 30–80 pips during the Asian session. Price often consolidates after the previous day's New York close. This is not an ideal environment for trend-following EAs — you'll generate many false signals and whipsaw entries.

Exception: Japanese economic data releases (around 23:30–01:30 UTC the previous evening) and Chinese data (01:00–02:00 UTC) can cause spikes. The Asian session also sets up "range boundaries" that London often breaks.

EA recommendation: Disable or reduce trading during 00:00–07:00 UTC unless you're running a range/reversal strategy specifically designed for Asian conditions.

London Session (07:00–16:00 UTC)

Volatility: High (especially 07:00–10:00 UTC)

The London open is the most important time window for XAUUSD. Large institutional players enter the market, spreads tighten on most brokers, and the direction established here often sets the trend for the entire day.

Key sub-windows:

  • 07:00–09:00 UTC: London pre-market and open. Often the highest-volatility 2-hour window of the day for gold.
  • 09:00–12:00 UTC: Mid-morning consolidation after the initial London move
  • 12:00–13:30 UTC: Quiet period before New York open

EA recommendation: Trend-following EAs should be active from 07:00 UTC. Breakout EAs can use the 05:00–07:00 range as the "box" to break out of at London open.

New York Session (13:00–21:00 UTC)

Volatility: Very High (13:00–17:00 UTC, especially on US data days)

The London-New York overlap (13:00–16:00 UTC) is the highest-liquidity, highest-volatility window in the gold market. Most major price moves happen here, driven by:

  • US economic data (CPI, NFP, PCE, FOMC)
  • USD strength/weakness shifts
  • Risk-on/risk-off flows

After 17:00 UTC, the London session closes and liquidity drops. Gold often reverses or consolidates from the New York high/low.

EA recommendation: Your EA should definitely be active during 13:00–17:00 UTC. Be more selective after 17:00 — lower liquidity means wider spreads and less reliable signals.

Late New York / Pre-Asian (21:00–00:00 UTC)

Volatility: Low

The "dead zone" for XAUUSD. Volume is minimal, spreads widen, and moves are erratic rather than directional. EAs that trade during this window accumulate noise rather than signal.

EA recommendation: Turn off trading from 21:00–23:30 UTC unless your strategy specifically targets this window.


Summary: When to Trade

SessionUTC TimeVolatilityEA Activity
Late Asian / Pre-London05:00–07:00Low-MediumOptional (range setup)
London Open07:00–10:00Very HighActive
Mid-London10:00–13:00MediumActive
London-NY Overlap13:00–17:00Very HighActive
Late New York17:00–21:00Medium-LowReduce
Asian Session21:00–07:00LowReduce/Off

How to Set a Time Filter in MT5

In your EA's OnTick() function, add a session check before any entry logic:

input int TradeStartHour = 7;   // UTC
input int TradeEndHour   = 17;  // UTC

bool IsTradeTime() {
    datetime now = TimeGMT();
    MqlDateTime dt;
    TimeToStruct(now, dt);
    return (dt.hour >= TradeStartHour && dt.hour < TradeEndHour);
}

Call IsTradeTime() before any OrderSend() call. This simple filter removes the low-quality Asian session and late New York noise.

All EAs published on fxea365.com include a UseTimeFilter parameter (default off) and TradeStartHour / TradeEndHour settings that you can enable based on your broker's server time.


The Economic Calendar: Non-Negotiable

Beyond session timing, always check the economic calendar before letting your EA run:

High-impact events that move gold 50–200 pips in minutes:

  • US Non-Farm Payrolls (NFP) — first Friday of each month
  • US CPI inflation data
  • FOMC interest rate decisions
  • Fed Chair press conferences
  • Geopolitical shocks (these are unpredictable)

Our EAs include an EconomicFilter.mqh module that can pause trading around scheduled news events. Enable it with UseEconomicFilter = true.


Practical Setup for H1 Gold EA

For an H1 trend-following gold EA (like our GOLD EMA ATR EA), the recommended time filter is:

TradeStartHour = 7   (London open)
TradeEndHour   = 17  (end of London-NY overlap)
UseEconomicFilter = true
NewsAvoidMinutesBefore = 30
NewsAvoidMinutesAfter  = 30

This focuses the EA on the two highest-quality 5-hour windows while avoiding the noise that accumulates during the Asian session and post-New York period.


Download the GOLD EMA ATR EA free and apply these settings — it comes with built-in time filter parameters ready to use.

5-Day Email Course (Free)

Get one email a day covering the essentials of FX automated trading, how to read backtests correctly, and tips for choosing a broker.

* Privacy strictly protected. You can unsubscribe at any time.