BENGALURU- Gold hit its highest in a month on Thursday after the European Central Bank pledged to keep interest rates steady through next summer and investors fretted over weak Chinese data.
The precious metal's upside, however, was capped by a firmer dollar and a slightly more hawkish Federal Reserve.
Spot gold was up 0.4 percent at $1,304.21 per ounce at 1315 GMT after hitting a high of $1,309.30 an ounce, its best since May 15.
U.S. gold futures for August delivery rose 0.5 percent to $1,308.30 per ounce.
The ECB said on Thursday it would end its unprecedented bond purchase scheme by the close of the year, but signalled that this would not mean rapid policy tightening in the coming months.
"The ECB ... has now delivered an intrinsically hawkish announcement (ie, the end of QE) in a dovish tone," Luigi Speranza, head of European market economics at BNP Paribas, said in a note.
Higher interest rates are generally regarded as negative for gold, a non-interest bearing asset.
The ECB move sent the euro down while the dollar index extended its gains as U.S. retail sales posted their strongest rise in six months, supporting the view the Federal Reserve would raise short-term interest rates further.
On Wednesday, the Fed lifted key overnight borrowing costs by a quarter percentage point. It also projected two more rate increases by the end of this year, compared to one previously.
A stronger dollar makes dollar-priced gold more expensive for non-U.S. investors.
Bolstering gold was China saying it was ready to respond if U.S. President Donald Trump activated tariffs on Chinese goods
"Trade tensions ... are supportive for gold but having said that we don't think the upside is open because there are headwinds coming from the global recovery ... and the fact that the Fed is more hawkish," said Societe Generale analyst Robin Bhar.
In other precious metals, silver climbed 1 percent to $17.17 an ounce, having earlier hit $17.32 an ounce, its highest since April 19.
Platinum rose 0.9 percent to $906.90 an ounce after touching a two-week high of $912.80, while palladium gained 0.8 percent to $1,016.90 per ounce.
(Additional reporting by Eric Onstad in London, Karen Rodrigues and Swati Verma in Bengaluru; Editing by Adrian Croft) ((firstname.lastname@example.org(00442075429105)(Reuters Messaging: email@example.com) ))