IMO coded backtesting is a waste of time unless you're trying to develop an EA. Why? Because if you're trading manually you will only trade at certain times of the day, use discretionary exits etc. Are you going to be trading mechanicaly or manualy?
If manual try Forex Tester, it's reasonablty accurate and can use simulated tick data (uses a random fill sub minute). It'll do coded backtesting too BTW.