.NET AmiBroker Development Kit
.NET for AmiBroker is a SDK (ADK) that provides full .NET support to AmiBroker. It is a 3rd party tool, continuously updated for newer AmiBroker releases.
.NET for AmiBroker to protect and licence trading systems
.NET for AmiBroker is an easy solution for black box trading system developers to protect, license and sell their systems. AFL scripts can be easily and quickly converted to .NET plugins hiding the AFL scripts from unwanted eyes. Then these .NET plugins can be protected and licensed by commercial protection tools like IntelliLock, CliSecure Licensing, .NET Licensing Pro, etc. The protected plugins can be made public. Only customers who were given license for their machines can use the protected .NET Plug-Ins.
.NET for AmiBroker to develop custom data plug-in
Data plug-in development is very challenging, complex task. It requires a lot of developer knowledge and experience: C/C++, writing and debugging multithreaded code, AmiBroker's data plug-in interface and data provider interface.
.NET for AmiBroker lifts the barrier on data source development by providing a simplified data source interface to integrate with AmiBroker and library functions to easily process received price data into quotes. Provided data source sample codes also help understanding the internal structure and processes of the data sources.
.NET for AmiBroker to build automated trading systems
.NET for AmiBroker can mix and match AmiBroker's AFL array processing logic and stateful, object oriented code to manage complex logic needed to processing trade signals, order execution events, account events. Autotrading plugins can be built to manage special trading logic like moving target and stop orders, etc. See the source code of ChartTrade and AutoTrader in Developer Edition of .NET for AmiBroker or take a look at the video.
.NET for AmiBroker for trading system developers
Extend or replace your AFLs with .NET code
AFL plug-in development that once used to challenge even experienced C/C++ developers can now be done in any .NET language very easily and fast. .NET plug-ins can extend or completely replace AFL scripts. AFL include files can be easily converted to AFL plug-in. AFL indicators, scanners, explorations, backtester modules, real time trading modules, etc. can be created in pure .NET or in a mix of AFL and .NET. .NET code can simply access all the built-in AFL methods and objects of the backtester interface.
Data source plug-ins can be developed in any .NET language as well. Using the .NET data interface is much simpler than the original C/C++ interface. They still provide the full functionality of the original interface and simplify integration of off-line and streaming data sources.
Real time trading using IBController trading interface
.NET for AmiBroker provides easy integration of AFL indicators, trading logic in object oriented .NET code and AmiBroker Auto-Trading interface for Interactive Brokers. The managed IBController interface and the .NET plug-ins together provide new, easier, more reliable and manageable ways to create real time trading systems.
Integrate AmiBroker into your custom trading process
.NET for AmiBroker also simplifies the integration of all kinds of applications into AmiBroker. Using .NET makes the integration of applications with COM interfaces (like Excel, Access, Word, R, SciLab, MatLab, etc.) a simple task.
There are also limitless integration possibilities using the .NET Class Library. E.g.: .NET plug-ins can send custom email, send SMS, call a web service, access files, communicate with an external trade management system through the network or even receive event from an external system.
Speed up development using .NET classes and step by step debugging
.NET for AmiBroker vastly reduces the development time and saves you a lot of time. Step by step debugging helps to debug and fix bugs. The design goal was to make .NET for AmiBroker easy to use and still efficient. .NET plug-ins require no plumbing code like C/C++ plug-ins do. Developers can write .NET code as fast as writing AFL code or convert their AFL code almost line by line to C#. VB and VB script developers can write .NET plug-ins simply in VB.NET.
ParallelAB .NET library helps you to efficiently use all your hardware for extensive optimization, exploration, scanning tasks.
It lets you easily develop automation code that can drive multiple AmiBroker processes to execute different tasks using different databases even on distributed hardware.
.NET for AmiBroker and .NET plugins technology advantages and disadvantages
Advantages of .NET plugins over native plugins
You can choose your favorite .NET language! All programmable AmiBroker features can be used from .NET code using C#, VB.NET, VC.NET, F#, or any .NET language. No need to hassle with native C/C++.
Much simplifer plugin APIs. No "glue" code is needed at all. The developer can focus totally on the trading logic.
No need to hassle with AmiBroker memory allocation at all. Managed data types allocate memory automatically, they allow accessing and modifying data safely. It simply works, no memeory leaks.
Unlike native (WIN32) C/C++ plugins, compiled .NET plug-ins will always work with all newer AmiBroker releases because .NET for AmiBroker's class library is kept binary compatible! See below at "Version compatibility of .NET for AmiBroker editions"
Unlike native (WIN32) C/C++ plugins, compiled .NET plug-ins will work with x86 and x64 AmiBroker. No need to code for both platforms.
AflXCompiler allows quick and easy conversion of AFL script to C#/C++ code.
Disadvantages of .NET plugins over native plugins
Require .NET for AmiBroker as a runtime host.
Disadvantages over AFL script
Slows AmiBroker's Exploration performance. (AmiBroker plugin API has a bottleneck to be backward compatible. It is a problem for native and .NET plugins as well.)