PureBytes Links
Trading Reference Links
|
Tomasz,
>>I have no intention to make AFL 100% the same as C/C++.<<
Okay.
Regards,
- Salil V Gangal
--- Tomasz Janeczko <amibroker@xxxxxx> wrote:
> Salil,
>
> instead of your
> #define WRITE45_EMA WriteIf ( LastValue(security) > LastValue(security45ema),
> "Price is above it 45 ema","Price is not above 45 ema");
>
> Write:
>
> function WRITE45_EMA( security, sercurity45ema )
> {
> WriteIf ( LastValue(security) > LastValue(security45ema), "Price is above it 45
> ema","Price is not above 45 ema");
> }
>
> Then you can call it many times and save typing. Functions are generally preferred
> over in-place macro expansion
> because of lack of side effects that macros have. Therefore they are way better
> for non-programmers.
> Functions in AFL also provide much better performace than macros would because
> they are parsed once.
> Macro expansion just increases the length of the code that has to be parsed and
> would slow down everything.
>
> I have no intention to make AFL 100% the same as C/C++.
> Although AFL has some similarities to C they are two different beasts. First and
> most important is that
> AFL is INTERPRETED while C is compiled. Due to this fact #define would be simply
> ineffective.
>
> Best regards,
> Tomasz Janeczko
> amibroker.com
> ----- Original Message -----
> From: Salil V Gangal
> To: amibroker@xxxxxxxxxxxxxxx
> Sent: Monday, May 19, 2003 5:51 AM
> Subject: RE: [amibroker] #define directive ?
>
>
> Graham,
>
> The #define directive allows one to write in short-hand rather than writing
> long code. The compiler substiututes the short-hand into its full form before
> executing it.
>
> As an example, say if one is writing the following again and again and again in
> the program ==>
>
> WriteIf ( LastValue(security) > LastValue(security45ema), "Price is above it 45
> ema","Price is not above 45 ema");
>
> Then one can just define the short-hand
>
> #define WRITE45_EMA WriteIf ( LastValue(security) > LastValue(security45ema),
> "Price is above it 45 ema","Price is not above 45 ema");
>
> And the within the program then one needs to write just WRITE45_EMA which will
> mean writing whole of 'WriteIf ( LastValue(security) > LastValue(security45ema),
> "Price is above it 45 ema","Price is not above 45 ema");' !
>
> This comes in very handy when one has very large code. It cuts down typing a
> lot. Languages like C, C++ support #define. Since AFL already supports #include,
> which is similar to C, C++, I am wondering if there is plan to add #define for AFL
> also ...
>
> Regards,
> - Salil V Gangal
>
> Graham <gkavanagh@xxxxxxxxxxxxx> wrote:
> What is #define represent ?
>
>
>
> Cheers,
> Graham
>
> http://groups.msn.com/ASXShareTrading
>
> http://groups.msn.com/FMSAustralia
>
> -----Original Message-----
> From: Salil V Gangal [mailto:salil_gangal@xxxxxxxxx]
> Sent: Monday, 19 May 2003 9:40 AM
> To: amibroker@xxxxxxxxxxxxxxx
> Subject: [amibroker] #define directive ?
>
>
>
> Tomasz,
>
>
>
> There is #include in AFL, but AFAIK there is no #define in AFL.
>
>
>
> Are there any plans to add #define as well ? With ever increasing length of
> AFL scripts, I'm sure that #define will cut-down lot of typing while writing AFL
> scripts.
>
>
>
>
>
> Friends,
>
>
>
> Are there any work-arounds for #define in AFL ?
>
>
>
> Regards,
>
> - Salil V Gangal
>
>
> ----------------------------------------------------------------------------
>
> Do you Yahoo!?
> The New Yahoo! Search - Faster. Easier. Bingo.
>
>
>
> 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 the Yahoo! Terms of Service.
>
>
>
>
>
> 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 the Yahoo! Terms of Service.
>
>
>
> ------------------------------------------------------------------------------
> Do you Yahoo!?
> The New Yahoo! Search - Faster. Easier. Bingo.
> Yahoo! Groups Sponsor
>
>
>
>
>
> 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 the Yahoo! Terms of Service.
>
__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com
------------------------ Yahoo! Groups Sponsor ---------------------~-->
Get A Free Psychic Reading! Your Online Answer To Life's Important Questions.
http://us.click.yahoo.com/Lj3uPC/Me7FAA/uetFAA/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/
|