The other approach not discussed is to have a USD trading account. If successful in accumulating USD then one can contract to sell USD for CAD. You get a better rate if you bargain with the USD currency traders if you have 100k+ but it still hurts have to pay a commission. My own experience with TD is that if I phone asking to sell USD that not traders know that one can do this and if you get such a negative response one needs to ask for a supervisor. I am in the position of having the bulk of my assets in USD and waiting for the CAD to fall to buy CAD at the best rate. While these circumstances might appear rosy I have at times hurt when the CAD appreciates. Having a USD visa account means I can buy on Amazon.com and pay in USD which is another way of minimizing currency exchange. Unfortunately much of what one might wish to purchase on Amazon.com far cheaper even including exchange rates will not ship to Canada. The only work around for me is a Pt. Robert's mail box and pay HST.