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.
I could not be called a developer. I only resemble that remark! But i can share how freeing it feels to connect your own code to the API of the exchange or broker of your choice. I once bought a robot that traded crypto in about 5 basic ways. You purchased the ability to connect to the API of the exchange of your choice. The more exchanges, the more you paid. Then you would need to expose your API keys to the robot, which remains connected to the author because of licenses and what not. You buy a license that is supposed to give you perpetual upgrades of some sort for the black box that you get. Then you buy a special crypto coin to get your upgrades, but instead of one upgrade, there are three kinds of upgrades that you may or may not own. Finally i said enough is enough. I had a few skills already and put my foot down to leverage that education toward my own robot, especially one that implemented my own algo, especially if your algo is unique enough that you can't find any open source code that comes close that you can adapt. I could not find anything close enough in Pine Script (Trading View's language), in it's deep public library, that i could adapt. Then how do you run multiple positions on multiply symbols, and then, you still have to hook up with brokers or exchanges, of which they facilitate a lot, but not all? Total freedom is understanding REST API (or even better WebSockets) enough to connect your own code to any exchange or broker which offers an API (pretty much everybody). Freedom is the ability to implement an algo in any language, not just trading languages like Pine Script (TradingView), MetaQuotes4/5 (MetaTrader), and EasyLanguage (TradeStation). You can make your own arrays where BarHigh(0) gives you the high of the current bar, and BarsLow(2) gives you the low of two bars ago, same as any trade specific language. I once studied a guy on YouTube who used MetaTrader to connect with Forex brokers, to get data, and to execute trades. But as soon as he got data, he exported it down to Excel, did all his (heavy) computations in VBA, then sent the product of his analysis back up to MetaTrader for executions. He was basically looking at all Forex pairs at the same time, and his results kicked ass. I had a prior investment in VBA/Excel. But if you were to start from scratch, i would recommend Visual Studio as a platform, a console app as your app type, and C# as a language...or Python, since they have the absolute most trading support with open source libraries and YouTube influencers offering sample code. There is a ready made library, in C#, for example, that will hook you up via REST API, and/or Websockets to any exchange or broker that offers an API with the least amount of elbow grease. Once you connect, you're off to the races, but i would still allocate a year of your spare time to reach a functioning implementation of your algorithm. You can describe your algorithm in terms of statistics, such as Profit Factor, and things like that. Then, if you can find a developer who already owns algorithms with same or better statistics, you're not really giving anything away by exposing your ideas for development. I am happy with my expected 1.7 to 2 Profit Factor, so maybe we can talk in a few months when i am up and running, and have an app that easily scales to other algorithms.
If the futures trading strategy is latency sensitive, we can help. We offer low latency virtual private servers in Chicago with 0-1ms latency to CME. Ping us via live chat on our website, we can assist you with choosing the right configuration for your strategy.