Gold fell 1% on Monday, retreating from a 14-month peak hit in the previous session after a deal between the United States and Mexico to avert a tariff war prompted investors to ditch the safe-haven metal for riskier assets.
Spot gold was down 0.9% at $1,328.41 per ounce as of 0952 GMT. In the previous session, it hit its highest since April last year at $1,348.08 an ounce.
U.S. gold futures fell 1.1% to $1,331.9 an ounce.
The United States and Mexico struck a deal on Friday to avert a tariff war, with the latter agreeing to expand a controversial asylum programme and deploy security forces to stem flows of illegal migrants from Central America.
"The U.S.-Mexico trade breakthrough has improved risk appetite for investors, as it shows a deterioration in trade war fears," said Jameel Ahmad, global head of currency strategy and market research at online forex trading broker FXTM.
"Assets such as gold have fallen... after what has been a very good couple of weeks for traditional safe haven assets," he added.
As long as gold remains above chart support at $1,320 and $1,300, positive technical momentum should underpin prices, however, he said.
Expectations that the U.S. Federal Reserve might deliver a rate cut are currently giving hope to gold bulls. Lower interest rates cut the opportunity cost of holding bullion, which carries no yield.
Fed fund futures now price in more than two 25-basis point rate cuts by year-end, with one almost fully priced in by July. Weak data from the United States and a Sino-U.S. trade spat are clouding the global economic outlook.
Speculators raised net long position in COMEX gold in the week ended June 4, data from the U.S. Commodity Futures Trading Commission (CFTC) showed on Friday.
"We expect prices to hover sideways from $1,300-$1,350 per ounce in the short term, with risks tilted to the upside," Howie Lee, an economist at OCBC Bank, said in a note.
Among other precious metals, silver shed 1.5% to $14.77 per ounce.
Platinum fell 1.4% to $795.59 an ounce, while palladium eased 0.5% to $1,350.70 an ounce.