The .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 covers all programmable features of AmiBroker:
- AFL plug-ins: .NET AFL plug-ins can access quotation data arrays, AFL functions, backtester objects just like any AFL script. .NET AFL plugins can replace any AFL scripts completely or partially.
- AflXCompiler is a source to source compiler utility that can compile AFL script into C# or C++ code reducing the time and cost of converting scripts to compiled code.
- Data plug-ins: .NET Data plugins provide a simpler way to collect offline or real time streaming quotation data and feed them to AmiBroker's database.
- Automation interface (OLE): Automation wrapper classes help to drive AmiBroker optimization processes from external processes written in some .NET language. ParallelAB library allows multiple instances of AmiBroker to be used in parallel to execute multiple optimization task simultaneously.
- IBController: IBController wrapper classes help to use IB trading interface from .NET code.
Advantages over native plugins:
- 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 simpler API to access and modify data and much less coding work is needed than in native (WIN32) API.
- 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!
- Unlike native (WIN32) C/C++ plugins, compiled .NET plug-ins (AnyCPU) will work with x86 and x64 AmiBroker. No need to code for both platforms.
.NET for AmiBroker for trading system licensors
.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 for data plug-in developers
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.