PipLedger
Today's forex newsNFP, CPI, FOMC and other high-impact eventsEconomic calendarCalendar →

XAUUSD London session strategy: the first-hour breakout, with a free Pine Script

London is where gold's benchmark price is set, and the first hour of the London session can show which way the market wants to go. This strategy marks the high and low of that hour and trades the first decisive close outside it. Here are the rules, the times in IST for summer and winter, where the LBMA auctions fall, a worked example with the lot size and a free TradingView script.

By M. A. Horaira. Updated 10 October 2026. 12 minute read.

The rules at a glance

  • Market: XAUUSD on the 15-minute chart
  • Range: the high and low of the first London hour, 8 to 9 a.m. London time (12:30 to 13:30 IST in summer, 13:30 to 14:30 IST in winter)
  • Entry: the first 15-minute candle between 9 a.m. and noon London time that closes beyond the range by at least a tenth of the ATR; enter at that close
  • Stop loss: the other side of the range (its middle is an option in the settings)
  • Target: twice the risk (2R); anything still open is closed at 4 p.m. London time
  • Skip the day: if the first hour's range is wider than half of gold's daily ATR (the script checks this), or if big UK, euro area or US news is due in the window (check this yourself)
  • Optional: skip signals from the 10:30 a.m. London candle, when the LBMA morning gold price auction runs

Why the first London hour matters for gold

Gold trades almost around the clock, but it doesn't trade evenly. The Asian hours are usually quieter, and activity picks up when European banks and funds start work at 8 a.m. London time. In that first hour the overnight range gets tested, early orders go through and a short-term high and low form. A close outside that range in the next few hours can be the first sign of the day's direction.

This is a variation on two ideas that already have their own pages: the London breakout, which trades the Asian range on GBPUSD, and the opening range breakout, which trades the first 15 minutes of the Nifty. Here the opening range is London's first hour, on gold.

London breakout pageThis page
RangeMidnight to 8 a.m. London (Asian session)8 to 9 a.m. London (first London hour)
Example marketGBPUSDXAUUSD
Breakout window8 to 11 a.m. London9 a.m. to noon London
Range filter10 to 60 pipsNo more than half the daily ATR
Close open trades4 p.m. London4 p.m. London

The timings in IST

All the times are fixed in London time, so the IST times move by an hour when UK clocks change. UK clocks go back on 25 October 2026, so the winter column applies from then until late March.

London timeIST, UK summer timeIST, UK winter time
First London hour (the range)08:00–09:0012:30–13:3013:30–14:30
Breakout window09:00–12:0013:30–16:3014:30–17:30
LBMA morning gold price auction10:3015:0016:00
LBMA afternoon gold price auction15:0019:3020:30
Close any open trade16:0020:3021:30

For Indian traders the whole setup fits between lunch and early evening, before the busier New York hours. The best time to trade gold guide covers the other sessions.

The LBMA gold price auctions

The LBMA Gold Price is gold's main benchmark price. It's set twice each London business day, at 10:30 and 15:00 UK time, in an electronic auction in US dollars run by ICE Benchmark Administration. The 10:30 auction falls inside this strategy's breakout window.

Big physical and institutional orders can cluster around the auctions, and short, sharp moves near those times are common. Some traders don't open trades on the auction candle for that reason. The script has an optional setting that ignores signals from the 10:30 to 10:45 London candle. It's off by default; turn it on and compare the results on your data rather than assuming it helps.

The rules, step by step

1. Mark the first London hour

On a 15-minute XAUUSD chart, mark the highest high and lowest low of the four candles from 8:00 to 9:00 a.m. London time.

2. Check the size of the range

If the range is wider than half of gold's average daily range (the 14-day ATR on the daily chart), skip the day: much of the day's move has already happened and the stop would be too wide. With a daily ATR of $58, anything over $29 is skipped. The script reads the daily ATR up to yesterday, so it can't peek at today.

3. Wait for a close outside it

Between 9 a.m. and noon London time, the first 15-minute candle that closes above the range high (or below the low) by at least a tenth of the 14-period ATR is the signal. A wick outside doesn't count. Enter at that close.

4. Set the stop and the target

The stop goes on the other side of the range. If the range is on the wide side, the script can use the middle of the range instead, which cuts the stop distance (from $16.20 to $10.10 in the example below) but gets hit more often. The target is twice the risk.

5. One trade, out by 4 p.m.

Only the first breakout counts. If it fails, there's no second try in the other direction that day. Anything still open at 4 p.m. London time is closed at the market.

Worked example: XAUUSD, 15-minute chart

First London hour09:0010:30 LBMATarget 4,328.20Entry 4,295.80Stop 4,279.60Close above the range2R
Illustrative chart drawn for this guide to show the rules. It isn't a real day's prices. XAUUSD, 15-minute candles from 8 a.m. London time.

The first London hour runs from 4,279.60 to 4,291.80, a range of $12.20. Yesterday's daily ATR was $58, so the range is well under the $29 limit. The next three candles stay inside. The 09:45 candle (14:15 IST in summer) closes at 4,295.80, above the range high by more than a tenth of the ATR. That's the entry, with the stop at the range low.

Stop at the range low (default)Stop at the middle (option)
Entry4,295.804,295.80
Stop loss4,279.60, $16.20 away4,285.70, $10.10 away
Target (2R)4,328.204,316.00
Lot size at 1% of $10,000$100 ÷ ($16.20 × 100) = 0.06 lots$100 ÷ ($10.10 × 100) = 0.09 lots
Loss if the stop is hit$97.20$90.90
Profit at the target$194.40$181.80

Gold pushes higher through the LBMA morning auction and reaches the default 2R target by 14:15 London time. The lot sizes are rounded down to the nearest 0.01, which is why the losses come out under $100 ($97.20 and $90.90). Notice how small the position is: a $16 stop on gold at 1% risk on $10,000 is 0.06 lots. The XAUUSD lot size calculator works it out for any stop.

Why first-hour breakouts fail

Risk management

Common mistakes

  1. Marking the range in the wrong time zone. 8 a.m. London is 12:30 IST in summer and 13:30 IST in winter. Set the chart to London time, or use the script.
  2. Entering on a wick. Wait for the candle to close outside the range.
  3. Trading a range that's too wide. The filter exists so the stop stays sensible.
  4. Holding into New York without a plan. The 4 p.m. cut-off keeps this a London trade. US data at 8:30 a.m. New York time is 13:30 London time in summer.

Backtest it yourself on TradingView

This page doesn't quote a win rate or a profit figure, and you should be wary of anyone who does without showing the test. Results change with the market, the dates, the data feed and the costs you put in. The honest way is to run the test yourself, and the free script below does the work in a couple of minutes.

  1. Open the chart. On TradingView, open XAUUSD on the 15-minute chart.
  2. Add the script. Open the Pine Editor from the Pine icon in the panel on the right of the chart (older layouts have it as a tab under the chart), delete the code that's already there, paste this strategy's code and click "Add to chart".
  3. Put in your costs. Open the strategy's settings and go to Properties. Enter your broker's commission and a little slippage. A test without costs flatters every strategy, and short-term ones most of all.
  4. Read the Strategy Tester. The panel under the chart shows the net profit, the maximum drawdown, the profit factor, the number of trades and a list of every trade. Click a few trades and check on the chart that each one follows the rules. Trade sizes are shown in units rather than lots: 100,000 units is one lot of a forex pair, and 100 ounces is one lot of gold.
  5. Change one setting at a time. Compare the stop at the range low against the middle, the range filter (0.3 to 0.8 × the daily ATR), the LBMA skip on and off, and a 9 a.m. to 11 a.m. window against 9 a.m. to noon. Then run the London breakout script on the same dates and compare the two ranges.

As a rough guide, don't trust a result with fewer than 100 trades, a profit factor under 1 once costs are in, or a drawdown you couldn't sit through with real money. Settings tuned to look good on one stretch of history often fail on the next, so check the same settings on dates you didn't tune them on, then demo trade the strategy for a few weeks. How much history you can test depends on your TradingView plan: the free plan loads 5,000 candles, which is a few months of 15-minute candles but years of daily ones.

The script sizes each trade from the stop loss and your risk percentage, starts with $10,000 and assumes 1:100 leverage (a 1% margin setting), so the tester doesn't flag margin calls on normal forex trade sizes. Change these under Properties to match your account. By default TradingView fills orders at the open of the candle after the signal, so the fill can differ a little from the signal candle's close.

Download the free Pine Script and PDF

The script is written in Pine Script version 6 for this guide and follows the rules above. It can't read the economic calendar, so skipping news days is up to you. It's free to use, change and share. The PDF is a one-page cheat sheet with the rules, the London and IST times, the LBMA auction times, a worked example and a checklist, to keep next to your chart.

Show the code (Pine Script v6, 80 lines)
//@version=6
// XAUUSD London Session strategy by PipLedger (https://pipledgerfx.com/xauusd-london-session-strategy)
// Marks the high and low of the first London hour (8 to 9 a.m. London time), then trades the first close outside that range before noon London time.
// Free to use and change. For education and backtesting only; not financial advice.
strategy("PipLedger: XAUUSD London Session", shorttitle="Gold London", overlay=true, initial_capital=10000, pyramiding=0, default_qty_type=strategy.fixed, default_qty_value=1, margin_long=1, margin_short=1, currency=currency.USD)

// ---------- Inputs
tz        = input.string("Europe/London", "Session time zone")
rangeSess = input.session("0800-0900", "Opening range: first London hour (London time)")
tradeSess = input.session("0900-1200", "Breakout window (London time)")
closeHour = input.int(16, "Close any open trade at (hour, London time)", minval=1, maxval=23)
bufAtr    = input.float(0.1, "Close beyond the range by at least (x ATR 14)", minval=0.0, step=0.05)
maxRangeD = input.float(0.5, "Skip the day if the range is wider than (x daily ATR 14)", minval=0.05, step=0.05)
stopMode  = input.string("Opposite side", "Stop loss at", options=["Opposite side", "Range middle"])
skipFix   = input.bool(false, "Skip signals from 10:30 to 10:45 London (LBMA morning auction)")
rr        = input.float(2.0, "Target (R multiple)", minval=0.5, step=0.25)
riskPct   = input.float(1.0, "Risk per trade (% of equity)", minval=0.1, maxval=5.0, step=0.1)

// ---------- Helpers
fx = strategy.convert_to_account(1.0)  // one unit of the chart's quote currency in account currency (1 on USD-quoted charts)
calcQty(float entry, float stop) =>
    float dist = math.abs(entry - stop)
    dist > 0 and not na(fx) ? strategy.equity * riskPct / 100 / (dist * syminfo.pointvalue * fx) : 0.0

atr  = ta.atr(14)
dAtr = request.security(syminfo.tickerid, "D", ta.atr(14)[1], lookahead=barmerge.lookahead_on)  // daily ATR up to yesterday

inRange = not na(time(timeframe.period, rangeSess, tz))
inTrade = not na(time(timeframe.period, tradeSess, tz))
inFix   = not na(time(timeframe.period, "1030-1045", tz))
cutoff  = timestamp(tz, year(time, tz), month(time, tz), dayofmonth(time, tz), closeHour, 0)

// ---------- First-hour range
var float rHigh = na
var float rLow  = na
var bool  done  = false

if inRange and not inRange[1]
    rHigh := high
    rLow  := low
    done  := false
else if inRange
    rHigh := math.max(rHigh, high)
    rLow  := math.min(rLow, low)

rangeSize = rHigh - rLow
rangeOk   = not na(rHigh) and not na(dAtr) and rangeSize > 0 and rangeSize <= maxRangeD * dAtr
canTrade  = inTrade and not inRange and not done and strategy.position_size == 0 and rangeOk and time_close < cutoff and not (skipFix and inFix)
longSig   = canTrade and close > rHigh + bufAtr * atr
shortSig  = canTrade and close < rLow - bufAtr * atr
mid       = (rHigh + rLow) / 2

// ---------- Orders
if longSig
    float sl = stopMode == "Opposite side" ? rLow : mid
    float q  = calcQty(close, sl)
    if q > 0
        strategy.entry("Long", strategy.long, qty=q)
        strategy.exit("Long exit", "Long", stop=sl, limit=close + (close - sl) * rr)
        done := true

if shortSig
    float sl = stopMode == "Opposite side" ? rHigh : mid
    float q  = calcQty(close, sl)
    if q > 0
        strategy.entry("Short", strategy.short, qty=q)
        strategy.exit("Short exit", "Short", stop=sl, limit=close - (sl - close) * rr)
        done := true

// the candle that closes at the cut-off sends the order, so it fills at the cut-off time
if strategy.position_size != 0 and time_close >= cutoff
    strategy.close_all(comment="Session end")

// ---------- Chart
plot(rHigh, "First-hour high", color=color.new(color.teal, 0), linewidth=2, style=plot.style_linebr)
plot(rLow, "First-hour low", color=color.new(color.orange, 0), linewidth=2, style=plot.style_linebr)
bgcolor(inRange ? color.new(color.gray, 90) : na, title="First London hour")
bgcolor(skipFix and inFix ? color.new(color.purple, 90) : na, title="LBMA morning auction")
plotshape(longSig, "Long breakout", shape.triangleup, location.belowbar, color.teal, size=size.small)
plotshape(shortSig, "Short breakout", shape.triangledown, location.abovebar, color.red, size=size.small)

Trading this from India

The rules work on any gold chart, and TradingView's XAUUSD chart is a fine place to learn and backtest them. To trade gold legally from India, though, use MCX gold futures, including the smaller Gold Mini and Gold Petal contracts, through a SEBI-registered broker. Trading XAUUSD as a CFD with an offshore forex platform isn't allowed for residents under FEMA. MCX gold trades from 9 a.m. to 11:30 p.m. IST while the US is on daylight saving time and to 11:55 p.m. in the US winter, which covers the London session and the New York morning. The contract is priced in rupees, so work out the stop in rupees at your contract's quote unit (per 10 grams for Gold and Gold Mini, per gram for Gold Petal); the script works in ATR, not pips, so it needs no pip setting. The full picture is in is forex trading legal in India and XAUUSD market timings in India.

Related strategies: London breakout, opening range breakout, ICT kill zones, previous day high and low, XAUUSD New York session, XAUUSD intraday pivots, gold Donchian breakout. All 34 strategies are compared on one page in forex trading strategies.

Quick answers

What is the London session time for gold in IST?

London's main hours, 8 a.m. to 5 p.m. London time, are 12:30 to 21:30 IST in UK summer time and 13:30 to 22:30 IST in winter. UK clocks go back on 25 October 2026. The first London hour, which this strategy trades, is 12:30 to 13:30 IST in summer and 13:30 to 14:30 IST in winter.

What time is the LBMA gold fix in IST?

The LBMA Gold Price is set at 10:30 and 15:00 UK time each London business day. That's 15:00 and 19:30 IST while the UK is on summer time, and 16:00 and 20:30 IST in winter.

Is the London session good for trading gold?

Gold is usually more active in the London and New York sessions than in the Asian hours, which suits breakout strategies. Whether this particular breakout makes money on your data is something to test with the free script before trading it.

How is this different from the London breakout strategy?

The London breakout uses the Asian session range, from midnight to 8 a.m. London time, and is shown on GBPUSD. This strategy uses the first London hour, 8 to 9 a.m., on gold, with a range filter based on gold's daily ATR.

What if gold's first London hour is very wide?

The rules skip the day if the range is more than half of gold's daily ATR. A very wide first hour often means much of the day's move has already happened, and the stop would be too far away for a sensible lot size.

Can I trade the London session on MCX gold?

Yes. MCX gold trades from 9 a.m. IST, so the first London hour (12:30 or 13:30 IST) falls well inside MCX hours. Use the MCX chart's own range and size the trade in MCX lots.

More guides

All 75 guides →

हिंदी में पढ़ें: Lot size kaise nikale?, Prop firm challenge kaise pass kare?, Gold trading kaise kare?, Forex trading kya hai, और India में यह legal है या नहीं?

Trading psychology

The habits that decide whether a good strategy makes money.

All 14 trading psychology guides

8 popular prop firms

Well-known firms for forex, gold and index traders that were still operating in 2026. Compare their rules before you buy a challenge.

If a link in this list is a referral link, PipLedger may earn a commission if you sign up, at no extra cost to you. This list is not a recommendation. Programs, prices and rules change often, so check each firm's own site, including its margin and drawdown rules, before you buy a challenge.