Algorithmic trading requires good mastery of machine learning and artificial intelligence algorithms like the neural networks, support vector machines, decision trees, fuzzy logic, kalman filter, particle filter etc.
You should learn R and Python.
You should also know how to do ensemble learning where we combine a few algorithmic models and make the decision by voting.
Keep this in mind!
Markets are not efficient in the short run.
We can use machine learning to find patterns that can predict price in the short term.
But when you try to increase the prediction horizon, uncertainty increases.
Markets are dynamic systems that are constantly adapting to changing environment in the form of new information and new realities in the world.
I have written a detailed post on my blog where I explain 8 Machine Learning algorithms that can be used in building algorithmic trading systems.
You can read the post and leave a comment.