gold ends 0.3% lower at $1,654.50 an ounce