How to use AmiBroker with external data source (Quotes Plus, TC2000/TCNet/TC2005, FastTrack, Metastock)

One of the new features introduced in AmiBroker version 3.90 is the ability to read directly external databases. This is achieved by means of data plug-in DLLs that allow to link AmiBroker database with an external source. Please note that althrough you will be using external database, you will still need an AmiBroker database for storing additional information that is not supported by the external source like hand-drawn studies, assignments to groups, watch lists, composites and so on. You can find more information on AmiBroker database handling here.

One-time setup

To use an external data source with AmiBroker you will need to perform a one-time setup described below:

From now on your AmiBroker reads quotes directly from the external data source. No need to import/update quotes anymore. All new quotes will appear automatically without user intervention.

IMPORTANT: If there are new symbols added or old symbols deleted to/from the external data source, you will need to go to File->Database Settings->Configure and click "RETRIEVE" again to get new symbols.

Plug in performance notes

Using AmiBroker native database gives absolutely the best performance (it takes less than 2 milliseconds to retrieve 1000 data bars).
Metastock plugin is also quite fast, as it can retireve 1000 bars in about 6-7 milliseconds (including looking up for symbol in 5 different directories). In fact AmiBroker can access Metastock data faster than Metastock itself :-)
Quotes Plus performance depends on various factors - first access can be much slower (0.1-0.2 sec for 1000 bars) but subsequent accesses are faster (downto 5 milliseconds). FastTrack plugin is as fast as Quotes Plus plugin.
TC2000 is not as fast, especially if you are using data only on CD. So it is advised to copy your database to hard disk for better performance. But still, even when using CD-only data, AmiBroker ca access 1000 bars from TC2000 in about 0.25 sec (first access) and 0.015 sec (subsequent accesses). Also it is advised to enable "Local data storage" when using TC2000 plugin because it gives tremendous (>10 times) speed-up (once you access the TC2000 data, AmiBroker caches them in its own native database for fast retrieval).

Times are approximate and do not include one-time plug-in initialization process. Measurements where done on fairly low-end Celeron 600 based computer with 196KB RAM and 24x CD-ROM

In-memory caching

By default AmiBroker holds only 10 the most recently accessed symbols' data in RAM. This takes up about 320 KB (yes, kilobytes) of memory for 1000 bars per symbol loaded. You can enlarge "In memory cache" (Tools->Preferences : "Data" tab) to 100 (approx. 3.2MB additional RAM consumption ) or 1000 (approx. 32MB additional RAM consumption) or even more to get much better performance for subsequent data access (once data are in RAM AmiBroker does not need to ask plugin again and again)