I'm late to the party but here's my 2 cents from coding algorithmic trading systems for a while. There's a lot of platforms and thus a lot of systems you can code for. If you start getting heavily invested into a platform without understanding its limitations or what changes they will eventually make, you're going to have a lot of headaches down the line. Definitely understand rate limits for polling trade data, limitations on trades over X period of time, and in general, limitations of the scripting platform such as: what functions are available, what limitations are placed on executed code, can you pipe in external data such as bespoke sentiment analysis algos.
With that said, a lot of people who aren't super dependent on latency can really test out their algo ideas fairly easily using Trading View. You can do backtesting and tweak your ideas on a platform that can quickly show you results in a pretty clean user interface. And if you really want to, you can setup automated trading with a little more work. I'll say Trading View certainly isn't my #1 choice for algo automated trading but it can work as long as your broker has an API that supports trading.
Another option which has faster trade execution than Trading View->Broker API is a completely proprietary system that runs on your own machine/server and connects to your broker's API. You stream your data from your broker, do the necessary calcs, and then automatically submit trades. This method also lets you run custom AI/Neural Network/Machine Learning systems to incorporate with your algo's trade decision making process. This also includes sentiment analysis. Of course this method is going to be a lot more expensive (in time and money) to implement, but it is by far the most robust.
Next there's the various trading bot platforms that are independent from brokers which act sort of like the above mentioned proprietary system. The code is hosted/executed at this 3rd party and they provide a scripting language that can do TA and handle API calls to your broker for trades. They're a decent option to avoid having to host yourself but you will run into platform limitations and you need to do your DD. Before you go committing to proprietary scripting languages on proprietary platforms, ensure it has all the features you will *ever* want.
Lastly, we end up back at the broker's with their proprietary algorithm builders. These will likely be the fastest for trade execution (outside of some very costly alternatives that aren't relevant to this forum) but as I stated at the start of this, you need to make sure this system you will be locked into has everything you need. If you find out down the road that you need to get sentiment analysis from a earnings call as its happening, forget it. Then you'd have to rebuild your system to interface with their APIs instead so you can incorporate this data.
Anyways, I hope this helps anyone trying to figure out a solution.
With that said, a lot of people who aren't super dependent on latency can really test out their algo ideas fairly easily using Trading View. You can do backtesting and tweak your ideas on a platform that can quickly show you results in a pretty clean user interface. And if you really want to, you can setup automated trading with a little more work. I'll say Trading View certainly isn't my #1 choice for algo automated trading but it can work as long as your broker has an API that supports trading.
Another option which has faster trade execution than Trading View->Broker API is a completely proprietary system that runs on your own machine/server and connects to your broker's API. You stream your data from your broker, do the necessary calcs, and then automatically submit trades. This method also lets you run custom AI/Neural Network/Machine Learning systems to incorporate with your algo's trade decision making process. This also includes sentiment analysis. Of course this method is going to be a lot more expensive (in time and money) to implement, but it is by far the most robust.
Next there's the various trading bot platforms that are independent from brokers which act sort of like the above mentioned proprietary system. The code is hosted/executed at this 3rd party and they provide a scripting language that can do TA and handle API calls to your broker for trades. They're a decent option to avoid having to host yourself but you will run into platform limitations and you need to do your DD. Before you go committing to proprietary scripting languages on proprietary platforms, ensure it has all the features you will *ever* want.
Lastly, we end up back at the broker's with their proprietary algorithm builders. These will likely be the fastest for trade execution (outside of some very costly alternatives that aren't relevant to this forum) but as I stated at the start of this, you need to make sure this system you will be locked into has everything you need. If you find out down the road that you need to get sentiment analysis from a earnings call as its happening, forget it. Then you'd have to rebuild your system to interface with their APIs instead so you can incorporate this data.
Anyways, I hope this helps anyone trying to figure out a solution.