Статьи
Задать вопрос автору
×

Возможность задать вопрос автору напрямую доступна подписчикам.

Статьи

And so, the story of AmiEdge continued, a testament to the power of open-source collaboration and the quest for innovation in the world of trading.

(data utility)

Building a plugin requires a solid technical foundation, and community forums offer invaluable advice. For complex real-time data plugins, developers recommend using libraries like Boost.Asio , Boost.Json , and ixwebsocket , along with C++ coroutines to manage asynchronous operations efficiently. A common point of confusion for new developers is understanding the qt variable in the ADK's Data_Template , which is a pointer provided by AmiBroker to maintain quote data. Furthermore, when writing AFL to interact with a plugin, you must incorporate checks to ensure signals are not triggered repeatedly, as the code can execute many times per second.

To build or understand any plugin, you must start with the foundational architecture. While AmiBroker provides the ADK on its official website, several developers have archived, modernized, or ported the kit to GitHub.

The project includes:

: Once the files are in place, restart AmiBroker. The plugin's functions can now be called from within AFL. For the Rtd_Ws_AB_plugin , for example, the AFL script uses GetTradingInterface("WS") to initialize the connection. Similarly, the ShoonyaAPI plugin exposes a ShoonyaFireSignal(Buy,Sell,Short,Cover) function to send trade signals.

The Amibroker plugin ecosystem on GitHub offers several benefits to users: