I would prefer gold as its the gold standard for precious metal. However recently it has surged to unsustainably high level, so stay cautious. This is the same for Silver. A good indicator would be looking at the gold-to-silver ratio (per oz). If ratio is above 80 (means gold price overvaluated relative to silver) buy silver, whereas if ratio is below 50 (means silver price overvalued relative to gold) buy gold. I have no knowledge on oil so cant give any omment.