[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [amibroker] What's in the Amibroker Developer Kit?



PureBytes Links

Trading Reference Links

Hello,

Here is an excerpt from the Guide:

Plugin interface
AmiBroker Plugin interface allows to call an external module (DLL library) directly from AFL. Such a library can expose multiple
functions that can be used in your trading systems, indicators, commentaries, scans and explorations. The plugin DLL can be created
using any C/C++ compiler, Delphi and other languages supporting creation of regular DLLs. As the code of a plug in is compiled to a
native processor machine code it runs several times faster than AFL. Also since you can use full power of C/C++ (or other) language
to build the most complex functions with ease.

In addition to exposing functions to AFL, plugin DLLs have ability to call back AFL built-in functions, directly retreive and set
AFL variables and support automatic syntax colouring of functions exposed by the plugin.

A detailed description of plugin interface and the sample code of plug in DLL are included in the AmiBroker Development Kit (ADK).
The ADK is available for registered users only (downloadable from members area).




...and excerpt from "Introduction" chapter of ADK:

1 BASICS
1.1 INTRODUCTION

AmiBroker plug-in DLLs are regular Win32 dynamic link libraries. Currently two types of plugins are supported by AmiBroker plugin
interface:

  a.. AFL plugins
  b.. Data plugins
The AFL plugins can expose unlimited number of functions to the AFL engine. The functions provided by the plugin are integrated
tightly with AFL engine so there is no difference in performance or functionality between built-in functions and the ones provided
by the plug-in.

Data plugins allow to link any external data source. The interface allows to use fast, local data sources like file-based databases
(Metastock files, ASCII files, FastTrack, Quotes Plus) as well as internet-based feeds (eSignal, myTrack, QuoteTracker). Both
end-of-day and intraday modes are supported. Data plugins also support various notifications so plugin can notify AmiBroker that new
data just arrived and AmiBroker can notify the plugin about settings change and/or user action.

The plug-ins can be created in any language that meets the following requirements:

  a.. ability to build regular API-like 32bit Windows DLL (non ActiveX/COM)
  b.. support for user defined datatypes, structures and unions
  c.. support for pointer data type, pointers to functions, calling functions by pointer
  d.. support for _cdecl calling convention
Visual C++ 6.0 was used to create all source code examples in the AmiBroker Development Kit. However you can use other development
platform and/or language. To demonstrate this AFL plugin examples include also project (.dev) files for Bloodshed DevC++ package
(http://www.bloodshed.net). DevC++ is a FREE development package that can be used to build plugins for AmiBroker. It produces
slightly larger binaries than VisualC++ but other than that it is fully compatible. To compile AFL samples just install DevC++
package and then double click on supplied .dev file, then choose Execute->Compile from DevC++ IDE.

Note to Delphi users: Delphi does not support returning 8 byte structures by register so this is an obstacle in developing plugins
in Delphi. This could be solved by little stub assembly code. Please contact me if you are interested adk@xxxxxxxxxxxxx




Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
From: "mdhuang" <mdhuang@xxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Saturday, June 07, 2003 4:45 AM
Subject: [amibroker] What's in the Amibroker Developer Kit?


> I currently use Metastock but found that its very limiting in terms
> of system development. I am a programming and like flexibility of
> writing code myself. Having heard many good things about Amibroker, I
> am trying to get more information about the Amibroker developer kit,
> but can't find any information about it on amibroker's website.
>
> Can anyone give me some information? like what languages does it
> support, what does the API look like, etc. Thanks in advance.
>
> - Mark
>
>
>
>
> Send BUG REPORTS to bugs@xxxxxxxxxxxxx
> Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
> -----------------------------------------
> Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx
> (Web page: http://groups.yahoo.com/group/amiquote/messages/)
> --------------------------------------------
> Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html
>
> Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
>
>
>


------------------------ Yahoo! Groups Sponsor ---------------------~-->
Get A Free Psychic Reading! Your Online Answer To Life's Important Questions.
http://us.click.yahoo.com/Lj3uPC/Me7FAA/ySSFAA/GHeqlB/TM
---------------------------------------------------------------------~->

Send BUG REPORTS to bugs@xxxxxxxxxxxxx
Send SUGGESTIONS to suggest@xxxxxxxxxxxxx
-----------------------------------------
Post AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx 
(Web page: http://groups.yahoo.com/group/amiquote/messages/)
--------------------------------------------
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html 

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/