Crypto currency markets are diverse, open and volatile, which make them opportunity rich. Whatever strategy you choose to find those opportunities, to take advantage of them, you will have to execute your trades on a market. If your strategy for finding opportunity is mechanical/formulaic/automatic, then you will want automated execution as well. As with the crypto markets themselves, there is a diverse offering of Automated Execution, but there are often trade offs and points of friction when it comes to integrating a Trading Strategy that are symptoms of the each platforms architecture. We will have a look at some of these frictions and a novel solution.
What is Automatic Trade Signal Execution?
Before we proceed, let us lay out some definitions and make some distinctions for the sake of clarity.
- Trading Strategy: The formula you use to make your trading decisions. There are many approaches involving machine learning, technical analysis, sentiment analysis and maybe even some fundamental analysis (shock!). [investiopedia]
- Trade Signal: The emission of buy/sell/close messages from a Trading Strategy.[investopedia]
- Automatic Execution: The task of automatically executing the messages from a Trading Signal via a brokerage or directly with an exchange. [investopedia]
Some Trading Bots do all three of these (you will find HFT in this category). But, often, people build their Trading Strategy, and Trading Signal on one platform (for example TradingView), and then require a different system for the Automatic Execution. We will be talking about the latter scenario, and how the platforms that provide Automatic Execution as a service have tackled the problem.
There are several well established platforms that offer Automatic Execution such as 3commas, Alertatron and others. Plurex is a new comer with some novel architectural decisions that provide advantages to some of the frictions you can encounter in other platforms.
We will look at an overview of the architecture for 3Commas, Alertatron and Plurex so that we can evaluate the pros and cons offered by each platform. We will use the following scenario as our lens; You have a couple of great Trading Strategies that provide Signals that could go Long or Short, and you want to be able to execute them across multiple exchanges on behalf of multiple clients.
3commas
3commas is probably the most well known platform in this space, and offers many other great automation features other than Automatic Signal Execution. It also has an extensive list of exchanges that you can integrate with. All very good points, but we are looking purely at the architecture that lets us achieve our scenario.
3commas DCA bot has some nice features such as its safety orders which allow the bot to achieve a better entry price if price moves against you, but it has some negative trade offs in terms of integration.
As you can see in the diagram, we have a single strategy that can go long or short. 3Commas DCA bots are either a Long bot or a Short bot, not both. So if your strategy can go long or short, you need 2 bots.
Every new bot also has to be targeted by your Trade Signal Source by id, so every bot you want to add, you have to go back and tell your strategy about it.
This scenario of running a strategy on 2 exchange accounts requires 4 bots and however your Signal Source is configured to send its messages, it must alter something to be able to send duplicates for each message type for each bot. On TradingView for example, some reasonable pinescript can save you some work, but if you are using a no code solution with pure alerts on an indicator, it is not ideal.
Alertatron
Alertatron has been around for a while, and offers some great flexibility with its scripting based solution for responding to Signals. This allows you to build your own Signal messages and the actions that are taken for each. This can be very powerful if you are looking for that level of control over your execution.
Alertatron allows you to write scripts for signals that will target a specific Exchange connection and parameterise the market symbol, but their scaling solution for multiple accounts are Trading Groups. We will look at the Trading Group architecture.
Trading Groups let you map signals to scripts and these will execute on every client connection in the group, this is great for scaling initially as it removes the coupling from client exchange account back to the Signal Source that we saw with 3Commas. But the duplication, complexity and maintenance work creep in elsewhere.
Alertatron Trading Groups can only target a specific exchange, so if you want to target multiple Exchanges, you must create a new Trading Group as we have done in the diagram. This results in a copy and paste of all your Signal and Script mappings. And now you must remember to make your changes in multiple places.
Unfortunately, the duplication might not stop there. Each Signal to Script mapping is also fixed to a particular market/symbol, so if you want to target multiple markets/symbols you must create a signal for each market and copy and paste its custom logic. Or create Trading Groups for each market/symbol, either way it is still duplication.
So, if you want to target multiple exchanges and markets with similar execution logic at scale, you are going to be doing a lot of copy pasting and maintaining the same logic in multiple places.
Plurex
Plurex is the new comer on the block, but this means that we have been able to evaluate existing implementations and build something that alleviates much of the friction we have seen, especially around scaling your execution.
Plurex provides other automation and trading tools, but the current focus of development and this article is the Automatic Execution.
Plurex provides the concept of a Signal internally. You can think of it as a proxy to your Trading Strategy, and you only have to connect to it once. From there, your Strategy can send any messages for any market and the Plurex Signal will track the state on a per market basis.
Once you have a Signal you can add as many Signal Bots to a Signal market as you want. Each signal bot can trade on any exchange with its own budget and other configuration.
By making the Plurex Signal the target of an External Signal message, it allows us to scale out our execution as we wish from within Plurex and without having to go back and tell our Strategy about it.
Closing
Plurex does not offer the flexibility you find in Alertatron in some cases. Plurex has well defined messages with well defined behaviour, so if you need that flexibility over simple integration and scaling then Alertatron is probably a better choice. But if you would like to avoid a web of duplicated complexity, then Plurex could be a better fit.
For 3Commas and Plurex, if you are already a user of some of 3Commas other functionality, then possibly sticking with the DCA bot makes sense. But Plurex is catching up on similar functionality. If it is all about the Automatic Execution, then potentially Plurex’s simple integration, configuration and scale can help you avoid some frustration.
If you would like to see a quick demo of Plurex’s Signals in action, check this video out.
And finally, if you would like to join our Beta, then head straight over to plurex.io.