Last Updated on December 17, 2021 by Oddmund Groette
This review of Amibroker is based on many years of live trading. Prior to using Amibroker, I was trading semi-automatically by using a simple script in Excel. Having focused solely on stocks since 2001, I decided to start looking into futures in early 2017 and opted for Amibroker as my trading platform.
The question is: is Amibroker worth it? Why use Amibroker? In this brief review and summary, I look at the pros and cons of Amibroker and how it performs against some of the other backtesting platforms. Each platform has its advantages and disadvantages, but in my opinion, Amibroker is well worth its modest price for a lifetime license.
Excel is not exactly the best program for automated trading, so I decided to use one of the many platforms out there: Amibroker, Metastock, Tradestation, Multicharts, or Ninjatrader, etc. All these platforms are both for backtesting and automation. Tradestation is a bit different, though, because it is also a broker. All the others are stand-alone platforms. I decided to go for Amibroker.
This Amibroker review will show you Amibroker is cheap, reliable, fully customizable, and lightning-fast in testing:
- Amibroker Formula Language (AFL) had the most similarities to Metastock, a platform I used many years ago. Thus, easier for me to learn. AFL is somewhat based on C.
- I had a local friend already using Amibroker.
- A lightning-fast optimization feature.
- Easy to test strategies on a portfolio level.
- Fully customizable in terms of backtesting and trading.
- Pretty cheap, about 450 USD for a lifetime license, albeit upgrades only possible during the first 24 months after purchase. However, most traders only use a fraction of the possibilities, and one license should last for a decade or two.
- Amibroker can connect to different brokers via a plugin. I use Interactive Brokers. If you have programming skills, you can program a bridge yourself to your trading platform.
- I talked with another trader using Tradestation, but for me, the Amibroker code looked much more intuitive and easier to grasp.
Amibroker is a two-man company based in Poland. The whole platform is written by Dr. Tomasz Janeczko. Another Doctor, Marcin Górzyński, is the other man on the team.
Because of this limited manpower, all official support is via an open forum. These two guys have a rather eccentric way of answering some of the simpler questions in this forum, but all in all, support is reasonably good.
The Amibroker community is big, and India has a very big user base. That is good, if you need help in coding you can get people from there quite cheap compared to the West. I hired an Indian guy to help me write a better script for automated trading and so far this script has worked flawlessly.
Amibroker is good for backtesting, perhaps a bit tedious for live and automated trading
I still had one hesitation, though: I see a lot of people using Amibroker for backtesting, but I found rather few people using it as a platform for live trading. Why was that?
The biggest hurdle for Amibroker is to make a good and solid infrastructure for live trading. You need to partially rewrite the backtesting code to make it reliable for live trading, and you also need to write the correct code so your strategies do not send multiple orders.
Furthermore, code must keep track of which strategy has which position and which size. A lot of things can go wrong with the incorrect code. Imagine how losses can build up by sending multiple/incorrect orders in Silver futures!
Everything is documented in the support files, but you still need to connect all the bolts. In Tradestation, for example, this is much easier: when you have backtested an idea you simply check off for live trading, and all is sorted (Tradestation is also a broker where you can place trades). I suspect this is the reason why Amibroker seems to be mostly used as a backtester tool rather than a trading platform.
Another disadvantage with Amibroker is that you need to spend a lot of time managing quotes. Futures expire often, and that means extra work in linking the correct contracts to the relevant strategy. In Tradestation this is all taken care of more or less automatically.
How to set up Amibroker and Interactive Brokers (IB) for live and automated trading
Amibroker is a good software for BOTH backtesting and automated algo trading.
I trade all my strategies live in Amibroker and send the orders to Interactive Brokers. This is was an easy setup that took me just a couple of hours to both understand and configure.
It works like this:
The first thing you need to do is to slightly change the code from the backtest. The buy and sell criteria are the same, but you might need to add a small code for when to buy and sell by using time functions. This is pretty easy.
The second thing you need to do is to download the “bridge” that Amibroker has made that lets Amibroker connect to Interactive Brokers and make some easy configurations in the IB software.
The third step is the most tricky. You need to scan your strategies at certain intervals to see if they have generated buy or sell signals. To keep track of which strategies have positions, you need to develop some code so that you avoid keep buying if your strategy is already long (or short). This requires a bit more advanced code, but the main ideas you can find for free on the internet.
Amibroker is fully customizable – could both be an advantage or disadvantage
Before I started I had absolutely no knowledge of coding/programming except for some simple Excel code (but I assume that can hardly be called coding). I started in May 2017 and have worked some 2-4 hours per day learning and writing strategies. Since September 2017 I have been running some 30-50 strategies live, both stocks and futures in the US and Europe.
During this period I also discovered some disadvantages with Amibroker. The biggest disadvantage for me is the fact that the platform is fully customizable. That means there are no templates and nothing to start with. Of course, you can always find code on blogs/forums, etc., but it takes time.
Customization is very good if you are an experienced programmer and customization gives you tremendous “leverage”. But for me, with no prior experience, it demanded a lot of hours to learn.
Another disadvantage is that you can only run one database (where you store your live data) per session/instance. For example, if you want to run US futures and European futures simultaneously, it is recommended to run two instances of Amibroker from different directories (if timeframes are different, and they usually are). Of course, you can run many instances of Amibroker, but it complicates the matters somewhat.
How does Amibroker compare to other platforms/software?
Below follows a brief summary of the differences between Amibroker and the most popular platforms. However, which program to use depends on your goals as a trader and which markets you trade.
Amibroker vs Tradestation
Many more traders use Tradestation than Amibroker and thus it has much more “help” from Youtube and articles on the internet. If you have no experience in programming, Tradestation is most likely more intuitive and easier to learn. EasyLanguage can easily be learned. The number of Tradestation users is in the hundred thousand.
Furthermore, it’s substantially easier to take the step from backtesting to live trading: you simply check a box. But at the same time, you are “locked” in their systems and can only use their feed and you can’t trade many European and Asian markets. As mentioned above, finding symbols and putting them into folders and different instances of Amibroker is very cumbersome.
However, Tradestation is rather slow, and from what I have heard from many other traders, it often crashes. And you can’t backtest a portfolio of instruments or stocks, you simply have to test one and one. (However, since I first wrote this article, Tradestation has developed Tradestation Maestro that lets you backtest and evaluate portfolios.)
Additionally, you need to have separate asset classes in separate accounts. For example, one account can be forex, another one futures, and another one stocks. It’s necessary to transfer money between these accounts.
Amibroker vs. Multicharts
Because Multicharts has the same programming language as Tradestation, EasyLanguage, Multicharts has quickly attracted a lot of traders worldwide. It’s easy to understand the interface, and just like Tradestation, you can easily make the step from backtesting to live trading. But Multicharts has, unlike Tradestation, its own Quotemanager where you feed your program from whatever provider you like.
The positive with Multicharts, compared to Tradestation, is that you can test portfolios. However, Multicharts is much slower than Amibroker.
Amibroker vs. Ninjatrader
Ninjatrader has a lot of free features. Just like Tradestation, Ninjatrader is an independent platform and broker, but there exist some supported brokers, for example, Interactive Brokers. You can also choose another data feed than Ninjatrader.
To my knowledge, Ninjatrader is mostly used for futures, less so for stocks. The good thing is that you have the option of either buying a license or leasing.
Which platform to chose?
It’s not an easy choice to pick a platform to use, and it requires time to switch to another one, not to mention a lot of hassle of getting used to the new one.
Thus, you should spend some time reading about the pros and cons of each platform. What works for me, doesn’t necessarily work for you.
Free Amibroker code for trading strategies
The internet is full of free code and ideas for Amibroker. The official forum has plenty of snippets that you can use for free. Likewise, if you search on the web you’ll come across many websites with some code.
The monthly Trading Edges on this website all come with code for both Amibroker and Tradestation. I and Hakan charge a fee for it, but that is mainly for the strategy, not the code.
We have also compiled all our free trading strategies into one PDF file that contains the Amibroker code for all our 70+ free strategies.
Conclusion of Amibroker review and summary: why use Amibroker?
All in all, Amibroker is a very powerful tool that is very suitable for backtesting but works equally well for automated trading.
As with all products Amibroker has its pros and cons. I’m quite happy with Amibroker and don’t regret buying it. When your coding improves, I believe Amibroker is a more powerful tool than most of the other platforms because of literally no limits in what you can code. I have run between 30 to 50 different strategies live for automated trading since September 2017, all in different timeframes and markets, with no major hiccups. I use a virtual private server (VPS) and let it run all day.
The advantages of having a 100% customizable and inexpensive trading platform outweigh the disadvantages. The step from backtesting to implement live trading is not as difficult as it may sound.
As a final note, we remind you that you can download a free and reduced version if you want to check it out before you make a decision.
(I have no affiliation with Amibroker whatsoever.)