Alternatively, look into a FairFX card, get pretty much market rate, bar a 1.5% transaction/withdrawal fee. It is mastercard too, so you can use it as a card or for cash withdrawals.
Who knows where the US dollar is going although I'd take care buying in advance online. I used to do this via a well known company called Crown Currency where you'd pay a month or 2 in advance and get really good rates. However, they went to the wall a month or so back and there will have been a fair few who lost out on pending currency orders that had already been paid for.