PureBytes Links
Trading Reference Links
|
John,
Metastock allows to execute formula by name.
Equivalent functionality is provided by AFL #include
Fred is writing about real functions with param passing by value.
This is different story.
As to point 3. from Fred's e-mail - it is already possible
to have as many #includes in one AFL as you like.
Best regards,
Tomasz Janeczko
amibroker.com
----- Original Message -----
From: "John R" <jr-ta@xxxxxxxxxxxxxxxxx>
To: <amibroker@xxxxxxxxxxxxxxx>
Sent: Friday, April 25, 2003 11:29 PM
Subject: Re: [amibroker] Poll results for amibroker & versatility
> Fred,
>
> Your comments about the importance of getting the basic language building
> blocks right is spot on IMO. Procedure/function calling facilities are
> pretty essential for any programming language. Even good old Metastock
> allows you to call external formulas!
>
> John
>
> ----- Original message -----
> From: "Fred Tonetti" <ftonetti@xxxxxxxxxxxxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Friday, April 25, 2003 1:59 PM
> Subject: RE: [amibroker] Poll results for amibroker & versatility
>
>
> > Herman,
> >
> > I would agree that it's about tools more than indicators per se.
> > However I consider flexibility in tools to be of premier importance and
> > although I didn't vote in the poll I do consider as part of this
> > flexibility having available, variable periodicity in "indicators"
> > and/or "functions" especially ones that are a pain to code like Linear
> > Regression and Standard Deviation etc. and especially given that
> > #INCLUDE (Reusable generic subroutines and/or functions) doesn't have
> > the needed functionality, does not always work as expected and is piggy.
> > I was interested to see that these in particular made the top of the
> > list but why StochK/D did is beyond me since those are easily enough
> > written in straight AFL with no for loops, not that for/while/if/else
> > are difficult to use but they're piggy as is #INCLUDE.
> >
> > For development of any product like AB IMHO it's the building blocks
> > that are important and the ones that allow users to make their own
> > building blocks are that much more important. A good example of this is
> > #INCLUDE which to me to be usable needs have the following associated
> > features.
> >
> > 1. Arguments (Arrays or Variables) for calculation should be able to be
> > passed to an #INCLUDE and results returned much like one can with the
> > AFL imbedded indicators.
> > 2. One should be able to call the same #INCLUDE from different places
> > in a piece of AFL passing it different arguments and getting different
> > results without it getting confused.
> > 3. One should be able to have multiple #INCLUDE's in a piece of AFL.
> > 4. One #INCLUDE should be able to have it's own #INCLUDE's
> > 5. It should run just as fast as any other piece of AFL.
> >
> > So as a simple example if one wanted to have their own FastK type
> > stochastic with variable periodicity that one could use whenever one
> > wanted with whatever inputs one wanted then one should be able to use it
> > and write it in some way like this:
> >
> > Main AFL ...
> >
> > #INCLUDE "C:\...\FastK.AFL" Array1 Array2 Array3 Array4 Array5
> >
> > Include AFL ...
> >
> > HH = HHV(Array1, Array4);
> > LL = LLV(Array2, Array4);
> > Array5 = 100 * (Array3 - Array2) / (HH - LL);
> >
> > Having the capability of simple building blocks like this allows for
> > rapid development of ones own indicators and systems without the need
> > for repetitive coding .
> >
> > For example in TradeStation ALL functions are viewable as EasyLanguage (
> > The equivalent to AFL ) even the ones that are imbedded with the product
> > so there is never a need to guess how something is calculated. For
> > example here's a standard deviation function . which in turn calls an
> > Average function. This may not be the most efficient way to write these
> > but they illustrate the point.
> >
> > {*******************************************************************
> > Description: Standard Deviation
> > ********************************************************************}
> >
> > Inputs: Price(NumericSeries), Length(NumericSimple);
> >
> > Vars: SumSqr(0), Avg(0), Counter(0);
> >
> > If Length <> 0 Then
> > Begin
> > Avg = Average(Price, Length);
> > SumSqr = 0;
> > For Counter = 0 To Length - 1
> > Begin
> > SumSqr = SumSqr + (Price[Counter] - Avg)
> > * (Price[Counter] - Avg);
> > End;
> > _StdDev = SquareRoot(SumSqr / Length);
> > End
> > Else
> > _StdDev = 0;
> >
> > {*******************************************************************
> > Description: Simple Moving Average
> > ********************************************************************}
> >
> > Inputs: Price(NumericSeries), Length(NumericSimple);
> > Variables: Sum(0), Counter(0);
> >
> > Sum = 0;
> >
> > For counter = 0 To Length - 1 Begin
> > Sum = Sum + Price[counter];
> > End;
> >
> > If Length > 0 Then
> > Average = Sum / Length
> > Else
> > Average = 0;
> >
> >
>
>
>
> 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/O10svD/Me7FAA/AG3JAA/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/
|