My Thoughts On Amibroker (review)

Last Updated on November 17, 2020 by Oddmund Groette

My thoughts on Amibroker.

For years I have been trading (semi-automatically) using a simple script in Excel. Having focused solely on stocks since 2001, I decided to start looking into futures in early 2017. 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 others are stand-alone platforms.

Why 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.
  • Can connect to different brokers via a plugin. I use Interactive Brokers.
  • I talked with another trader using Tradestation, but for me, the Amibroker code looked much more intuitive and easier to grasp.

About Amibroker:

AB 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 in 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. There is also a very big user base in India. 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, tedious for live trading

I still had one hesitation, though: I see a lot of people using AB for backtesting, but I found rather few people using it as a platform for live trading. Why was that?

The biggest hurdle is to make a good and solid infrastructure for live trading. You need to partially rewrite the backtester 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. Even more, code must keep track of which strategy has which position and which size. A lot of things can go wrong with 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 AB seems to be mostly used as a backtester tool rather than a trading platform. Another disadvantage 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.

Amibroker is fully customizable

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 negative things about AB. The biggest problem 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 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 AB from different directories (if timeframes are different, and they usually are). Of course, you can run many instances of AB, but it complicates.

How does Amibroker fare compared 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. Furthermore, it’s substantially easier to take the step from backtesting to trading the strategy live: 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. Additionally, you need to have separate asset classes in separate accounts. For example, one account can be forex, one futures, and 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 going live. 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 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, like 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.

Conclusion of review: all in all, Amibroker is a powerful tool

As with all products Amibroker has its pros and cons. But all in all, I’m quite happy with Amibroker and don’t regret it. When you get better at coding, 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 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.

So far so good.

(I have no affiliation with Amibroker whatsoever.)