Gold edged higher on Tuesday, continuing its rally as crude oil prices rose, the U.S. dollar weakened and a report showed rising U.S. producer prices.

The U.S. gold contract for April delivery at the COMEX division of the New York Mercantile Exchange gained$8.40 to close at $948.90 an ounce.

High inflation and poor consumer confidence data, both of which could have been seen as negative for the markets, ended up being taken as bullish, no doubt as the latter increases the change of a Fed rate cut and that was enough to fuel the equities, said William Adams, analyst at Basemetals.com.

While higher inflation numbers were taken as bullish for commodities, sending oil above $100/barrel and gold back above $945. All in all the commodities seem the must-have investments again (as they were in Q1 in 2006 & 2007), he noted.

Meanwhile, the most bullish analyst, Ross Norman of the Bulliondesk.com, predicts that gold could reach $1250 as investment demand and inflation fears drive it forward.

The dollar fell against major currencies, after a surprising sharp rise in the producer price index and a drop in consumer confidence increased fears that the U.S. economy may fall into a recession this year.

Spot gold closed at $946.60/947.40 an ounce on the Comex division in New York, up from $937.80/938.60 on Monday and down from last week's record high of $953.60. During the session, the precious metal fell as low as $926.40 and reached a high of $948.50.

Crude oil futures settled up nearly $2 at $100.88 a barrel on Tuesday, increasing gold's appeal as a hedge against inflation.

In other precious metals, silver hit a 27-year high as investors considered it relatively cheap against other precious metals, analysts said. Silver rose to $18.65 an ounce, and was last quoted at $18.65/18.70 an ounce, against $18.07/18.12 on Monday.

Platinum fell 2 percent before paring losses, falling as low as $2,090 before rising to $2,130/2,140 an ounce, against $2,135/2,145 late in New York on Monday and a record high of $2,192. Palladium gained $3 to $523/528 an ounce.