Thoughts On Amibroker (Review, Summary, Pros And Cons)
Last Updated on April 18, 2023
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.
(Before we go on we’d like to mention that we have a backtesting course that covers all aspects of how to backtest.) Let’s go on and you’ll learn what are the pros and cons of Amibroker.
If you are keen on Amibroker, check out this link for our Amibroker Course. The course gets into the basics of Amibroker and has code and examples of how you can start live trading with 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 are 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.
Layout and looks of Amibroker
To give you an idea of what Amibroker’s layout looks like please look at the two examples below:
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.
Is Amibroker a good software program for stocks?
Yes! I use Amibroker mainly for ETFs and futures, but I have backtested plenty of portfolios and baskets with both stocks and ETFs. And let me tell you, the software is MUCH faster than Tradestation and all the other programs I have tested (Tradestation, Ninjatrader, Multicharts, etc.)
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.
Amibroker vs. Metastock
Which is better? Metastock is older than Amibroker, it was even DOS based in the beginning, and we started using Metastock already in the 1990s. However, because of the “immature” market back then, we decided to switch to the old-fashioned spreadsheet (Excel) and only used Metastock sporadically after that until we switched to Amibroker in 2016/17.
Unless Metastock is radically improved since we last used it, we would say Amibroker is far superior in almost all aspects, not even considering that it’s also much cheaper (!). Amibroker is faster, more robust, and also easier to program.
There is a reason why Metastock has gradually lost customers while Amibroker has increased its customer base!
Which platform to choose?
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.
Is Amibroker a broker?
Unlike Tradestation Amibroker is not a broker. To trade your backtested strategies live through a broker you need a bridge (software) between Amibroker and your broker. Such a bridge/application exists already for the most popular brokers (at no charge). However, you need to modify your code to make it useful for live trading, something that for many non-coders could be a bit tricky.
We use Amibroker for both live trading and backtesting and our Amibroker course offers code for trading a portfolio of trading strategies in Interactive Brokers.
Free Amibroker code for trading strategies
The internet is full of free code and ideas for Ami broker. 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 “course” that contains the Ami broker 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 to 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 implementing 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.)
Thanks for sharing your thoughts. Looking back, would you have rather choosen Tradestation?
It depends on your objectives. I think technically AB is a much better platform, but because TS is also a broker it is probably easier to use.
But as it is now, i don’t regret my choice and I would do it again. Using AB I can also use Interactive Brokers, where I trade both stocks and futures. I have used IB for almost two decades, and will not change.
AB is really good, but it is a bit cumbersome when it comes to live trading, but still worth it, in my view. Esspecially if you are good at programming there should be no problems at all.
Multicharts is a clone of TS, but a lot more expensive than AB. Multicharts lets you choose broker.
what are your thoughts on running systematic machine learning strategies build by third party developers such as iSystems and Striker securities rather than build from the ground up?
I have never looked at these websites. But i prefer to build my own because i understand them and i know how they perform during “turmoil”.
Thanks for this article! As a non-programmer I think I must pass.
Have your tried Ninjatrader or Multicharts? It seems many choose between TS, Ninjatrader or Multicharts?
No, I have never tried them. I suspect Easy Language, which MS and TS use, is easier to learn. But on the other hand, AB offers a lot more customization….
This is a trade-off. But the more i use AB, the more I like it. It’s not difficult to learn at all, and automation you can easily learn/write by copying script out there. I have been running my automatic buy and sell signals for 5 months without any problems at all.
Hi, I found this article through another amibroker fourm user. I am really struggling with taking my backtesting for live trading. Amibroker is great for backtesting – I am quite happy. But i am finding it rather difficult to use it for live trading. http://forum.amibroker.com/t/iq-feed-for-real-time-scan/775/13 explain my trouble. If you read only from latest posts , it is enough to get the problem. any comment from you would be appreciated. Thanks!
Oddmund, would you be willing to share if you found or used any programming course to learn AFL? If so, which ones?
I have been using AB for a short while and as you don’t know programming but I’m finding it diffecult to take my code to the next level.
I have not used any courses, except for online documentation on boards and AB’s official forum. I think the only way is to leanr by trial and error and be patient. But my code is in general very easy and straightforward, i never dio any complicated stuff.
Like you I have told myself to use Amibroker and AFL programming in conjunction with Interactive Brokers. It works reliably for me know around the clock mostly unsupervised. I run exploration on stocks with 200 symbols and Futures about 80 symbols executing orders as triggered by my strategy. The downfall and limitations are the database plugin. I find database maintenance the biggest drawback with Amibroker losing bits of data and back-filling at least daily as well as database intervals. The Plugin seems to be stuck on 1 min restricting the amount of date I wish to process. My strategy requires about 3 weeks of data whereby I would like to about 3 month.
I am not aware of any software as economical as AB to perform the same tasks and do not have the programming skills to make changes. How do you cope/deal with these limitations?
I’m not sure if i understand your database problem. Can you please elaborate?
Very informative article buddy.can you please tell where did you find a programmer to design a automated trading system for you? Also if you don’t mind how much you spent in building an automated trading system?
I am in a same boat as you were, I dont know how to code and confused in what platform should i buy to autotrade and backtest.
I can give an address for an Indian programmer.
I have spent many months learning this. I recommend learning yourself. It takes time, but it’s worth it. You don’t need much code anyway to backtest. To get a live trading connection for sending and receiving orders is more difficult, but that you can pay for.
I have had no problems for live trading with AB. For me it has worked flawlessly for almost a year.
” I can give an address for an Indian programmer.” plz. do would so appreciate it as I would bs using the resource a lot for awhile. Thank you for your help
” I can give an address for an Indian programmer.” Yes plz. Could you provide that information. Much appreciated.
You must send me a mail.
What is your email address. The one I found reacts weirdly yahoo fails to recognize it.
” I can give an address for an Indian programmer.” Yes plz. Could you provide that information. Much appreciated.
I’ve also been using AB together with IB for about 5 years and am also happy with it. I don’t use it for AT. The main problem I have is that there are no trade off the chart capabilities. I would have liked to be able to draw S/R lines and trade directly from the chart, for example using a RMB click -> Buy. To do this I had to build an entire system from scratch, which took a lot of coding and testing.
How about an updated article about your automatic trading experience? In the past, you described how difficult it is sometimes to trade because of your emotions which led to mistakes/losses. I guess you eliminated these problems. Do you have more time for other things now?
In addition, 2018 was difficult year for many models. What was your experience? Did you do adjustments?
Thanks for commenting. Yes, 2018 was a difficult year, and I took some time off to pursue other things. I will get back to trading and probably some more articles from April.
Do you have any idea if there is a easy way to use or re-write (existing) Metastock formulas for Amibroker as I`m considering to switch?
These are two different types of code and I wonder (as it is quite a bit) if there is an quick way to translate from one to the other?
I used Metastock some ten years ago, and the formulas are quite similar. However, I have never heard of any “translator” for these two languages. But unless this is very complicated, I think it will not take you long to switch.
What historical and real-time data feeds are you using with ami broker?
I use Interactive Brokers for real time feed. For backtest I use Norgate and free data from yahoo.
Thanks Oddmund. Do the strategies you run live and backtest run on daily data?
Yes, I mainly run my strategies on daily bars.