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

Re: [amibroker] AmiBroker AFL Glossary project --LIFT OFF



PureBytes Links

Trading Reference Links

Hello All,
 
I just uploaded release #4 of the converter program and 3 glossary files to the AFL Library.  You can find them both by searching on the term glossary.

I have input 75 glossary entries so far.  It is not that hard, but I am sure I have made a few typos.

The AFL_Glossary_1.afl file has the AFL string functions.
The AFL_Glossary_2.afl file has the AFL operators.
The AFL_Glossary_3.afl file has the AFL keywords.

I found that it is better to have multiple entries for a single term if the term means something different depending on the context.
For instance num + num, or string + string.

I am attaching a sample (alphabetical) RTF and a TXT file to this message, if you would like to look it over for typos or other comments without actually running the program.
 
Best regards,
Dennis
{\rtf1\ansi\ansicpg1252\cocoartf949\cocoasubrtf330
{\fonttbl\f0\fswiss\fcharset0 ArialMT;\f1\fmodern\fcharset0 Courier-Bold;}
{\colortbl;\red255\green255\blue255;}
\margl0\margr0\vieww17680\viewh17140\viewkind0
\pard\tx540\tx720\tx2340\tx3060\tx3780\tx4500\li0\fi-0\ql\qnatural\pardirnatural

\f0\fs20 \cf0
\
\par B <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 !=\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric not equal to comparison\par \tab \tab ~ Returns NumArrayL not equal to NumArrayR\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Comparison Operators\par \tab\tab ~ Search Tags:\tab not,unequal,different,<>,logic,boolean,comparison,compare,relational\par \tab\tab ~ See Also:\f1\tab <,<=,>,>=,==,!=\f0\par 
 \par B <-- \tab s {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 !=\f0\b0 }}\ \b  s \b0  [AB 3.0] ~ string not equal to comparison\par \tab \tab ~ Returns stringL not equal to stringR\par \tab\tab ~ Group Tags:\tab AFL,Operators,String Operators,Comparison Operators\par \tab\tab ~ Search Tags:\tab not,unequal,different,<>,logic,boolean,comparison,compare,relational,string\par \tab\tab ~ See Also:\f1\tab <,<=,>,>=,==,!=\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 %\f0\b0 }}\ \b  N \b0  [AB 3.7] ~ Numeric modulus\par \tab \tab ~ Returns the remainder of NumArrayL divided by NumArrayR\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators\par \tab\tab ~ Search Tags:\tab division,divide,modulo,modulus,remainder,fraction,arithmetic,math\par \tab\tab ~ See Also:\f1\tab +,-,*,%=,^\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 %=\f0\b0 }}\ \b  N \b0  [AB 5.0] ~ Numeric Modulus Assignment\par \tab \tab ~ Shortcut for arrayL = arrayL % arrayR\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Assignment Operators\par \tab\tab ~ Search Tags:\tab assignment,division,divide,modulo,modulus,remainder,fraction,arithmetic,math\par \tab\tab ~ See Also:\f1\tab +,-,*,%,^\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 &\f0\b0 }}\ \b  N \b0  [AB 4.1] ~ 32-bit AND\par \tab \tab ~ Returns "1" bits if both NumArrayL AND NumArrayR have "1" bits\par \tab\tab ~ Group Tags:\tab AFL,Operators,Logical Operators\par \tab\tab ~ Search Tags:\tab AND,both,logic,bit,mask,clear,boolean\par \tab\tab ~ See Also:\f1\tab NOT,OR,&=,|,|=\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 &=\f0\b0 }}\ \b  N \b0  [AB 5.0] ~ 32-bit AND Assignment\par \tab \tab ~ Shortcut for NumArrayL = NumarrayL & NumArrayR\par \tab\tab ~ Group Tags:\tab AFL,Operators,Logical Operators,Assignment Operators\par \tab\tab ~ Search Tags:\tab assignment,AND,both,logic,bit,mask,clear,boolean\par \tab\tab ~ See Also:\f1\tab NOT,OR,&,|,|=\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 *\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric multiplication\par \tab \tab ~ Returns the product of two numeric arrays\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators\par \tab\tab ~ Search Tags:\tab multiplication,multiply,product,factor,times,arithmetic,math\par \tab\tab ~ See Also:\f1\tab +,-,*=,/,%,^\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 *=\f0\b0 }}\ \b  N \b0  [AB 5.0] ~ Numeric multiplication assignment\par \tab \tab ~ Shortcut for array1 = array1 * array2\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Assignment Operators\par \tab\tab ~ Search Tags:\tab assignment,multiplication,multiply,product,factor,times,arithmetic,math\par \tab\tab ~ See Also:\f1\tab +,-,*,/,%,^\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 +\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric addition\par \tab \tab ~ Returns the sum of two numeric arrays\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators\par \tab\tab ~ Search Tags:\tab addition,plus,arithmetic,math\par \tab\tab ~ See Also:\f1\tab +,-,*,/,%,^\f0\par 
 \par s <-- \tab s {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 +\f0\b0 }}\ \b  s \b0  [AB 3.0] ~ String Concatenation\par \tab \tab ~ Returns the concatenation of two strings\par \tab\tab ~ Group Tags:\tab AFL,Operators,String Operators\par \tab\tab ~ Search Tags:\tab concatenation,plus,string,merge\par \tab\tab ~ See Also:\f1\tab +,+=\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 ++\f0\b0 }}\ \b \b0  [AB 3.0] ~ Numeric Post Increment Assignment\par \tab \tab ~ Returns NumArray, then increments it\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Assignment Operators\par \tab\tab ~ Search Tags:\tab assignment,addition,increment,post,plus,arithmetic,math\par \tab\tab ~ See Also:\f1\tab =,+=,++,--\f0\par 
 \par N <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 ++\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric Increment Assignment\par \tab \tab ~ Returns NumArray += 1\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Assignment Operators\par \tab\tab ~ Search Tags:\tab assignment,addition,increment,pre,plus,arithmetic,math\par \tab\tab ~ See Also:\f1\tab =,+=,++,--\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 +=\f0\b0 }}\ \b  N \b0  [AB 5.0] ~ Numeric Summation\par \tab \tab ~ Shortcut for array1 = array1 + array2\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Assignment Operators\par \tab\tab ~ Search Tags:\tab assignment,addition,plus,arithmetic,math\par \tab\tab ~ See Also:\f1\tab =,+=,-=,*=,/=,%=,&=,|=,\f0\par 
 \par s <-- \tab s {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 +=\f0\b0 }}\ \b  s \b0  [AB 5.0] ~ String Concatenation Assignment\par \tab \tab ~ Shortcut for string1 = string1 + string2\par \tab\tab ~ Group Tags:\tab AFL,Operators,String Operators,Assignment Operators\par \tab\tab ~ Search Tags:\tab concatenation,plus,string,merge,assignment\par \tab\tab ~ See Also:\f1\tab +,+=\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 -\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric subtraction\par \tab \tab ~ Returns the difference of two numeric arrays\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators\par \tab\tab ~ Search Tags:\tab subtraction,minus,negative,arithmetic,math\par \tab\tab ~ See Also:\f1\tab -,-=,+,*,/,%,^\f0\par 
 \par N <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 -\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric negation\par \tab \tab ~ Returns 0 - numArray\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators\par \tab\tab ~ Search Tags:\tab minus,negative,negation,arithmetic,math\par \tab\tab ~ See Also:\f1\tab -,-=,+,*,/,%,^\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 --\f0\b0 }}\ \b \b0  [AB 3.0] ~ Numeric Post Decrement Assignment\par \tab \tab ~ Returns NumArray, then decrements it\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Assignment Operators\par \tab\tab ~ Search Tags:\tab assignment,decrement,subtraction,post,minus,arithmetic,math\par \tab\tab ~ See Also:\f1\tab =,-=,--,++\f0\par 
 \par N <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 --\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric Dencrement Assignment\par \tab \tab ~ Returns NumArray -= 1\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Assignment Operators\par \tab\tab ~ Search Tags:\tab assignment,decrement,subtraction,pre,minus,arithmetic,math\par \tab\tab ~ See Also:\f1\tab =,-=,--,++\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 /\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric division\par \tab \tab ~ Returns the result of NumArrayL divided by NumArrayR\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators\par \tab\tab ~ Search Tags:\tab division,divide,arithmetic,math\par \tab\tab ~ See Also:\f1\tab +,-,*,/=,%,^\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 /=\f0\b0 }}\ \b  N \b0  [AB 5.0] ~ Numeric division assignment\par \tab \tab ~ Shortcut for NumArrayL = NumArrayL / NumArrayR\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Assignment Operators\par \tab\tab ~ Search Tags:\tab assignment,division,divide,arithmetic,math\par \tab\tab ~ See Also:\f1\tab +,-,*,/,%,^\f0\par 
 \par B <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 <\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric less than comparison\par \tab \tab ~ Returns NumArrayL less-than NumArrayR\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Comparison Operators\par \tab\tab ~ Search Tags:\tab less,smaller,logic,boolean,comparison,compare,relational\par \tab\tab ~ See Also:\f1\tab <,<=,>,>=,==,!=\f0\par 
 \par B <-- \tab s {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 <\f0\b0 }}\ \b  s \b0  [AB 3.0] ~ string less than comparison\par \tab \tab ~ Returns stringL less-than stringR\par \tab\tab ~ Group Tags:\tab AFL,Operators,String Operators,Comparison Operators\par \tab\tab ~ Search Tags:\tab less,smaller,logic,boolean,comparison,compare,relational,string\par \tab\tab ~ See Also:\f1\tab <,<=,>,>=,==,!=\f0\par 
 \par B <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 <=\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric less than or equal comparison\par \tab \tab ~ Returns NumArrayL less than or equal to NumArrayR\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Comparison Operators\par \tab\tab ~ Search Tags:\tab less,smaller,equal,logic,boolean,comparison,compare,relational\par \tab\tab ~ See Also:\f1\tab <,<=,>,>=,==,!=\f0\par 
 \par B <-- \tab s {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 <=\f0\b0 }}\ \b  s \b0  [AB 3.0] ~ string less than or equal comparison\par \tab \tab ~ Returns stringL less than or equal to stringR\par \tab\tab ~ Group Tags:\tab AFL,Operators,String Operators,Comparison Operators\par \tab\tab ~ Search Tags:\tab less,smaller,equal,logic,boolean,comparison,compare,relational,string\par \tab\tab ~ See Also:\f1\tab <,<=,>,>=,==,!=\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 =\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric assignment\par \tab \tab ~ Returns the assigned value\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Assignment Operators\par \tab\tab ~ Search Tags:\tab assignment,equal,save,math\par \tab\tab ~ See Also:\f1\tab =,+=,-=,*=,/=,%=,&=,|=\f0\par 
 \par s <-- \tab s {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 =\f0\b0 }}\ \b  s \b0  [AB 3.0] ~ string assignment\par \tab \tab ~ Returns the assigned string\par \tab\tab ~ Group Tags:\tab AFL,Operators,String Operators,Assignment Operators\par \tab\tab ~ Search Tags:\tab assignment,equal,save,string\par \tab\tab ~ See Also:\f1\tab =,+=\f0\par 
 \par B <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 ==\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric equal to comparison\par \tab \tab ~ Returns NumArrayL equal to NumArrayR\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Comparison Operators\par \tab\tab ~ Search Tags:\tab equal,same,logic,boolean,comparison,compare,relational\par \tab\tab ~ See Also:\f1\tab <,<=,>,>=,==,!=\f0\par 
 \par B <-- \tab s {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 ==\f0\b0 }}\ \b  s \b0  [AB 3.0] ~ string equal to comparison\par \tab \tab ~ Returns stringL equal to stringR\par \tab\tab ~ Group Tags:\tab AFL,Operators,String Operators,Comparison Operators\par \tab\tab ~ Search Tags:\tab equal,same,logic,boolean,comparison,compare,relational,string\par \tab\tab ~ See Also:\f1\tab <,<=,>,>=,==,!=\f0\par 
 \par B <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 >\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric greater than comparison\par \tab \tab ~ Returns NumArrayL greater than NumArrayR\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Comparison Operators\par \tab\tab ~ Search Tags:\tab greater,more,larger,logic,boolean,comparison,compare,relational\par \tab\tab ~ See Also:\f1\tab <,<=,>,>=,==,!=\f0\par 
 \par B <-- \tab s {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 >\f0\b0 }}\ \b  s \b0  [AB 3.0] ~ string greater than comparison\par \tab \tab ~ Returns stringL greater than stringR\par \tab\tab ~ Group Tags:\tab AFL,Operators,String Operators,Comparison Operators\par \tab\tab ~ Search Tags:\tab greater,more,larger,logic,boolean,comparison,compare,relational,string\par \tab\tab ~ See Also:\f1\tab <,<=,>,>=,==,!=\f0\par 
 \par B <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 >=\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric greater than or equal to comparison\par \tab \tab ~ Returns NumArrayL greater than or equal to NumArrayR\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators,Comparison Operators\par \tab\tab ~ Search Tags:\tab greater,more,larger,equal,logic,boolean,comparison,compare,relational\par \tab\tab ~ See Also:\f1\tab <,<=,>,>=,==,!=\f0\par 
 \par B <-- \tab s {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 >=\f0\b0 }}\ \b  s \b0  [AB 3.0] ~ string greater than or equal to comparison\par \tab \tab ~ Returns stringL greater than or equal to stringR\par \tab\tab ~ Group Tags:\tab AFL,Operators,String Operators,Comparison Operators\par \tab\tab ~ Search Tags:\tab greater,more,larger,equal,logic,boolean,comparison,compare,relational,string\par \tab\tab ~ See Also:\f1\tab <,<=,>,>=,==,!=\f0\par 
 \par n <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 [\f0\b0 }}\ \b  n  ] \b0  [AB 3.0] ~ Numeric Array [ element ]\par \tab \tab ~ Returns the [ specified ] numeric array element\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators\par \tab\tab ~ Search Tags:\tab array,element,index,select,specify,subscript\par \tab\tab ~ See Also:\f1\tab Array\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 ^\f0\b0 }}\ \b  N \b0  [AB 3.0] ~ Numeric Exponentiation\par \tab \tab ~ Returns NumArrayL raised to the power of NumArrayR\par \tab\tab ~ Group Tags:\tab AFL,Operators,Numeric Operators\par \tab\tab ~ Search Tags:\tab exponentiation,exponent,power,root,arithmetic,math\par \tab\tab ~ See Also:\f1\tab +,-,*,%\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK ""}}{\fldrslt \f1\b\fs24 AFL\f0\b0 }}\ \b \b0  ~ AmiBroker Formula Language\par \tab \tab ~ Abbreviation for AmiBroker Formula Language\par \tab\tab ~ Group Tags:\tab AFL\par \tab\tab ~ See Also:\f1\tab AmiBroker Formula Language\f0\par 
 \par B <-- \tab B {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 AND\f0\b0 }}\ \b  B \b0  [AB 3.0] ~ Boolean AND\par \tab \tab ~ Returns True if both BoolArrayL AND BoolArrayR are True\par \tab\tab ~ Group Tags:\tab AFL,Operators,Logical Operators\par \tab\tab ~ Search Tags:\tab AND,both,logic,boolean\par \tab\tab ~ See Also:\f1\tab NOT,OR,&,&=,|,|=\f0\par 
 \par n <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?asc"}}{\fldrslt \f1\b\fs24 Asc\f0\b0 }}\ ( \b String, CharacterPosition=0 )\b0  [AB 4.8] ~ get ASCII code of character\par \tab \tab ~ Returns the ASCII code number for a text character\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation,Type Conversions\par \tab\tab ~ Search Tags:\tab ASCII,character,convert,code\par \tab\tab ~ ASCII Defined:\tab http://en.wikipedia.org/wiki/ASCII\par \tab\tab ~ ASCII Table:\tab http://www.asciitable.com\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/break.html"}}{\fldrslt \f1\b\fs24 break\f0\b0 }}\ \b  ;  \b0  [AB x.x] ~ Break out of innermost loop\par \tab \tab ~ Immediately exit any type of loop \par \tab\tab ~ Group Tags:\tab AFL,Flow Control,Loop Operators\par \tab\tab ~ Search Tags:\tab repeat,looping,loop,flow,control\par \tab\tab ~ See Also:\f1\tab do,while,for,switch\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/break.html"}}{\fldrslt \f1\b\fs24 break\f0\b0 }}\ \b  ;  \b0  [AB x.x] ~ Break out of switch-case\par \tab \tab ~ Immediately exit a switch-case structure \par \tab\tab ~ Group Tags:\tab AFL,Flow Control,Conditional Operators\par \tab\tab ~ Search Tags:\tab skip,flow,control\par \tab\tab ~ See Also:\f1\tab do,while,for,switch\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/case.html"}}{\fldrslt \f1\b\fs24 case\f0\b0 }}\ \b  expression: statement; \b0  [AB x.x] ~ Case part of a switch-case structure\par \tab \tab ~ Execute statement if case expression matches the switch expression value\par \tab\tab ~ Group Tags:\tab AFL,Flow Control,Conditional Operators\par \tab\tab ~ Search Tags:\tab condition,skip,flow,control\par \tab\tab ~ See Also:\f1\tab if,else,break,default,switch\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/continue.html"}}{\fldrslt \f1\b\fs24 continue\f0\b0 }}\ \b  ;  \b0  [AB x.x] ~ Continue with next loop iteration\par \tab \tab ~ Immediately begin next iteration of any type of loop \par \tab\tab ~ Group Tags:\tab AFL,Flow Control,Loop Operators\par \tab\tab ~ Search Tags:\tab repeat,looping,loop,flow,control\par \tab\tab ~ See Also:\f1\tab do,while,for,break\f0\par 
 \par s <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?DateTimeToStr"}}{\fldrslt \f1\b\fs24 DateTimeToStr\f0\b0 }}\ ( \b DateTime )\b0  [AB 4.8] ~ convert datetime to string\par \tab \tab ~ Returns a text representation of the datetime number\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation,Type Conversions,Date and Time\par \tab\tab ~ Search Tags:\tab datetime,date,time,convert\par \tab\tab ~ See Also:\f1\tab StrToDateTime(),Now(),DateTime(),TimeNum(),Date()\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/default.html"}}{\fldrslt \f1\b\fs24 default\f0\b0 }}\ \b  statement; \b0  [AB x.x] ~ Default part of a switch-case-default structure\par \tab \tab ~ Execute statement unconditionally\par \tab\tab ~ Group Tags:\tab AFL,Flow Control,Conditional Operators\par \tab\tab ~ Search Tags:\tab default,skip,flow,control\par \tab\tab ~ See Also:\f1\tab if,else,break,case,switch\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/do.html"}}{\fldrslt \f1\b\fs24 do\f0\b0 }}\ \b  statement; while ( expression ); \b0  [AB x.x] ~ Begin a do-while loop\par \tab \tab ~ Execute statement while expression is True \par \tab\tab ~ Group Tags:\tab AFL,Flow Control,Conditional Operators,Loop Operators\par \tab\tab ~ Search Tags:\tab repeat,looping,loop,condition,flow,control\par \tab\tab ~ See Also:\f1\tab while,break,continue\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/else.html"}}{\fldrslt \f1\b\fs24 else\f0\b0 }}\ \b  statement; \b0  [AB 4.4] ~ Else Conditional Execution part of if...else\par \tab \tab ~ Execute statement if ( condition ) is False\par \tab\tab ~ Group Tags:\tab AFL,Flow Control,Conditional Operators\par \tab\tab ~ Search Tags:\tab if,skip,condition,flow,control\par \tab\tab ~ See Also:\f1\tab if\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/function.html"}}{\fldrslt \f1\b\fs24 function\f0\b0 }}\ \b  Name( arguments ) \{ statements; return expression; \} \b0  [AB x.x] ~ Define a new function\par \tab \tab ~ Define a new function \par \tab\tab ~ Group Tags:\tab AFL,Flow Control\par \tab\tab ~ Search Tags:\tab define,subroutine,flow,control\par \tab\tab ~ See Also:\f1\tab return,procedure\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/global.html"}}{\fldrslt \f1\b\fs24 global\f0\b0 }}\ \b  name, optional-name, ... ; \b0  [AB 4.36] ~ Force global scope\par \tab \tab ~ Forces global scope of a variable first used inside a function or procedure \par \tab\tab ~ Group Tags:\tab AFL,Flow Control\par \tab\tab ~ Search Tags:\tab define,subroutine,flow,control,scope,variable,control\par \tab\tab ~ See Also:\f1\tab procedure,function\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/if.html"}}{\fldrslt \f1\b\fs24 if\f0\b0 }}\ \b  ( condition ) statement; \b0  [AB 4.4] ~ Conditional Execution\par \tab \tab ~ Execute statement if ( condition ) is True\par \tab\tab ~ Group Tags:\tab AFL,Flow Control,Conditional Operators\par \tab\tab ~ Search Tags:\tab if,skip,condition,flow,control\par \tab\tab ~ See Also:\f1\tab if,else\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/if.html"}}{\fldrslt \f1\b\fs24 if\f0\b0 }}\ \b  ( condition ) statement1; else statement2; \b0  [AB 4.4] ~ Conditional Execution\par \tab \tab ~ Conditionaly execute statement1 or statement2 \par \tab\tab ~ Group Tags:\tab AFL,Flow Control,Conditional Operators\par \tab\tab ~ Search Tags:\tab if,else,skip,condition,flow,control\par \tab\tab ~ See Also:\f1\tab else\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/local.html"}}{\fldrslt \f1\b\fs24 local\f0\b0 }}\ \b  name, optional-name, ... ; \b0  [AB 4.36] ~ Force local scope\par \tab \tab ~ Forces local scope of a variable used inside a function or procedure \par \tab\tab ~ Group Tags:\tab AFL,Flow Control\par \tab\tab ~ Search Tags:\tab define,subroutine,flow,control,scope,variable,control\par \tab\tab ~ See Also:\f1\tab procedure,function\f0\par 
 \par B <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 NOT\f0\b0 }}\ \b  B \b0  [AB 3.0] ~ Boolean Negate\par \tab \tab ~ Returns True if False\par \tab\tab ~ Group Tags:\tab AFL,Operators,Logical Operators\par \tab\tab ~ Search Tags:\tab not,invert,negative,negate,logic,boolean\par \tab\tab ~ See Also:\f1\tab AND,OR,&,&=,|,|=\f0\par 
 \par s <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?NumToStr"}}{\fldrslt \f1\b\fs24 NumToStr\f0\b0 }}\ ( \b NumArray, Format=1.3, Separator=True )\b0  [AB 4.5] ~ convert number to string\par \tab \tab ~ Returns a text representation of a number or one element of an array\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation,Type Conversions,Date and Time\par \tab\tab ~ Search Tags:\tab datetime,date,time,convert,format\par \tab\tab ~ See Also:\f1\tab StrToDateTime(),Now(),DateTime(),TimeNum(),Date(),StrToNum(),WriteVal()\f0\par 
 \par B <-- \tab B {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 OR\f0\b0 }}\ \b  B \b0  [AB 3.0] ~ Boolean OR\par \tab \tab ~ Returns True if either BoolArrayL OR BoolArrayR are True\par \tab\tab ~ Group Tags:\tab AFL,Operators,Logical Operators\par \tab\tab ~ Search Tags:\tab OR,either,logic,boolean\par \tab\tab ~ See Also:\f1\tab NOT,OR,&,&=,|,|=\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?StrFormat"}}{\fldrslt \f1\b\fs24 printf\f0\b0 }}\ ( \b formatString, OptionalValue, ... )\b0  [AB 4.5] ~ print formatted output\par \tab \tab ~ write formatted output to commentary or interpretation window\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation,Type Conversions\par \tab\tab ~ Search Tags:\tab convert,print,format\par \tab\tab ~ See Also:\f1\tab StrFormat()\f0\par \tab\tab ~ Printf Defined:\tab http://en.wikipedia.org/wiki/Printf\par \tab\tab ~ C++ Format String Spec:\tab http://www.cplusplus.com/reference/clibrary/cstdio/printf.html\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/procedure.html"}}{\fldrslt \f1\b\fs24 procedure\f0\b0 }}\ \b  Name( arguments ) \{ statements; \} \b0  [AB x.x] ~ Define a new procedure\par \tab \tab ~ Define a new procedure \par \tab\tab ~ Group Tags:\tab AFL,Flow Control\par \tab\tab ~ Search Tags:\tab define,subroutine,flow,control\par \tab\tab ~ See Also:\f1\tab Function\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/return.html"}}{\fldrslt \f1\b\fs24 return\f0\b0 }}\ \b  expression; \b0  [AB x.x] ~ Return a value from a function\par \tab \tab ~ Last statement of a function to return a value \par \tab\tab ~ Group Tags:\tab AFL,Flow Control\par \tab\tab ~ Search Tags:\tab define,subroutine,flow,control\par \tab\tab ~ See Also:\f1\tab procedure\f0\par 
 \par s <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?StrExtract"}}{\fldrslt \f1\b\fs24 StrExtract\f0\b0 }}\ ( \b list, item )\b0  [AB 4.4] ~ get item from CSV string\par \tab \tab ~ Returns one item from a comma separated list\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation\par \tab\tab ~ Search Tags:\tab find,extract,CSV,comma separated,list,item\par \tab\tab ~ See Also:\f1\tab CategoryGetSymbols(),StrMid()\f0\par 
 \par n <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?StrFind"}}{\fldrslt \f1\b\fs24 StrFind\f0\b0 }}\ ( \b string, substring )\b0  [AB 4.5] ~ find substring in a string\par \tab \tab ~ Returns character index of substring in a string\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation\par \tab\tab ~ Search Tags:\tab find,extract,list,item\par \tab\tab ~ See Also:\f1\tab StrExtract(),StrReplace(),StrMid()\f0\par 
 \par s <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?StrFormat"}}{\fldrslt \f1\b\fs24 StrFormat\f0\b0 }}\ ( \b formatString, OptionalValue, ... )\b0  [AB 4.5] ~ write formatted output to string\par \tab \tab ~ Returns a formatted string from format and optional values\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation,Type Conversions\par \tab\tab ~ Search Tags:\tab convert,format\par \tab\tab ~ See Also:\f1\tab printf()\f0\par \tab\tab ~ Printf Defined:\tab http://en.wikipedia.org/wiki/Printf\par \tab\tab ~ C++ Format String Spec:\tab http://www.cplusplus.com/reference/clibrary/cstdio/printf.html\par 
 \par s <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?StrLeft"}}{\fldrslt \f1\b\fs24 StrLeft\f0\b0 }}\ ( \b string, charCount )\b0  [AB 4.0] ~ extracts left part of a string\par \tab \tab ~ Returns the first portion of a string\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation\par \tab\tab ~ Search Tags:\tab extract,left,first,substring\par \tab\tab ~ See Also:\f1\tab StrFind(),StrExtract(),StrMid(),StrRight(),StrLen(),StrReplace()\f0\par 
 \par n <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?StrLen"}}{\fldrslt \f1\b\fs24 StrLen\f0\b0 }}\ ( \b string )\b0  [AB 3.5] ~ get string length\par \tab \tab ~ Returns the number of characters in a string\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation\par \tab\tab ~ Search Tags:\tab extract,right,last,left,first,middle,substring\par \tab\tab ~ See Also:\f1\tab StrFind(),StrExtract(),StrMid(),StrLeft(),StrLen(),StrReplace()\f0\par 
 \par s <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?StrMid"}}{\fldrslt \f1\b\fs24 StrMid\f0\b0 }}\ ( \b string, startChar, charCount )\b0  [AB 4.0] ~ extracts substring from a string\par \tab \tab ~ Returns a substring of a string\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation\par \tab\tab ~ Search Tags:\tab extract,middle,substring\par \tab\tab ~ See Also:\f1\tab StrFind(),StrExtract(),StrLeft(),StrRight(),StrLen(),StrReplace()\f0\par 
 \par s <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?StrReplace"}}{\fldrslt \f1\b\fs24 StrReplace\f0\b0 }}\ ( \b oldSubstring, newSubstring )\b0  [AB 4.9] ~ replaces substring in a string\par \tab \tab ~ Returns a string with all substrings replaced with a new substring\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation\par \tab\tab ~ Search Tags:\tab find,replace,edit,change\par \tab\tab ~ See Also:\f1\tab StrFind()\f0\par 
 \par s <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?StrRight"}}{\fldrslt \f1\b\fs24 StrRight\f0\b0 }}\ ( \b string, charCount )\b0  [AB 4.0] ~ extracts right part of a string\par \tab \tab ~ Returns the last portion of a string\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation\par \tab\tab ~ Search Tags:\tab extract,right,last,substring\par \tab\tab ~ See Also:\f1\tab StrFind(),StrExtract(),StrMid(),StrLeft(),StrLen(),StrReplace()\f0\par 
 \par d <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?StrToDateTime"}}{\fldrslt \f1\b\fs24 StrToDateTime\f0\b0 }}\ ( \b DateTimeText )\b0  [AB 4.8] ~ convert string to datetime\par \tab \tab ~ Returns datetime number from a text representation of the Date/Time\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation,Type Conversions,Date and Time\par \tab\tab ~ Search Tags:\tab datetime,date,time,convert\par \tab\tab ~ See Also:\f1\tab DateTimeToStr(),Now(),DateTime(),TimeNum(),Date()\f0\par 
 \par s <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?StrToLower"}}{\fldrslt \f1\b\fs24 StrToLower\f0\b0 }}\ ( \b string )\b0  [AB 4.8] ~ converts a string to lowercase\par \tab \tab ~ Returns the lowercase version of a string\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation\par \tab\tab ~ Search Tags:\tab convert,lowercase,uppercase\par \tab\tab ~ See Also:\f1\tab StrToUpper(),StrReplace()\f0\par 
 \par n <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?StrToNum"}}{\fldrslt \f1\b\fs24 StrToNum\f0\b0 }}\ ( \b numberStr )\b0  [AB 4.5] ~ convert string to number\par \tab \tab ~ Returns a number from a text representation of a number\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation,Type Conversions\par \tab\tab ~ Search Tags:\tab convert,number\par \tab\tab ~ See Also:\f1\tab StrToDateTime(),WriteVal()\f0\par 
 \par s <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?StrToUpper"}}{\fldrslt \f1\b\fs24 StrToUpper\f0\b0 }}\ ( \b string )\b0  [AB 4.8] ~ converts a string to uppercase\par \tab \tab ~ Returns the uppercase version of a string\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation\par \tab\tab ~ Search Tags:\tab convert,lowercase,uppercase\par \tab\tab ~ See Also:\f1\tab StrToLower(),StrReplace()\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/switch.html"}}{\fldrslt \f1\b\fs24 switch\f0\b0 }}\ \b  ( expression ) \{ case match-expression: statement; ...; default: statement; \} \b0  [AB x.x] ~ Start a switch-case conditional execution structure\par \tab \tab ~ Execute any statement where match_expression matches the switch expression value\par \tab\tab ~ Group Tags:\tab AFL,Flow Control,Conditional Operators\par \tab\tab ~ Search Tags:\tab condition,skip,flow,control\par \tab\tab ~ See Also:\f1\tab if,else,break,default,case\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/do.html"}}{\fldrslt \f1\b\fs24 while\f0\b0 }}\ \b  ( expression ); \b0  [AB x.x] ~ Conditionally End a do-while loop\par \tab \tab ~ End a do loop if expression is False \par \tab\tab ~ Group Tags:\tab AFL,Flow Control,Conditional Operators,Loop Operators\par \tab\tab ~ Search Tags:\tab repeat,looping,loop,condition,flow,control\par \tab\tab ~ See Also:\f1\tab while,break,continue\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/keyword/while.html"}}{\fldrslt \f1\b\fs24 while\f0\b0 }}\ \b  ( expression ) statement;  \b0  [AB x.x] ~ Begin while loop\par \tab \tab ~ Conditionally execute statement while expression is True \par \tab\tab ~ Group Tags:\tab AFL,Flow Control,Conditional Operators,Loop Operators\par \tab\tab ~ Search Tags:\tab repeat,looping,loop,condition,flow,control\par \tab\tab ~ See Also:\f1\tab while,break,continue\f0\par 
 \par s <-- \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/f?WriteVal"}}{\fldrslt \f1\b\fs24 WriteVal\f0\b0 }}\ ( \b NumArray, Format=1.3, Separator=True )\b0  [AB x.x] ~ convert array or number to string --Synonym\par \tab \tab ~ Synonym for NumToStr()\par \tab\tab ~ Group Tags:\tab AFL,Functions,String manipulation,Type Conversions,Date and Time\par \tab\tab ~ See Also:\f1\tab NumToStr()\f0\par 
 \par      \tab {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 \{\f0\b0 }}\ \b  optional-statement; optional-statement; ...; \} \b0  [AB x.x] ~ Compound Statement\par \tab \tab ~ Group multiple statements into one statement\par \tab\tab ~ Group Tags:\tab AFL,Flow Control,Conditional Operators\par \tab\tab ~ Search Tags:\tab multiple,compound,statement,flow,control\par \tab\tab ~ See Also:\f1\tab if,else,do,while,for,switch,case,function,procedure\f0\par 
 \par B <-- \tab B {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 |\f0\b0 }}\ \b  B \b0  [AB 4.1] ~ 32-bit OR\par \tab \tab ~ Returns "1" bits if either NumArrayL OR NumArrayR have "1" bits\par \tab\tab ~ Group Tags:\tab AFL,Operators,Logical Operators\par \tab\tab ~ Search Tags:\tab OR,either,logic,bit,mask,set,boolean\par \tab\tab ~ See Also:\f1\tab NOT,OR,&,&=,|=\f0\par 
 \par N <-- \tab N {\field{\*\fldinst{HYPERLINK "http://www.amibroker.com/guide/a_language.html"}}{\fldrslt \f1\b\fs24 |=\f0\b0 }}\ \b  N \b0  [AB 5.0] ~ 32-bit OR Assignment\par \tab \tab ~ Shortcut for NumArrayL = NumarrayL | NumArrayR\par \tab\tab ~ Group Tags:\tab AFL,Operators,Logical Operators,Assignment Operators\par \tab\tab ~ Search Tags:\tab assignment,OR,either,logic,bit,mask,set,boolean\par \tab\tab ~ See Also:\f1\tab NOT,OR,&,&=,|\f0\par 
 }
 BoolArray <-- NumArrayL != NumArrayR  [AB 3.0] ~ Numeric not equal to comparison
        ~ Returns NumArrayL not equal to NumArrayR
        ~ Group Tags:   AFL,Operators,Numeric Operators,Comparison Operators
        ~ Search Tags:  not,unequal,different,<>,logic,boolean,comparison,compare,relational
        ~ See Also:     <,<=,>,>=,==,!=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 BoolArray <-- stringL != stringR  [AB 3.0] ~ string not equal to comparison
        ~ Returns stringL not equal to stringR
        ~ Group Tags:   AFL,Operators,String Operators,Comparison Operators
        ~ Search Tags:  not,unequal,different,<>,logic,boolean,comparison,compare,relational,string
        ~ See Also:     <,<=,>,>=,==,!=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArrayL % NumArrayR  [AB 3.7] ~ Numeric modulus
        ~ Returns the remainder of NumArrayL divided by NumArrayR
        ~ Group Tags:   AFL,Operators,Numeric Operators
        ~ Search Tags:  division,divide,modulo,modulus,remainder,fraction,arithmetic,math
        ~ See Also:     +,-,*,%=,^
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArrayL %= NumArrayR  [AB 5.0] ~ Numeric Modulus Assignment
        ~ Shortcut for arrayL = arrayL % arrayR
        ~ Group Tags:   AFL,Operators,Numeric Operators,Assignment Operators
        ~ Search Tags:  assignment,division,divide,modulo,modulus,remainder,fraction,arithmetic,math
        ~ See Also:     +,-,*,%,^
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArrayL & NumArrayR  [AB 4.1] ~ 32-bit AND
        ~ Returns "1" bits if both NumArrayL AND NumArrayR have "1" bits
        ~ Group Tags:   AFL,Operators,Logical Operators
        ~ Search Tags:  AND,both,logic,bit,mask,clear,boolean
        ~ See Also:     NOT,OR,&=,|,|=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArrayL &= NumArrayR  [AB 5.0] ~ 32-bit AND Assignment
        ~ Shortcut for NumArrayL = NumarrayL & NumArrayR
        ~ Group Tags:   AFL,Operators,Logical Operators,Assignment Operators
        ~ Search Tags:  assignment,AND,both,logic,bit,mask,clear,boolean
        ~ See Also:     NOT,OR,&,|,|=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArray * NumArray  [AB 3.0] ~ Numeric multiplication
        ~ Returns the product of two numeric arrays
        ~ Group Tags:   AFL,Operators,Numeric Operators
        ~ Search Tags:  multiplication,multiply,product,factor,times,arithmetic,math
        ~ See Also:     +,-,*=,/,%,^
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArray *= NumArray  [AB 5.0] ~ Numeric multiplication assignment
        ~ Shortcut for array1 = array1 * array2
        ~ Group Tags:   AFL,Operators,Numeric Operators,Assignment Operators
        ~ Search Tags:  assignment,multiplication,multiply,product,factor,times,arithmetic,math
        ~ See Also:     +,-,*,/,%,^
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArray + NumArray  [AB 3.0] ~ Numeric addition
        ~ Returns the sum of two numeric arrays
        ~ Group Tags:   AFL,Operators,Numeric Operators
        ~ Search Tags:  addition,plus,arithmetic,math
        ~ See Also:     +,-,*,/,%,^
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 string <-- string + string  [AB 3.0] ~ String Concatenation
        ~ Returns the concatenation of two strings
        ~ Group Tags:   AFL,Operators,String Operators
        ~ Search Tags:  concatenation,plus,string,merge
        ~ See Also:     +,+=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArray ++ [AB 3.0] ~ Numeric Post Increment Assignment
        ~ Returns NumArray, then increments it
        ~ Group Tags:   AFL,Operators,Numeric Operators,Assignment Operators
        ~ Search Tags:  assignment,addition,increment,post,plus,arithmetic,math
        ~ See Also:     =,+=,++,--
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- ++ NumArray  [AB 3.0] ~ Numeric Increment Assignment
        ~ Returns NumArray += 1
        ~ Group Tags:   AFL,Operators,Numeric Operators,Assignment Operators
        ~ Search Tags:  assignment,addition,increment,pre,plus,arithmetic,math
        ~ See Also:     =,+=,++,--
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArray += NumArray  [AB 5.0] ~ Numeric Summation
        ~ Shortcut for array1 = array1 + array2
        ~ Group Tags:   AFL,Operators,Numeric Operators,Assignment Operators
        ~ Search Tags:  assignment,addition,plus,arithmetic,math
        ~ See Also:     =,+=,-=,*=,/=,%=,&=,|=,
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 string <-- string += string  [AB 5.0] ~ String Concatenation Assignment
        ~ Shortcut for string1 = string1 + string2
        ~ Group Tags:   AFL,Operators,String Operators,Assignment Operators
        ~ Search Tags:  concatenation,plus,string,merge,assignment
        ~ See Also:     +,+=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArray - NumArray  [AB 3.0] ~ Numeric subtraction
        ~ Returns the difference of two numeric arrays
        ~ Group Tags:   AFL,Operators,Numeric Operators
        ~ Search Tags:  subtraction,minus,negative,arithmetic,math
        ~ See Also:     -,-=,+,*,/,%,^
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- - NumArray  [AB 3.0] ~ Numeric negation
        ~ Returns 0 - numArray
        ~ Group Tags:   AFL,Operators,Numeric Operators
        ~ Search Tags:  minus,negative,negation,arithmetic,math
        ~ See Also:     -,-=,+,*,/,%,^
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArray -- [AB 3.0] ~ Numeric Post Decrement Assignment
        ~ Returns NumArray, then decrements it
        ~ Group Tags:   AFL,Operators,Numeric Operators,Assignment Operators
        ~ Search Tags:  assignment,decrement,subtraction,post,minus,arithmetic,math
        ~ See Also:     =,-=,--,++
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- -- NumArray  [AB 3.0] ~ Numeric Dencrement Assignment
        ~ Returns NumArray -= 1
        ~ Group Tags:   AFL,Operators,Numeric Operators,Assignment Operators
        ~ Search Tags:  assignment,decrement,subtraction,pre,minus,arithmetic,math
        ~ See Also:     =,-=,--,++
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArrayL / NumArrayR  [AB 3.0] ~ Numeric division
        ~ Returns the result of NumArrayL divided by NumArrayR
        ~ Group Tags:   AFL,Operators,Numeric Operators
        ~ Search Tags:  division,divide,arithmetic,math
        ~ See Also:     +,-,*,/=,%,^
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArrayL /= NumArrayR  [AB 5.0] ~ Numeric division assignment
        ~ Shortcut for NumArrayL = NumArrayL / NumArrayR
        ~ Group Tags:   AFL,Operators,Numeric Operators,Assignment Operators
        ~ Search Tags:  assignment,division,divide,arithmetic,math
        ~ See Also:     +,-,*,/,%,^
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 BoolArray <-- NumArrayL < NumArrayR  [AB 3.0] ~ Numeric less than comparison
        ~ Returns NumArrayL less-than NumArrayR
        ~ Group Tags:   AFL,Operators,Numeric Operators,Comparison Operators
        ~ Search Tags:  less,smaller,logic,boolean,comparison,compare,relational
        ~ See Also:     <,<=,>,>=,==,!=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 BoolArray <-- stringL < stringR  [AB 3.0] ~ string less than comparison
        ~ Returns stringL less-than stringR
        ~ Group Tags:   AFL,Operators,String Operators,Comparison Operators
        ~ Search Tags:  less,smaller,logic,boolean,comparison,compare,relational,string
        ~ See Also:     <,<=,>,>=,==,!=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 BoolArray <-- NumArrayL <= NumArrayR  [AB 3.0] ~ Numeric less than or equal comparison
        ~ Returns NumArrayL less than or equal to NumArrayR
        ~ Group Tags:   AFL,Operators,Numeric Operators,Comparison Operators
        ~ Search Tags:  less,smaller,equal,logic,boolean,comparison,compare,relational
        ~ See Also:     <,<=,>,>=,==,!=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 BoolArray <-- stringL <= stringR  [AB 3.0] ~ string less than or equal comparison
        ~ Returns stringL less than or equal to stringR
        ~ Group Tags:   AFL,Operators,String Operators,Comparison Operators
        ~ Search Tags:  less,smaller,equal,logic,boolean,comparison,compare,relational,string
        ~ See Also:     <,<=,>,>=,==,!=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArray = NumArray  [AB 3.0] ~ Numeric assignment
        ~ Returns the assigned value
        ~ Group Tags:   AFL,Operators,Numeric Operators,Assignment Operators
        ~ Search Tags:  assignment,equal,save,math
        ~ See Also:     =,+=,-=,*=,/=,%=,&=,|=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 string <-- string = string  [AB 3.0] ~ string assignment
        ~ Returns the assigned string
        ~ Group Tags:   AFL,Operators,String Operators,Assignment Operators
        ~ Search Tags:  assignment,equal,save,string
        ~ See Also:     =,+=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 BoolArray <-- NumArrayL == NumArrayR  [AB 3.0] ~ Numeric equal to comparison
        ~ Returns NumArrayL equal to NumArrayR
        ~ Group Tags:   AFL,Operators,Numeric Operators,Comparison Operators
        ~ Search Tags:  equal,same,logic,boolean,comparison,compare,relational
        ~ See Also:     <,<=,>,>=,==,!=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 BoolArray <-- stringL == stringR  [AB 3.0] ~ string equal to comparison
        ~ Returns stringL equal to stringR
        ~ Group Tags:   AFL,Operators,String Operators,Comparison Operators
        ~ Search Tags:  equal,same,logic,boolean,comparison,compare,relational,string
        ~ See Also:     <,<=,>,>=,==,!=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 BoolArray <-- NumArrayL > NumArrayR  [AB 3.0] ~ Numeric greater than comparison
        ~ Returns NumArrayL greater than NumArrayR
        ~ Group Tags:   AFL,Operators,Numeric Operators,Comparison Operators
        ~ Search Tags:  greater,more,larger,logic,boolean,comparison,compare,relational
        ~ See Also:     <,<=,>,>=,==,!=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 BoolArray <-- stringL > stringR  [AB 3.0] ~ string greater than comparison
        ~ Returns stringL greater than stringR
        ~ Group Tags:   AFL,Operators,String Operators,Comparison Operators
        ~ Search Tags:  greater,more,larger,logic,boolean,comparison,compare,relational,string
        ~ See Also:     <,<=,>,>=,==,!=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 BoolArray <-- NumArrayL >= NumArrayR  [AB 3.0] ~ Numeric greater than or equal to comparison
        ~ Returns NumArrayL greater than or equal to NumArrayR
        ~ Group Tags:   AFL,Operators,Numeric Operators,Comparison Operators
        ~ Search Tags:  greater,more,larger,equal,logic,boolean,comparison,compare,relational
        ~ See Also:     <,<=,>,>=,==,!=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 BoolArray <-- stringL >= stringR  [AB 3.0] ~ string greater than or equal to comparison
        ~ Returns stringL greater than or equal to stringR
        ~ Group Tags:   AFL,Operators,String Operators,Comparison Operators
        ~ Search Tags:  greater,more,larger,equal,logic,boolean,comparison,compare,relational,string
        ~ See Also:     <,<=,>,>=,==,!=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 number <-- NumArray [ number  ]  [AB 3.0] ~ Numeric Array [ element ]
        ~ Returns the [ specified ] numeric array element
        ~ Group Tags:   AFL,Operators,Numeric Operators
        ~ Search Tags:  array,element,index,select,specify,subscript
        ~ See Also:     Array
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArrayL ^ NumArrayR  [AB 3.0] ~ Numeric Exponentiation
        ~ Returns NumArrayL raised to the power of NumArrayR
        ~ Group Tags:   AFL,Operators,Numeric Operators
        ~ Search Tags:  exponentiation,exponent,power,root,arithmetic,math
        ~ See Also:     +,-,*,%
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

      AFL ~ AmiBroker Formula Language
        ~ Abbreviation for AmiBroker Formula Language
        ~ Group Tags:   AFL
        ~ See Also:     AmiBroker Formula Language

 BoolArray <-- BoolArrayL AND BoolArrayR  [AB 3.0] ~ Boolean AND
        ~ Returns True if both BoolArrayL AND BoolArrayR are True
        ~ Group Tags:   AFL,Operators,Logical Operators
        ~ Search Tags:  AND,both,logic,boolean
        ~ See Also:     NOT,OR,&,&=,|,|=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 ASCII_code <-- Asc( s, n=0 ) [AB 4.8] ~ get ASCII code of character
        ~ Returns the ASCII code number for a text character
        ~ Group Tags:   AFL,Functions,String manipulation,Type Conversions
        ~ Search Tags:  ASCII,character,convert,code
        ~ AB_Guide:     http://www.amibroker.com/f?asc
        ~ ASCII Defined: http://en.wikipedia.org/wiki/ASCII
        ~ ASCII Table:  http://www.asciitable.com

      break ;   [AB x.x] ~ Break out of innermost loop
        ~ Immediately exit any type of loop 
        ~ Group Tags:   AFL,Flow Control,Loop Operators
        ~ Search Tags:  repeat,looping,loop,flow,control
        ~ See Also:     do,while,for,switch
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/break.html

      break ;   [AB x.x] ~ Break out of switch-case
        ~ Immediately exit a switch-case structure 
        ~ Group Tags:   AFL,Flow Control,Conditional Operators
        ~ Search Tags:  skip,flow,control
        ~ See Also:     do,while,for,switch
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/break.html

      case expression: statement;  [AB x.x] ~ Case part of a switch-case structure
        ~ Execute statement if case expression matches the switch expression value
        ~ Group Tags:   AFL,Flow Control,Conditional Operators
        ~ Search Tags:  condition,skip,flow,control
        ~ See Also:     if,else,break,default,switch
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/case.html

      continue ;   [AB x.x] ~ Continue with next loop iteration
        ~ Immediately begin next iteration of any type of loop 
        ~ Group Tags:   AFL,Flow Control,Loop Operators
        ~ Search Tags:  repeat,looping,loop,flow,control
        ~ See Also:     do,while,for,break
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/continue.html

 DateTimeText <-- DateTimeToStr( d ) [AB 4.8] ~ convert datetime to string
        ~ Returns a text representation of the datetime number
        ~ Group Tags:   AFL,Functions,String manipulation,Type Conversions,Date and Time
        ~ Search Tags:  datetime,date,time,convert
        ~ See Also:     StrToDateTime(),Now(),DateTime(),TimeNum(),Date()
        ~ AB_Guide:     http://www.amibroker.com/f?DateTimeToStr

      default statement;  [AB x.x] ~ Default part of a switch-case-default structure
        ~ Execute statement unconditionally
        ~ Group Tags:   AFL,Flow Control,Conditional Operators
        ~ Search Tags:  default,skip,flow,control
        ~ See Also:     if,else,break,case,switch
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/default.html

      do statement; while ( expression );  [AB x.x] ~ Begin a do-while loop
        ~ Execute statement while expression is True 
        ~ Group Tags:   AFL,Flow Control,Conditional Operators,Loop Operators
        ~ Search Tags:  repeat,looping,loop,condition,flow,control
        ~ See Also:     while,break,continue
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/do.html

      else statement;  [AB 4.4] ~ Else Conditional Execution part of if...else
        ~ Execute statement if ( condition ) is False
        ~ Group Tags:   AFL,Flow Control,Conditional Operators
        ~ Search Tags:  if,skip,condition,flow,control
        ~ See Also:     if
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/else.html

 AnyValue <-- function Name( arguments ) { statements; return expression; }  [AB x.x] ~ Define a new function
        ~ Define a new function 
        ~ Group Tags:   AFL,Flow Control
        ~ Search Tags:  define,subroutine,flow,control
        ~ See Also:     return,procedure
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/function.html

      global name, optional-name, ... ;  [AB 4.36] ~ Force global scope
        ~ Forces global scope of a variable first used inside a function or procedure 
        ~ Group Tags:   AFL,Flow Control
        ~ Search Tags:  define,subroutine,flow,control,scope,variable,control
        ~ See Also:     procedure,function
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/global.html

      if ( condition ) statement;  [AB 4.4] ~ Conditional Execution
        ~ Execute statement if ( condition ) is True
        ~ Group Tags:   AFL,Flow Control,Conditional Operators
        ~ Search Tags:  if,skip,condition,flow,control
        ~ See Also:     if,else
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/if.html

      if ( condition ) statement1; else statement2;  [AB 4.4] ~ Conditional Execution
        ~ Conditionaly execute statement1 or statement2 
        ~ Group Tags:   AFL,Flow Control,Conditional Operators
        ~ Search Tags:  if,else,skip,condition,flow,control
        ~ See Also:     else
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/if.html

      local name, optional-name, ... ;  [AB 4.36] ~ Force local scope
        ~ Forces local scope of a variable used inside a function or procedure 
        ~ Group Tags:   AFL,Flow Control
        ~ Search Tags:  define,subroutine,flow,control,scope,variable,control
        ~ See Also:     procedure,function
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/local.html

 BoolArray <-- NOT BoolArray  [AB 3.0] ~ Boolean Negate
        ~ Returns True if False
        ~ Group Tags:   AFL,Operators,Logical Operators
        ~ Search Tags:  not,invert,negative,negate,logic,boolean
        ~ See Also:     AND,OR,&,&=,|,|=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumberStr <-- NumToStr( N, n=1.3, b=True ) [AB 4.5] ~ convert number to string
        ~ Returns a text representation of a number or one element of an array
        ~ Group Tags:   AFL,Functions,String manipulation,Type Conversions,Date and Time
        ~ Search Tags:  datetime,date,time,convert,format
        ~ See Also:     StrToDateTime(),Now(),DateTime(),TimeNum(),Date(),StrToNum(),WriteVal()
        ~ AB_Guide:     http://www.amibroker.com/f?NumToStr

 BoolArray <-- BoolArrayL OR BoolArrayR  [AB 3.0] ~ Boolean OR
        ~ Returns True if either BoolArrayL OR BoolArrayR are True
        ~ Group Tags:   AFL,Operators,Logical Operators
        ~ Search Tags:  OR,either,logic,boolean
        ~ See Also:     NOT,OR,&,&=,|,|=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

      printf( s, N, N ) [AB 4.5] ~ print formatted output
        ~ write formatted output to commentary or interpretation window
        ~ Group Tags:   AFL,Functions,String manipulation,Type Conversions
        ~ Search Tags:  convert,print,format
        ~ See Also:     StrFormat()
        ~ AB_Guide:     http://www.amibroker.com/f?StrFormat
        ~ Printf Defined: http://en.wikipedia.org/wiki/Printf
        ~ C++ Format String Spec: http://www.cplusplus.com/reference/clibrary/cstdio/printf.html

      procedure Name( arguments ) { statements; }  [AB x.x] ~ Define a new procedure
        ~ Define a new procedure 
        ~ Group Tags:   AFL,Flow Control
        ~ Search Tags:  define,subroutine,flow,control
        ~ See Also:     Function
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/procedure.html

      return expression;  [AB x.x] ~ Return a value from a function
        ~ Last statement of a function to return a value 
        ~ Group Tags:   AFL,Flow Control
        ~ Search Tags:  define,subroutine,flow,control
        ~ See Also:     procedure
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/return.html

 itemStr <-- StrExtract( s, n ) [AB 4.4] ~ get item from CSV string
        ~ Returns one item from a comma separated list
        ~ Group Tags:   AFL,Functions,String manipulation
        ~ Search Tags:  find,extract,CSV,comma separated,list,item
        ~ See Also:     CategoryGetSymbols(),StrMid()
        ~ AB_Guide:     http://www.amibroker.com/f?StrExtract

 index <-- StrFind( s, s ) [AB 4.5] ~ find substring in a string
        ~ Returns character index of substring in a string
        ~ Group Tags:   AFL,Functions,String manipulation
        ~ Search Tags:  find,extract,list,item
        ~ See Also:     StrExtract(),StrReplace(),StrMid()
        ~ AB_Guide:     http://www.amibroker.com/f?StrFind

 Formatted String <-- StrFormat( s, N, N ) [AB 4.5] ~ write formatted output to string
        ~ Returns a formatted string from format and optional values
        ~ Group Tags:   AFL,Functions,String manipulation,Type Conversions
        ~ Search Tags:  convert,format
        ~ See Also:     printf()
        ~ AB_Guide:     http://www.amibroker.com/f?StrFormat
        ~ Printf Defined: http://en.wikipedia.org/wiki/Printf
        ~ C++ Format String Spec: http://www.cplusplus.com/reference/clibrary/cstdio/printf.html

 string <-- StrLeft( s, n ) [AB 4.0] ~ extracts left part of a string
        ~ Returns the first portion of a string
        ~ Group Tags:   AFL,Functions,String manipulation
        ~ Search Tags:  extract,left,first,substring
        ~ See Also:     StrFind(),StrExtract(),StrMid(),StrRight(),StrLen(),StrReplace()
        ~ AB_Guide:     http://www.amibroker.com/f?StrLeft

 stringLength <-- StrLen( s ) [AB 3.5] ~ get string length
        ~ Returns the number of characters in a string
        ~ Group Tags:   AFL,Functions,String manipulation
        ~ Search Tags:  extract,right,last,left,first,middle,substring
        ~ See Also:     StrFind(),StrExtract(),StrMid(),StrLeft(),StrLen(),StrReplace()
        ~ AB_Guide:     http://www.amibroker.com/f?StrLen

 string <-- StrMid( s, n, n ) [AB 4.0] ~ extracts substring from a string
        ~ Returns a substring of a string
        ~ Group Tags:   AFL,Functions,String manipulation
        ~ Search Tags:  extract,middle,substring
        ~ See Also:     StrFind(),StrExtract(),StrLeft(),StrRight(),StrLen(),StrReplace()
        ~ AB_Guide:     http://www.amibroker.com/f?StrMid

 string <-- StrReplace( s, s ) [AB 4.9] ~ replaces substring in a string
        ~ Returns a string with all substrings replaced with a new substring
        ~ Group Tags:   AFL,Functions,String manipulation
        ~ Search Tags:  find,replace,edit,change
        ~ See Also:     StrFind()
        ~ AB_Guide:     http://www.amibroker.com/f?StrReplace

 string <-- StrRight( s, n ) [AB 4.0] ~ extracts right part of a string
        ~ Returns the last portion of a string
        ~ Group Tags:   AFL,Functions,String manipulation
        ~ Search Tags:  extract,right,last,substring
        ~ See Also:     StrFind(),StrExtract(),StrMid(),StrLeft(),StrLen(),StrReplace()
        ~ AB_Guide:     http://www.amibroker.com/f?StrRight

 DateTime <-- StrToDateTime( s ) [AB 4.8] ~ convert string to datetime
        ~ Returns datetime number from a text representation of the Date/Time
        ~ Group Tags:   AFL,Functions,String manipulation,Type Conversions,Date and Time
        ~ Search Tags:  datetime,date,time,convert
        ~ See Also:     DateTimeToStr(),Now(),DateTime(),TimeNum(),Date()
        ~ AB_Guide:     http://www.amibroker.com/f?StrToDateTime

 string <-- StrToLower( s ) [AB 4.8] ~ converts a string to lowercase
        ~ Returns the lowercase version of a string
        ~ Group Tags:   AFL,Functions,String manipulation
        ~ Search Tags:  convert,lowercase,uppercase
        ~ See Also:     StrToUpper(),StrReplace()
        ~ AB_Guide:     http://www.amibroker.com/f?StrToLower

 number <-- StrToNum( s ) [AB 4.5] ~ convert string to number
        ~ Returns a number from a text representation of a number
        ~ Group Tags:   AFL,Functions,String manipulation,Type Conversions
        ~ Search Tags:  convert,number
        ~ See Also:     StrToDateTime(),WriteVal()
        ~ AB_Guide:     http://www.amibroker.com/f?StrToNum

 string <-- StrToUpper( s ) [AB 4.8] ~ converts a string to uppercase
        ~ Returns the uppercase version of a string
        ~ Group Tags:   AFL,Functions,String manipulation
        ~ Search Tags:  convert,lowercase,uppercase
        ~ See Also:     StrToLower(),StrReplace()
        ~ AB_Guide:     http://www.amibroker.com/f?StrToUpper

      switch ( expression ) { case match-expression: statement; ...; default: statement; }  [AB x.x] ~ Start a switch-case conditional execution structure
        ~ Execute any statement where match_expression matches the switch expression value
        ~ Group Tags:   AFL,Flow Control,Conditional Operators
        ~ Search Tags:  condition,skip,flow,control
        ~ See Also:     if,else,break,default,case
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/switch.html

      while ( expression );  [AB x.x] ~ Conditionally End a do-while loop
        ~ End a do loop if expression is False 
        ~ Group Tags:   AFL,Flow Control,Conditional Operators,Loop Operators
        ~ Search Tags:  repeat,looping,loop,condition,flow,control
        ~ See Also:     while,break,continue
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/do.html

      while ( expression ) statement;   [AB x.x] ~ Begin while loop
        ~ Conditionally execute statement while expression is True 
        ~ Group Tags:   AFL,Flow Control,Conditional Operators,Loop Operators
        ~ Search Tags:  repeat,looping,loop,condition,flow,control
        ~ See Also:     while,break,continue
        ~ AB_Guide:     http://www.amibroker.com/guide/keyword/while.html

 NumberText <-- WriteVal( N, n=1.3, b=True ) [AB x.x] ~ convert array or number to string --Synonym
        ~ Synonym for NumToStr()
        ~ Group Tags:   AFL,Functions,String manipulation,Type Conversions,Date and Time
        ~ See Also:     NumToStr()
        ~ AB_Guide:     http://www.amibroker.com/f?WriteVal

      { optional-statement; optional-statement; ...; }  [AB x.x] ~ Compound Statement
        ~ Group multiple statements into one statement
        ~ Group Tags:   AFL,Flow Control,Conditional Operators
        ~ Search Tags:  multiple,compound,statement,flow,control
        ~ See Also:     if,else,do,while,for,switch,case,function,procedure
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 BoolArray <-- BoolArrayL | BoolArrayR  [AB 4.1] ~ 32-bit OR
        ~ Returns "1" bits if either NumArrayL OR NumArrayR have "1" bits
        ~ Group Tags:   AFL,Operators,Logical Operators
        ~ Search Tags:  OR,either,logic,bit,mask,set,boolean
        ~ See Also:     NOT,OR,&,&=,|=
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html

 NumArray <-- NumArrayL |= NumArrayR  [AB 5.0] ~ 32-bit OR Assignment
        ~ Shortcut for NumArrayL = NumarrayL | NumArrayR
        ~ Group Tags:   AFL,Operators,Logical Operators,Assignment Operators
        ~ Search Tags:  assignment,OR,either,logic,bit,mask,set,boolean
        ~ See Also:     NOT,OR,&,&=,|
        ~ AB_Guide:     http://www.amibroker.com/guide/a_language.html


On Sep 26, 2008, at 1:01 PM, Dennis Brown wrote:

Hello All,
 
I just uploaded release #3 of the converter program and glossary template files to the AFL Library.  You can find them both by searching on the term glossary.
 
The only difference from release #2 yesterday is that the program will now accept .afl extension on the database text files if it can not find a .txt version. 

The AFL_Glossary_1.afl file name is what is downloaded from the AFL Library.  This means that it does not need to be renamed.  A side benefit is that you can edit a glossary file and save it as .txt and it will override the original .afl versions without replacing the file.
 
Best regards,
Dennis

On Sep 26, 2008, at 8:12 AM, Dennis Brown wrote:

Joseph,

The .afl is added by the AFL Library upload automatically.  Of course, I could change the program so that it would read in a .afl extension or a .txt extension, but then it would not automatically pull up a text editor to edit it.  I am open to suggestions.  I did like putting the program and database together in an obvious place for AB users to find, and the AFL Library gives a description of the file before you have to download it.  Another interesting point I found out this morning is that it also records that a function definition is already included in the AFL Glossary file when you go to the functions entry.  This could be handy to keep track of progress covering all functions.  Perhaps I should just allow the .afl type in the program.

BR,
Dennis

On Sep 26, 2008, at 12:28 AM, J. Biran wrote:

Just curious: what it  s the reason that you do upload the file with an afl extension needing to rename it later? Is to not possible to save a .txt file directly?
 


Joseph Biran
____________________________________________
 
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Dennis Brown
Sent: Thursday, September 25, 2008 12:52 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] AmiBroker AFL Glossary project --LIFT OFF
 
Hello All,
 
I just uploaded release #2 of the converter program and glossary template files to the AFL Library.  You can find them easily just by searching on the term glossary.
 
I added the additional data type definitions as below.  I also added the ability to sort entries alphabetically and to filter output based on group tags and search tags.  It is pretty nifty --even useful as is -- if we had some more database entries to go with it.  For instance, I can filter on dateTime and it will generate a document of all the functions (in the database) that can use the dateTime format with links to more information.  That was my first goal. :-)
 
What do you need from me to start typing in glossary definitions at this point?
 
I will be happy to work with you in private email if you need help to get started.
 
Best regards,
Dennis
 
BTW: The program parameters beg for me to put them into my flexible parameters system.  If I were doing this program just for myself, I would have done it already.  However, I wanted it to be as simple as possible for others to load and run it without loading in 3 include files and a dll file first to enable this extra functionality.  I can convert it to run in the flexible parameters mode when we are further along, because then I can have a selectable named set of parameters for every document setup I want to be able to produce without doing any more work.
 
On Sep 24, 2008, at 12:34 PM, Dennis Brown wrote:


Joseph,
(Tomasz, please correct any factual errors or omissions in this post)
 
Ok, It percolated for a while and this is what I came up with.  Array types imply single numbers as a subset of an array.  It is therefore redundant to specify for instance that a type can be an array of numbers or a number.  However, a type may be a number only and not an array.  This leads me to the conclusion that I was in error to have a generic array type.  Here is a proposed legend for the return types we currently have:  (Please correct me if I am wrong)
 
n = single IEEE 32 bit floating point number only
N = Array of floating point numbers (including a single number)
b = single boolean number only (for parameters: False = 0 or null / True = not false), (for returns: False = 0 / True = 1)
B = Array of boolean numbers (including a single boolean number)
s = a single string of UTF 8 bit ASCII characters (max length?)
 
There are different ways to "interpret" a floating point number of course as in boolean above.  
 
We have the sign + 23 bit pseudo integers
???format "DateTime"
3 x 8 bit positive integer "Color"
32 bit "Binary" for binary operations like &, |
 
Perhaps we should specify these interpretations also:
 
d = DateTime number
D = DateTime array
c = color number
C = color array
 
-- The following would be a nomenclature conflict with boolean type that needs resolution.  L,l  for logic won't work.
b = bitwise binary number
B = bitwise binary array
-- The results are still interpreted as a float for everything, except the &,| operator actions.  Perhaps we don't need more than N,n for this
 
I am thinking that these basic type nomenclatures would be used in the glossary database template, but what is generated for document output could be anything of course.  It would take me less time to fix the doc generator than it took to write this post.  LOL
 
Comments?
 
BR,
Dennis
 
 
On Sep 24, 2008, at 8:25 AM, Dennis Brown wrote:


Joseph,
 
Thanks for the suggestion.  I will let it percolate on my brain a bit.  Of course, if it gets to cryptic, it defeats the purpose.
 
The &nb! sp; in the example is not my doing.  That is something thrown in by Yahoo or a mail program.  I think it is some BB or HTML formatting for a ! which is also not my doing.  I see that these errors are creeping in with each successive reply, but not the original.
 
I see the odd space and formatting error now and then show up in replies.  
 
BR,
Dennis
 
 
On Sep 24, 2008, at 3:33 AM, J. Biran wrote:


I think this strongly depends on individual taste and has no absolute correct answer.
 
The returned values is of significant importance and is good it stands out. It could also be placed right before the AB version info.
 
You could also borrow from the convention that units of measure are placed in square brackets (i.e. [sec]) and use [n] or [s], [b], [A(n)], [A(b)], [A(s)] etc… (A = Array).
 
I just noticed    &nb! sp in your example below. Was it there before? Is this some formatting info? Also what is the ! for?


Joseph Biran
____________________________________________
 
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Dennis Brown
Sent: Tuesday, September 23, 2008 6:12 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: Re: [amibroker] AmiBroker AFL Glossary project --LIFT OFF
 
Joseph,
 
I see your point.  I just made up some conventions to test it out.  It could be formatted any number of ways.  In fact I am busy writing the sorting and filtering routines.  Let me know if you have a good idea for an alternative way to format the output and I can throw that in at the same time.
 
Another one is I have "a" for array "a|n" for array or number, and "b" for boolean.  It occurs to me the I should also have "a|b" for a boolean array or a boolean number.  that would also be the result type for things like comparison operators.  Operators will be another whole class of formats in the template.
 
As we expand the glossary to more than just functions, I am sure additional considerations will have to be made in the database template and report generation formats to accommodate these.  In some construct it is a statement that is the parameter like in a for(initialStatement; booleanExit; loopStatement){}.
 
These will take some additional thought.  We need to fill in all the AFL functions though, and that will take a little while and is actually the easy part because we have the AB functions list to get us started.
 
BR,
Dennis
 
On Sep 23, 2008, at 8:32 PM, J. Biran wrote:



The = threw me off.
 
Also, distinguishing array from number would be beneficial.


Joseph Biran
____________________________________________
 
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Dennis Brown
Sent:
 Tuesday, September 23, 2008 4:57 PM
To:
 amibroker@xxxxxxxxxxxxxxx
Subject:
 Re: [amibroker] AmiBroker AFL Glossary project --LIFT OFF
 
Joseph,
 
Good question.  I had selected a parameter to show return value types in the sample output.  The n is a number type returned by the function.  Other types are: s is a string, a is an ar! ray, b i s Boolean number (True/False) etc., as shown in the template.  I could have selected to output a descriptive name instead, or nothing.  There are a number of variations on a basic theme.
 
BR,
Dennis
 
On Sep 23, 2008, at 6:09 PM, J. Biran wrote:




What is the n = stand for?
 


Joseph Biran
____________________________________________
 
From: amibroker@xxxxxxxxxxxxxxx [mailto:amibroker@xxxxxxxxxxxxxxx] On Behalf Of Dennis Brown
Sent:
 Monday, September 22, 2008 9:27 PM
To:
 amibroker@xxxxxxxxxxxxxxx
Subject:
 Re: [amibroker] AmiBroker AFL Glossary project --LIFT OFF
 
Hello,
 
I have uploaded to the AFL Library a program called AF_Glossary_Generator (yes a typo in the name) that takes another file uploaded called AFL_Glossary_1 and generates parameter selectable formatted TXT or RTF files for this project.  It took me a couple of hours to make a database file for all the string manipulation functions, and forever to make the program that spit out formatted documents. Creating the files for both forced me to refine the database specification a bit further.  
 
< /div>
Please download them both and try them out.  You have to create a directory called AFL_Glossary in your main AmiBroker folder and put the file named AFL_Glossary_1.txt into it.  Rename the file to strip off the .afl and make sure it ends in .txt.  The output files will be written to the same folder.  On a PC, the .txt and .rtf files read fine in WordPad, but the links don't work in that program.  They do work in Word.  In the Mac, all formats w! ork fine in TextEdit program.
 
Please download the program and data and give me some feedback.  Sorry there are not a lot of instructions, but you just select parameters, and click on the Convert Database button to get something written out.  You can try out all kinds of different formats.
 
Next, we need volunteers to write small sections of the database to make headway.  If you make another file called AFL_Glossary_2.txt, etc., it w! ill comb ine them into one database for outputs.  
 
Best regards,
Dennis
 
PS. here is a sample of one possible output:
 
 
 
                AFL -- AmiBroker Formula Language
                                -- Abbreviation for AmiBroker Formula Language
                                -- Group Tags:          AFL
                                -- See Also:              AmiBroker Formula Language
 
  n =         Asc( String, CharacterPosition=0 ) [AB 4.8] -- get ASCII code of character
                                -- Returns the ASCII code number for a text character
                                -- Group Tags:          AFL,Functions,String manipulation,Type Conversions
                                -- Search Tags:        ASCII,character,convert,code
                                -- Links:    ASCII Defined ASCI I Table
 
  n =         StrToDateTime( DateTimeText ) [AB 4.8] -- convert string to datetime
                                -- Returns datetime number from a text representation of the Date/Time
                                -- Group Tags:          AFL,Functions,String manipulation,Type Conversions,Date and Time
                                -- Search Tags:        datetime,date,time,convert
                                -- See Also:              DateTimeToStr(),Now(),DateTime(),TimeNum(),Date()
 
The rtf file of the whole sample output is also attached here for those who get individual emails: