The Amibroker SDK (available from the official website) provides a C/C++ interface. The "top" source code structures follow a strict state machine pattern:

The true complexity of a data plugin lies in how it handles the GetQuotes and GetExtraData functions. AmiBroker operates on a "pull" or "notification" basis. When the software needs to update a chart, it calls the plugin to see if new data is available. A robust plugin must implement an efficient buffering system. Since market data often arrives in bursts, the plugin should store incoming ticks in a thread-safe queue and then flush them to AmiBroker's memory structures during the update cycle.

Optimization is also key. Using efficient data structures for symbol lookups, such as hash maps, and minimizing the overhead of string manipulations can significantly improve the speed at which the plugin feeds data to the UI. A well-coded plugin not only delivers data accurately but does so with minimal CPU footprint, allowing the user to run complex AFL (AmiBroker Formula Language) scripts without lag. Conclusion

The ADK is the official package for C/C++ developers to build custom indicator or data plugin DLLs. Get the latest ADK from the AmiBroker Download Page Essential Files: The kit includes

Москва
Санкт-Петербург
Екатеринбург
Казань
Калининград
Краснодар
Красноярск
Нижний Новгород
Новороссийск
Новосибирск
Пермь
Ростов-на-Дону
Самара
Саратов
Тюмень
Уфа
Челябинск
Омск
Волгоград
Воронеж
Симферополь
Пенза