.NET SDK for AmiBroker for plug-in development in C#, VB.NET, C++

About .NET for AmiBroker

.NET for AmiBroker is a SDK 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 scripts/AFL plug-ins: .NET AFL plugins can replace any AFL scripts completely or partially. AFL plug-ins can access data arrays, AFL functions, backtester objects just like an AFL script. AflXCompiler utility can translate AFL script into C#/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 price 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.
All programmable AmiBroker features can be accessed and used from .NET code using C#, VB.NET, VC.NET, F#, or any .NET language. E.g.: 
  • AFL plug-ins (indicators, filters, scanners, explorations, custom backtester modules)
  • Automated and real time trading systems
  • Data plug-ins
  • Optimizer plug-ins
  • OLE automation programs or data loading.
Unlike 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!

.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 plug-ins
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 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.