Getting started

hi there... in need of help here. Just getting started on Amibroker and am sweating my ass trying to find my way around.
About the IB controller...
I'm a bit confused about many things and have struggled finding guidance and answers on the manual/webosphere.
At the most basic level, the very first things I want to do is bring quotes from IB into Amibroker. I managed to connect to IB and backfilling some stuff, but:
a) don't understand backfilling settings...whatever I change on databse settings (configure) or via backfilling length (bottom right CONN right clicking), it does not go further back in time more than 1 month, regardless of the candle length I select;
b) Don't quite get how the different sessions are split and plotted on charts and where to set this (RTH, evening sessions, weekends, etc);
c) Right now is Monday 7 pm Australian ET... am plotting minute bars on Amibroker, and backfilling was ok... but past data plots in minute bars, but current data is plotting in hourly bars, not minute bars, despite having minute bars selected for my chart;
d) where do i change the time zone for my charts in Amibroker... can I toggle between exchange time, NY time and my local time so I display the chart in any time zone I want? Trying to understand also at this stage the implications and differences between time zone for charting/display purposes and database settings and for coding... where is all of this explained?

Sometimes i wonder if search engines displayed results differently for everyone and comics for a few.

This link shows up as the first result in 2 different engines.

First you need to read it twice, then open each window in Amibroker and read alongside twice.

IMPORTANT : These per-database settings in this window take precedence over default values definable in Preferences window. See explanation in Tutorial: Understanding database concepts.

Para's marked important should be read twice separately.

By the time you're done, i guarantee you'll not sweat anywhere.

No, it is just that some people do not use search at all.


Cut me some slack... not the easiest walkaround, that's all.

  • how can i toggle between displaying my charts in exchange time zone vs local time zone?
  • I'm trying to place an order. Despite being connected and streaming quotes from IB into Amibroker successfully, ibc = GetTradingInterface("IB") is giving me "Error45. Failed to launch trading interface (BrokerIB.EXE")
  • are there any conflicts/issues to be aware of when various APIs are used?, for ex can i get an API to IB to place orders and an API to different data providers to get quotes and then code stuff like : if price of X from provider 1 is xxx, and price of Y from provider 2 is yyy, then place an order in IB?


If that error occurs then most probably you have not yet installed IBcontroller to AB main directory.
So look into your installation folder of AmiBroker and if BrokerIB.exe is not to be found there then you have to download and install IBcontroller first in order to use its code functionalities. Also IBcontroller is getting installed to 32-bit AB directory by default (if applying IBcontroller setup file). So if you run 64-bit AB and want to install IBcontroller to 64-Bit AB main directory you have to change path in IBcontroller setup window from

C:\Program Files (x86)\AmiBroker ( -> this is 32-bit AB directory on 64-bit OS)


C:\Program Files\AmiBroker ( -> this is 64-bit AB directory on 64-bit OS)


You can run different single datafeed (such as eSignal, IQfeed, ...) and still place orders to IB.
All you have to do is inserting IB symboly of the ticker to Alias field of Information window of the database which is using different real-time feed in File-Database settings-Data source.
Then in your IB code instead of Name() function you use GetFnData( "Alias" ).

But you can not make code including two different realtime data feeds within very same database because you can run only one real-time datafeed per each database.

I am not aware of a simple toggle button. You can change settings in File-Database settings.


that's awesome... much appreciated!

In order to monitor connectivity dropouts, if I leave my AB and TWS session open for a period of say 48hrs, is there anyway in Amibroker where I can inspect how much "downtime" there was during the period, i.e.: a) how much time did I have access to real time quotes from the data feed, and b) how much time was I indeed connected to my broker (IB) so I was able to place orders?
I'm having quite a bit of connectivity drops in TWS itself, so this will be a hot issue for me to keep an eye on

I got the IBcontroller working fine now, but now getting this:

This happens despite having AB with the green CONN, quoting real time data and having TWS up and running just fine.

Thoughts? appreciate help!

I'm just scratching the surface and pardon me if i'm wrong regarding how AB works.

From what I know, AB arrays don't always "SEE" the holes that may be visible in the Quote Editor.

Read here in detail:
Probably the weekend to let it seep in, its a long article :smiley:

While AmiBroker never modifies the data it collects and stores in your database, it may fill in and fix holes during operations that require a common time base. Such operations would include several AA functions, the creation of composites, and chart overlays. The process of fixing and padding data to allow these operations is called data alignment .

Best is to use some 3rd party tools. there are tons of them like Glasswire etc and may save a lot of your time.
Haven't tested but some can even generate local system alerts.
Otherwise a few years down the road, AB may turn into an OS.

EDIT :Its obvious that if you have all connections disrupted, and PC internet was logged down in the 3rd party tool, AB didn't get ticks.

1 Like

IBcontroller is independent from AmIbroker.
You need to check whether port of IBController settings is equal one to set port of TWS API settings!
So go to IBController's File - Configure window and set very same port number as to be seen in TWS API settings.



Thanks man....
making progress at baby steps!

I'm trying this example order, but still not getting the order through???


Symbol is wrong.

Re-read here

There I have already added link to KB article where it is explained in detail how to get proper IB symbol! Here is link once again.