Semicolons at the end of statements are required, was: error 30 unexpected IDENTIFIER

ABC = MA( Open , 20 ) > MA ( Open , 200 )
DEF = TEMA (Close , 50 ) > DEMA ( Close , 150 )

Buy = ABC > DEF
Sell = DEF > ABC

What's wrong with that? Error 30 in DEF. Please help, thanks.

You are missing SEMICOLONS at the end of lines.

Read the manual please http://www.amibroker.com/guide/a_language.html

Language structure
Each formula in AFL contains of one or more expression statements. Each statement MUST be terminated by semicolon (;). In this way you are able to break long expressions into several physical lines (in order to gain clarity) and AmiBroker will still treat it like a single statement until terminating semicolon.

Examples:

x = ( y + 3 );          /* x is assigned the value of y + 3  */
x = y = 0;              /* Both x and y are initialized to 0 */
proc( arg1, arg2 );     /* Function call, return value discarded */
y = z = ( f( x ) + 3 ); /* A function-call expression  */

my_indicator =    IIf( MACD() > 0,
               Close - MA(Close,9),
               MA( Close, 9 ) - Close );  
              /* one statement in several lines */
1 Like