Many people ask me which programe I use to practice my trading. For this I use NinjaTrader which is an absolute fantastisc programe for backtesting and training.
I therefore highly recommend Ninjatrader which is a free programme. Since the programme is for free I am not being paid to recommend it to anyone, I do it bacuse I think this is a great tool for traders who want to learn how to trade. Ninjatrader is free and for few money you can buy historical data.
If you become very pleased with NinjaTrader you can find brokers who cooperates with them and allow you to trade through NinjaTrader. I would recommend you to ask your broker what your posibillites are.
Personally I use IG as a broker.