Gold climbed to a two-week high on Thursday, buoyed by a weaker dollar and falling oil prices, as hopes of a peace deal between the United States and Iran tempered inflation and rate-hike concerns.

Spot gold gained 1.2% to $4,745.08 per ounce as of 1216 GMT, after rising to its highest level since April 23. U.S. gold futures for June delivery rose 1.3% to $4,754.20.

“It’s all to do with oil prices, which, when they go down, tend to push up bond prices. That depresses yields because investors are reducing expectations of rate hikes from central banks, and that in turn is supporting assets like gold and silver,” said Fawad Razaqzada, market analyst at City Index.

U.S. President Donald Trump predicted a swift end to the war with Iran, as Tehran considered a U.S. peace proposal that sources said would formally end the conflict while leaving unresolved key U.S. demands that Iran suspend its nuclear programme and reopen the Strait of Hormuz.

Stocks rose on Thursday, while oil prices sank on renewed hopes for a peace deal that could bring a gradual reopening of the strait.

The dollar hovered near its lowest level in more than two months, hit in the previous session, making bullion less expensive for holders of other currencies.

Benchmark 10-year U.S. Treasury yields eased, reducing the opportunity cost of holding gold.

Markets trimmed bets on U.S. Federal Reserve rate hikes by December to around 12%, down from 16% on Wednesday, according to CME Group’s FedWatch tool.

Investors are now awaiting the monthly U.S. employment report on Friday to assess how the Fed will move forward with monetary policy this year.

Meanwhile, China’s central bank added to its gold reserves for an 18th consecutive month, with holdings reaching 74.64 million fine troy ounces by the end of March, up from 74.38 million the previous month.

Spot silver rose 5.4% to $81.47 per ounce, platinum was up 1.7% at $2,095.26, and palladium gained 0.4% to $1,543.50. All three metals touched more than two-week highs.