Gold held firm near 2-1/2-month highs on Tuesday as dollar weakness offset improved risk appetite among investors, reflected in recovering global stock markets. Spot gold was up 0.1 percent at $1,227.18 per ounce at 1548 GMT, having peaked on Monday at $1,233.26, its highest since July 26.
US gold futures were up 0.1 percent at $1,231.20. "Most of the move in gold is behind us. The Saudi situation seems to be on the mend and stock markets getting an element of support from earnings deprive gold of another reason to rally from here," said INTL FC Stone analyst Edward Meir.
"Gold is being supported by a relatively softer dollar ... We could see more of a range-bound market from here." The US dollar index dropped to more than two-week lows on Tuesday while emerging market currencies outperformed, and
rising stock markets reflected improving risk appetite. Gold prices were also trading above the 100-day moving average of $1,227, which is seen as a bullish sign for investors following the technical signal.
"The near-term technical posture for the yellow metal has dramatically improved (over) the past few sessions, which continues to invite the chart-based buyers," Peter Hug, global trading director at Kitco Metals, said in a note.
Global equities had seen sharp declines over the past couple of days because of factors including the US-China trade tussle, tensions between Saudi Arabia and Western powers, stalled Brexit negotiations and concerns over China's economy.
Meanwhile, some analysts pointed out that the recent gains in gold can also be attributed to investors unwinding their bearish positions after speculators had piled up record short positions.
Holdings of SPDR Gold Trust, the largest gold-backed exchange traded fund, rose for a second straight session on Monday, adding 4.1 tonnes.
Holdings have gained about 2.5 percent in the past seven days, which, some analysts said, is a shift in perception in sentiment among gold ETF investors. SPDR Gold holdings had shed about 3.9 million ounces from a peak in April.
In other metals, silver rose 0.3 percent to $14.77 an ounce, having touched its highest since Oct. 2 at 14.69 earlier in the session. Platinum was up 0.2 percent at $840.24 after hitting its highest since July 10 at $850.10 on Monday, while palladium was down 0.3 percent at $1,080.30.