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

Re: [amibroker] #define directive ?



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/