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

Re: [amibroker] AmiBroker 4.31.0 BETA Examples



PureBytes Links

Trading Reference Links




Hello,
 
About  new if-else

if-else statement changes flow of execution (opposite to IIF 
function that evaluates all arguments).
and you can not really write
 
if (H >Ref(H,-1<FONT face=Arial 
color=#0000ff size=2>))
 
because it has no meaning. It would translate to 

"If high array is higher than high array shifted 
one bar" (see tutorial below)
flow control statement has to get SINGLE boolean 
value to make decision which
execution path should be taken. 
If you write H (or High) it means ARRAY (entire 
array) 
if you write H[ i ] - it means i-th element of the 
array. The subscript operator [ ] 
allows you to access individual array 
elements.
 
Instead you should write:
 
for( i = 1; i < BarCount; i++ )
{
  if ( H[ i ] > H[ i - 1 ] )
        x[ i ] = H[ i 
];
  else
        x[ i ] = L[ i 
];
}
 
 
this will translate to correct one
"for EVERY BAR 'i'   assign i-th element of 
high array to the i-th element of x array if
  i-th element of high array is higher than the previous 
element, otherwise assign i-th of
  low array to the i-th element of x 
array"
 
As you can see in many cases old-style AFL provides much more 
compact
form. I always tried to explain this advantage of AFL but only 
a few realised that.
New control statements should be used where it is better to 
use them.
As I tried to explain during last years in 80% of cases 
'old-style' AFL provides
the shortest formula. Only remaining 20% of cases needed 
script.
Those 'script-only' cases now can be coded in native AFL 
thanks to new for/while/if-else
statements. And this is correct usage of them - TO REPLACE 
SCRIPT PARTS.
 
Below is a copy of TUTORIAL that explains how array-based 
functions (like IIF) work:
 

Tutorial: Understanding how AFL works
Introduction
One of most important aspects of AFL is that it is an array processing 
language. It operates on arrays (or rows/vectors) of data. This way of operation 
is quite similar to the way how popular spreadsheets work (like Microsoft 
Excel). Anyone familiar with MS Excel should have no trouble quickly picking up 
AFL. - In fact all the examples in this article were all created using MS 
Excel.
What is an Array?
An array is simply a list (or row) of values. In some books it may be 
referred to as a vector. Each numbered row of values in the example represents 
an individual array. Amibroker has stored in its database 6 arrays for each 
stock. One for opening price, one for the low price, one for the high price, one 
for the closing price and one for volume (see the rows labelled 1-5 below) and 
one for open interest. These can be referenced in AFL as open, low, high, close, 
volume, openint or o, l, h, c, v, oi.

  
  
    
    
      Bar
    
      1
    
      2
    
      3
    
      4
    
      5
    
      6
    
      7
    
      8
    
      9
    
      10
  
    1
    Open
    
      1,23
    
      1,24
    
      1,21
    
      1,26
    
      1,24
    
      1,29
    
      1,33
    
      1,32
    
      1,35
    
      1,37
Fig 1. Open price array
Any other array is calculated from these 6 arrays using formulae built into 
AFL. These arrays are not stored in the database but calculated where 
necessary.
Each individual value in an array has a date associated with it. If you have 
the tool tip option turned on (Preferences -> Miscellaneous Tab - > Price 
data tool tips), when you move your cursor over candle on a daily candle chart, 
a small yellow rectangle appears. AFL then looks up the open, low, high, close, 
volume values in the appropriate array and displays them inside the tool tip. 

Processing arrays - why is AFL so fast?
Lets see how the following statement is processed:
MyVariable = ( High + Low )/2;
When AFL is evaluating statement like this ( High + Low )/2 it does not need 
to re-interpret this code for each bar. Instead it takes the High ARRAY and Low 
ARRAY and adds corresponding array elements in single stage. In other words + 
operator (and other operators too) work on arrays at once and it is executed at 
full compiled-code speed, then the resulting array (each element of it) is 
divided by 2 also in single stage.
Let's look into the details - see fig 2.. When AFL engine looks at the ( High 
+ Low )/2 it first takes High (1) and Low (2) arrays and produces (in single 
compiled step) the temporary array (3). Then it creates the final array (4) by 
dividing each element of temporary array by two. This result is assigned to 
myVariable

  
  
    
    
      Bar
    
      1
    
      2
    
      3
    
      4
    
      5
    
      6
    
      7
    
      8
    
      9
    
      10
  
    1
    High (built-in array)
    
      1,24
    
      1,27
    
      1,25
    
      1,29
    
      1,25
    
      1,29
    
      1,35
    
      1,35
    
      1,37
    
      1,29
  
    2
    Low (built-in array)
    
      1,20
    
      1,21
    
      1,19
    
      1,20
    
      1,21
    
      1,24
    
      1,30
    
      1,28
    
      1,31
    
      1,27
  
    3
    High+Low (temporary array created during 
      evaluation)
    
      2,44
    
      2,48
    
      2,44
    
      2,49
    
      2,46
    
      2,53
    
      2,65
    
      2,63
    
      2,68
    
      2,46
  
    4
    ( High+Low ) /2 (gets assigned to MyVariable)
    
      1,22
    
      1,24
    
      1,22
    
      1,245
    
      1,23
    
      1,265
    
      1,325
    
      1,315
    
      1,34
    
      1,23
Fig 2. AFL steps when processing ( High + Low ) /2
Moving averages, conditional statements
Let us now consider the following code:
Cond1 = Close > MA( Close, 3 );Cond2 = Volume > Ref( Volume, 
-1 );Buy = Cond1 AND Cond2;Sell = High > 1.30;
This code generates a buy signal when todays close is higher than 3 day 
moving average of close AND todays volume is higher than yesterday's volume. It 
also generates a sell signal when today's high is higher than 1.30.
If in your AFL code you need to see if the closing price is greater than say 
a 3 day simple moving average AFL will first run through the close array 
creating a new array called MA(close,3) for the stock being analysed. Each cell 
in the new array can then be compared one for one in the close array. In the 
example an array called Cond1 is created this way. For each cell where the 
closing price is greater than the corresponding cell value in MA(close,3) the 
cell value for new array 'Cond1' is set to '1'. If the closing price is not 
greater than the corresponding price in the close array the value in 'Cond1' is 
set to '0'.
AFL can also look forwards or backwards a number of cells in an array using 
the Ref function (see row 6 where temporary array is created 
holding previous day volume)
In row 9 a new array called Cond2 has been created by comparing the value of 
each cell in the volume array with its previous cell setting the Cond2 cell 
value to '1' if true and '0' if false.
Row 10 shows an array called 'Buy' created by comparing the cell values in 
Cond1 with the cell values in Cond2. If the cell in Cond1 has a '1' AND so does 
the corresponding cell in Cond2 then a '1' is placed in the 'Buy' array 
cell.
Row 11 shows an array called 'Sell' created whenever the cell value in the 
close array is greater than $1.30.

  
  
    
    
      Day
    
      1
    
      2
    
      3
    
      4
    
      5
    
      6
    
      7
    
      8
    
      9
    
      10
  
    1
    Open
    
      1,23
    
      1,24
    
      1,21
    
      1,26
    
      1,24
    
      1,29
    
      1,33
    
      1,32
    
      1,35
    
      1,37
  
    2
    High
    
      1,24
    
      1,27
    
      1,25
    
      1,29
    
      1,25
    
      1,29
    
      1,35
    
      1,35
    
      1,37
    
      1,29
  
    3
    Low
    
      1,20
    
      1,21
    
      1,19
    
      1,20
    
      1,21
    
      1,24
    
      1,30
    
      1,28
    
      1,31
    
      1,27
  
    4
    Close
    
      1,23
    
      1,26
    
      1,24
    
      1,28
    
      1,25
    
      1,25
    
      1,31
    
      1,30
    
      1,32
    
      1,28
  
    5
    Volume
    
      8310
    
      3021
    
      5325
    
      2834
    
      1432
    
      5666
    
      7847
    
      555 
    
      6749
    
      3456
  
    6
    Ref( Volume, -1 ) (temporary 
      array created during eval)
    
      Null
    
      8310
    
      3021
    
      5325
    
      2834
    
      1432
    
      5666
    
      7847
    
      555 
    
      6749
  
    7
    MA( Close, 3 ) (temporary array created 
      during eval)
    
      Null
    
      Null
    
      1,243
    
      1,260
    
      1,257
    
      1,260
    
      1,270
    
      1,287
    
      1,310
    
      1,300
  
    8
    Cond1 = Close > MA(close,3) (gives 1 (or true) if 
      condition met, zero otherwise)
    
      Null
    
      Null
    
      1
    
      0
    
      1
    
      1
    
      0
    
      0
    
      0
    
      1
  
    9
    Cond2 = Volume > Ref(volume,-1)
    
      Null
    
      0
    
      1
    
      0
    
      0
    
      1
    
      1
    
      0
    
      1
    
      0
  
    10
    Buy = Cond1 AND Cond2
    
      Null 
      
    
      Null
    
      1
    
      0
    
      0
    
      1
    
      0
    
      0
    
      0
    
      0
  
    11
    Sell = High > 1.30
    
      0
    
      0
    
      0
    
      0
    
      0
    
      0
    
      1
    
      1
    
      1
    
      0
Obviously Buy and Sell are special arrays whose results can be displayed in 
the Analyser window or on screen using a red or green value as needed.
Getting little bit more complex
The examples above were very simple. Now I will just explain 3 things that 
seem to generate some confusion among the users:
  referencing selected values (SelectedValue, BeginValue, EndValue, 
  LastValue) 
  IIF function 
  AMA function 
As written in the <A 
href="">Tutorial: 
Basic charting guide you can select any quote from the chart and you can 
mark From-To range. The bar selected by verticall line is called "selected" bar 
while start and end bars of the range are called "begin" and "end" bars. AFL has 
special functions that allow to reference value of the array at selected, begin 
and end bar respectively. These functions are called SelectedValue, BeginValue 
and EndValue. There is one more function called LastValue that allows to get the 
value of the array at the very last bar. These four functions take the array 
element at given bar and return SINGLE NUMBER representing the value of the 
array at given point. This allows to calculate some statistics regarding 
selected points. For example:

  EndValue( Close ) - BeginValue( Close )
Will give you dollar change between close prices in selected from-to 
range.
When number retrieved by any of these functions is compared to an array or 
any other arithmetic operation involving number and the array is performed it 
works like the number spanned all array elements. This is illustrated in the 
table below (rows 2, 6, 7). Green color marks "begin" bar and red color marks 
"end" bar. Selected bar is marked with blue.

  
  
    
    
      Day
    
      1
    
      2
    
      3
    
      4
    
      5
    
      6
    
      7
    
      8
    
      9
    
      10
  
    1
    Open
    
      1,23
    
      1,24
    
      1,21
    
      1,26
    
      1,24
    
      1,29
    
      1,33
    
      1,32
    
      1,35
    
      1,37
  
    2
    BeginValue( Open )
    
      1,24
    
      1,24
    
      1,24
    
      1,24
    
      1,24
    
      1,24
    
      1,24
    
      1,24
    
      1,24
    
      1,24
  
    3
    EndValue( Open )
    
      1,32
    
      1,32
    
      1,32
    
      1,32
    
      1,32
    
      1,32
    
      1,32
    
      1,32
    
      1,32
    
      1,32
  
    4
    SelectedValue( Open )
    
      1,21
    
      1,21
    
      1,21
    
      1,21
    
      1,21
    
      1,21
    
      1,21
    
      1,21
    
      1,21
    
      1,21
  
    5
    LastValue( Open )
    
      1,37
    
      1,37
    
      1,37
    
      1,37
    
      1,37
    
      1,37
    
      1,37
    
      1,37
    
      1,37
    
      1,37
  
    6
    Close
    
      1,22
    
      1,26
    
      1,23
    
      1,28
    
      1,25
    
      1,25
    
      1,31
    
      1,30
    
      1,32
    
      1,28
  
    7
    Close <= BeginValue( Open )
    
      1
    
      0
    
      1
    
      0
    
      0
    
      0
    
      0
    
      0
    
      0
    
      0
  
    8
    result = IIF( Close <= BeginValue( Open ), Close, Open );
    
      1,22
    
      1,24
    
      1,23
    
      1,26
    
      1,24
    
      1,29
    
      1,33
    
      1,32
    
      1,35
    
      1,37
  
    9
    Period
    
      2
    
      3
    
      4
    
      2
    
      3
    
      5
    
      2
    
      3
    
      4
    
      2
  
    10
    Factor = 2/(Period+1)
    
      0,667
      
    
      0,500
    
      0,400
    
      0,667
    
      0,500
    
      0,333
    
      0,667
    
      0,500
    
      0,400
    
      0,667
  
    11
    1 - Factor
    
      0,333
    
      0,500
    
      0,600
    
      0,333
    
      0,500
    
      0,667
    
      0,333
    
      0,500
    
      0,600
    
      0,333
  
    12
    AMA( Close, Factor )
    
      0,8125
    
      1,0363
    
      1,1138
    
      1,2234
    
      1,2367
    
      1,2399
    
      1,2853
    
      1,2927
    
      1,3036
    
      1,2866
Now the <A 
href="">IIF(condition, 
truepart, falsepart) function. It works that it returns the value of second 
(truepart) or third (falsepart) argument depending on 
condition. As you can see in the table above in row 8 the values come 
from Close array (truepart) for bars when condition is true (1) and come 
from Open array (falsepart) for the remaining bars. In that case the 
array returned by IIF function consists of some values from Close and some 
values from Open array. Note that both truepart and falsepart are 
arrays and they are evaluated regardless of the condition (so this is not a 
regular IF-THEN-ELSE statement but function that returns array)
The <A 
href="">AMA( 
array, factor) function seems to cause the most problems with understanding 
it. But in fact it is very simple. It works in recursive way. It means that it 
uses its previous value for the calculation of current value. It processes array 
bar by bar, with each step it multiplies given cell of first argument (array) by 
given cell of second argument (factor) and adds it to the previous value of AMA 
multiplied by (1-factor). Lets consider column 3. The value of AMA in the column 
3 is given by multipling close price from column 3 (<FONT 
color=#cc00cc>1,23) by factor (0,4). Than we add the previous value of 
AMA (1,0363) multiplied by (1-factor = 0,6). The 
result (rounded to 4 places) is 1,23 * 0,4 + 1,0363 * 0,6 = 1,1138.
If you look at the figures in the row 12 you may notice that these values 
look like a moving average of close. And that's true. We actually presented how 
to calculate variable-period exponential moving average using AMA function.
If you're having trouble coding AFL I suggest you generate the arrays in the 
example in Excel for yourself. If that's a problem get some help from a friend - 
especially if that friend is an accountant.
Once you've got the hang of it you can code any system from a book on trading 
- or build one yourself.
 
 
 
 
 
Best regards,Tomasz Janeczkoamibroker.com
<BLOCKQUOTE 
>
  ----- Original Message ----- 
  <DIV 
  >From: 
  <A title=jcasavant@xxxxxxxxxxxx 
  href="">Jayson 
  To: <A title=amibroker@xxxxxxxxxxxxxxx 
  href="">amibroker@xxxxxxxxxxxxxxx 
  Sent: Wednesday, April 16, 2003 7:26 
  PM
  Subject: RE: [amibroker] AmiBroker 4.31.0 
  BETA Examples
  
  <SPAN 
  class=586003616-16042003>Anyone, 
  <SPAN 
  class=586003616-16042003> 
  Ok, 
  a very simple example.....
  <SPAN 
  class=586003616-16042003> <FONT 
  size=2>
  
  x=IIf 
  (H 
  >Ref(<FONT 
  color=#000000>H,-<FONT 
  color=#ff00ff>1)<FONT 
  color=#282828>,H<FONT 
  color=#282828>,L<FONT 
  color=#282828>);   this would result 
  in a line touching either the h or low of each bar based on the 
  condition.<SPAN 
  class=586003616-16042003><FONT 
  size=2>
  if (H >Ref(H,-1<FONT 
  face=Arial color=#0000ff size=2>))<FONT 
  face=Arial>
  y = H<FONT face=Arial 
  color=#0000ff>;
  <FONT face=Arial color=#0000ff 
  size=2>else
  y =L;<FONT 
  color=#0000ff>
  Plot(y,<FONT 
  color=#ff00ff>"HL",<FONT 
  color=#000000>colorYellow<FONT 
  size=2>,1<FONT 
  color=#282828>);<FONT 
  color=#0000ff>
  Plot(<FONT 
  color=#000000>C<FONT 
  color=#282828>,""<FONT 
  color=#282828>,4<FONT 
  color=#282828>,<FONT 
  color=#000000>styleCandle<FONT 
  face=Arial size=2>);
   
  <SPAN 
  class=586003616-16042003>rather than evaluating the condition on a bar by bar 
  basis this looks to lastvalue(h) to determine Y for the whole chart. How would 
  I use the if/else syntax to copy IFF?
   Jayson 
  <FONT face=Tahoma 
  size=2>-----Original Message-----From: bluesinvestor 
  [mailto:investor@xxxxxxxxxxxxx]Sent: Wednesday, April 16, 2003 
  11:00 AMTo: amibroker@xxxxxxxxxxxxxxxSubject: RE: 
  [amibroker] AmiBroker 4.31.0 BETA Examples
  
  <SPAN 
  >Actually let me 
  clarify something:
  <FONT face="Arial CE" color=blue 
  size=2><SPAN 
  >condition<FONT 
  face="Arial CE" color=blue size=2><SPAN 
  > expression= 
  i<<SPAN 
  class=SpellE>barcount;         
  <FONT face="Arial CE" color=blue 
  size=2><SPAN 
  >means do the 
  loop as long as i< the current <SPAN 
  class=SpellE>barcount (like cum(1))?? 
  <SPAN 
  >YES<FONT 
  face="Courier New" size=2><SPAN 
  >
  <SPAN 
  >this<FONT 
  face=Arial color=navy size=2><SPAN 
  > would actually be 
  something like do the loop as long as i<<SPAN 
  class=SpellE>barcount where barcount = <SPAN 
  class=SpellE>lastvalue(cum(1))
  <SPAN 
  > 
  <SPAN 
  >Regards,
  <SPAN 
  >Peter
  <SPAN 
  > 
  <SPAN 
  >-----Original 
  Message-----From: 
  bluesinvestor [mailto:investor@xxxxxxxxxxxxx] <SPAN 
  >Sent: <st1:date Month="4" 
  Day="16" Year="2003"><SPAN 
  >Wednesday, April 16, 
  2003<SPAN 
  > <st1:time 
  Hour="10" Minute="51"><SPAN 
  >10:51 
  AM<SPAN 
  ><SPAN 
  >To: amibroker@xxxxxxxxxxxxxxx<SPAN 
  >Subject: RE: [amibroker] AmiBroker 4.31.0 
  BETA Examples
  <FONT face="Times New Roman" 
  size=3> 
  <FONT face=Arial color=navy 
  size=2>Hello 
  Jayson,
  <FONT face=Arial color=navy 
  size=2><SPAN 
  > 
  <FONT face=Arial 
  color=blue size=2><SPAN 
  >myema[ 0 ] = close 
  [0];<SPAN 
  >
  <FONT face=Arial color=navy 
  size=2><SPAN 
  > 
  <FONT face=Arial color=navy 
  size=2><SPAN 
  >Amibroker uses zero 
  based arrays meaning that the first record in an array is at the 0 
  position.  Basically this just 
  gives a value to the first myema array.  
  The zero position is the first data record of the close 
  array.
  <FONT face=Arial color=navy 
  size=2><SPAN 
  > 
  <FONT face="Arial CE" color=blue 
  size=2><SPAN 
  >for 
  (<SPAN 
  > <SPAN 
  >init-expression <SPAN 
  >; <SPAN 
  >cond-expression <SPAN 
  >; <SPAN 
  >loop-expression <SPAN 
  >) <SPAN 
  >statement <FONT 
  face="Courier New" size=2><SPAN 
  >
  <FONT face="Arial CE" 
  color=blue size=2><SPAN 
  >init-expression= 
  i=1;          
  <FONT face="Arial CE" color=blue 
  size=2><SPAN 
  >means we start 
  the loop with i=1? <FONT face="Arial CE" 
  color=red size=2><SPAN 
  >YES<FONT 
  face="Courier New" size=2><SPAN 
  >
  <FONT face="Arial CE" 
  color=blue size=2><SPAN 
  >condition 
  expression= i<barcount;         
  <FONT face="Arial CE" color=blue 
  size=2><SPAN 
  >means do the 
  loop as long as i< the current barcount (like cum(1))?? 
  <SPAN 
  >YES<FONT 
  face="Courier New" size=2><SPAN 
  >
  <FONT face="Arial CE" 
  color=blue size=2><SPAN 
  >loop expression= 
  i<SPAN 
  >++     
  <FONT face="Arial CE" color=blue 
  size=2><SPAN 
  >means 
  i+i+i  ??????????<SPAN 
  >  <FONT face="Arial CE" color=red 
  size=2><SPAN 
  >basically this 
  just means i = i + 1<FONT face="Arial CE" 
  color=red><SPAN 
  >
  <FONT face="Arial CE" 
  color=red size=2><SPAN 
  > 
  <FONT face=Arial color=navy 
  size=2>Hope 
  this helps,<SPAN 
  >
  <FONT face=Arial color=navy 
  size=2><SPAN 
  >Peter
  <SPAN 
  > 
  <SPAN 
  >-----Original 
  Message-----From: Jayson 
  [mailto:jcasavant@xxxxxxxxxxxx] <SPAN 
  >Sent: <st1:date Month="4" 
  Day="16" Year="2003"><SPAN 
  >Wednesday, April 16, 
  2003<SPAN 
  > <st1:time 
  Hour="10" Minute="35"><SPAN 
  >10:35 
  AM<SPAN 
  ><SPAN 
  >To: amibroker@xxxxxxxxxxxxxxx<SPAN 
  >Subject: RE: [amibroker] AmiBroker 4.31.0 
  BETA Examples
  <FONT face="Times New Roman" 
  size=3> 
  
  <FONT face=Arial color=blue 
  size=2>"All you 
  really need to know about new features in AFL<FONT face=Arial 
  color=blue> 
  
  
  <FONT face=Arial color=blue 
  size=2>I 
  described in:<SPAN 
  >
  
  <FONT face=Arial color=blue 
  size=2><SPAN 
  > <FONT 
  face=Arial color=blue><SPAN 
  >
  
  <FONT face=Arial color=blue 
  size=3><A 
  href=""><FONT 
  size=2><SPAN 
  >http://groups.yahoo.com/group/amibroker/message/37591<FONT 
  face=Arial color=blue size=2><SPAN 
  >  
  "<SPAN 
  >
  
  <FONT face=Arial color=blue 
  size=3><SPAN 
  > 
  
  <FONT face=Arial color=blue 
  size=3><SPAN 
  > 
  
  <FONT face=Arial color=blue 
  size=2>Well, 
  almost all........ <SPAN 
  >
  
  <FONT face=Arial color=blue 
  size=2><SPAN 
  > 
  
  <FONT face=Arial color=blue 
  size=2>Tomasz 
  or any one smarter than me,
  
  <FONT face="Times New Roman" 
  size=3> 
  
  <FONT face=Arial color=blue 
  size=2>Examples 
  certainly help. But I am still a bit lost.... from the 
  post....
  
  <FONT face="Times New Roman" 
  size=3> 
  
  <SPAN 
  > 
  
  <FONT face=Arial color=red 
  size=2>This 
  example illustrates the for 
  statement: <SPAN 
  ><FONT 
  face=Arial color=red size=2><SPAN 
  > <FONT 
  face="Courier New" size=2><SPAN 
  >
  
  <FONT face="Courier New" 
  color=red size=2>myema[ 0 ] = Close[ 
  0 ];
  
  <FONT face=Arial color=red 
  size=2>for( i = 
  1; i < BarCount; i++ )<FONT face=Arial color=red 
  size=2><SPAN 
  ><FONT 
  face=Arial><SPAN 
  >{<FONT 
  face=Arial>myema[ i ] = 0.1 * Close[ i ] + 
  0.9 * myema[ i - 1 ];<FONT 
  face="Courier New" size=2><SPAN 
  >
  
  <FONT face="Courier New" 
  size=2><SPAN 
  > 
  
  <FONT face=Arial color=blue 
  size=2>myema[ 0 
  ] = close [0];<SPAN 
  >
  
  <FONT face="Courier New" 
  size=2><SPAN 
  > 
  
  <FONT face=Arial color=blue 
  size=2>Do I 
  assume this translates to.....     myema today =close 
  today ??  similar to myema=c;??<FONT 
  face="Courier New" size=2><SPAN 
  >
  
  <FONT face="Courier New" 
  size=2><SPAN 
  > 
  
  <FONT face="Arial CE" color=blue 
  size=2><SPAN 
  >for 
  (<SPAN 
  > <SPAN 
  >init-expression <SPAN 
  >; <SPAN 
  >cond-expression <SPAN 
  >; <SPAN 
  >loop-expression <SPAN 
  >) <SPAN 
  >statement <FONT 
  face="Courier New" size=2><SPAN 
  >
  <FONT face="Arial CE" 
  color=blue size=2><SPAN 
  >init-expression= 
  i=1;          
  <FONT face="Arial CE" color=blue 
  size=2><SPAN 
  >means we start 
  the loop with i=1?<SPAN 
  >
  <FONT face="Arial CE" 
  color=blue size=2><SPAN 
  >condition 
  expression= i<barcount;         
  <FONT face="Arial CE" color=blue 
  size=2><SPAN 
  >means do the 
  loop as long as i< the current barcount (like 
  cum(1))??<SPAN 
  >
  <FONT face="Arial CE" 
  color=blue size=2><SPAN 
  >loop expression= 
  i++     <FONT face="Arial CE" 
  color=blue size=2><SPAN 
  >means 
  i+i+i  ??????????<SPAN 
  >
  
  <FONT face=Arial color=blue 
  size=2>Could 
  someone please convert the expression to 
  english? <SPAN 
  >
  
  <FONT face="Courier New" 
  size=2><SPAN 
  > 
  
  <FONT face="Arial CE" color=blue 
  size=2><SPAN 
  >Tia,<FONT 
  face="Courier New" size=2><SPAN 
  >
  
  <FONT face="Times New Roman" 
  size=3> 
  
  <FONT face=Arial color=blue 
  size=2>Jayson 
  
  <P class=MsoNormal 
  ><FONT 
  face=Tahoma size=2><SPAN 
  >-----Original 
  Message-----From: Tomasz 
  Janeczko [mailto:amibroker@xxxxxx]<SPAN 
  >Sent: <st1:date Month="4" 
  Day="16" Year="2003"><SPAN 
  >Wednesday, April 16, 
  2003<SPAN 
  > <st1:time Hour="5" 
  Minute="53"><SPAN 
  >5:53 
  AM<SPAN 
  ><SPAN 
  >To: amibroker@xxxxxxxxxxxxxxx<SPAN 
  >Subject: Re: [amibroker] AmiBroker 4.31.0 
  BETA Examples
  
  <FONT face="Times New Roman" 
  size=2>Hello,
  
  <FONT face="Times New Roman" 
  size=3> 
  
  <FONT face="Times New Roman" 
  size=2>I fully agree. for/while/if-else + array 
  access is covered
  
  <FONT face="Times New Roman" 
  size=2>on 3 or 4 pages of any C/C++ 
  book
  
  <FONT face="Times New Roman" 
  size=3> 
  
  <FONT face="Times New Roman" 
  size=2>So this is actually less than 1% of 
  entire C/C++ book.
  
  <FONT face="Times New Roman" 
  size=3> 
  
  <FONT face="Times New Roman" 
  size=2>So there is absolutely no need to 
  buy/read C++ book
  
  <FONT face="Times New Roman" 
  size=3> 
  
  <FONT face="Times New Roman" 
  size=2>All you really need to know about new 
  features in AFL
  
  <FONT face="Times New Roman" 
  size=2>I described 
  in:
  
  <FONT face="Times New Roman" 
  size=3> 
  
  <FONT face="Times New Roman" 
  size=2><A 
  href="">http://groups.yahoo.com/group/amibroker/message/37591
  
  <FONT face="Times New Roman" 
  size=3> 
  
  <FONT face="Times New Roman" 
  size=3> 
  
  <FONT face="Times New Roman" 
  size=3> 
  
  <FONT face="Times New Roman" 
  size=3>Best regards,Tomasz 
  Janeczkoamibroker.com
  <BLOCKQUOTE 
  >
    
    <SPAN 
    >----- Original Message ----- 
    
    
    <FONT 
    face=Arial size=2><SPAN 
    >From:<FONT 
    face=Arial size=2> <A 
    title=uenal.mutlu@xxxxxxxxxxx 
    href="">uenal.mutlu@xxxxxxxxxxx 
    
    
    <SPAN 
    >To:<FONT 
    face=Arial size=2> <A 
    title=amibroker@xxxxxxxxxxxxxxx 
    href="">amibroker@xxxxxxxxxxxxxxx 
    
    
    <SPAN 
    >Sent:<FONT 
    face=Arial size=2> 
    <FONT face=Arial 
    size=2>Wednesday, April 
    16, 2003<SPAN 
    > <st1:time 
    Hour="10" Minute="39"><SPAN 
    >10:39 
    AM<SPAN 
    >
    
    <SPAN 
    >Subject:<FONT 
    face=Arial size=2> Re: 
    [amibroker] AmiBroker 4.31.0 BETA 
Examples
    
    <FONT face="Times New Roman" 
    size=3><SPAN 
    > 
    
    <SPAN 
    >Hi 
    Steve,
    
    <SPAN 
    >C++ is definitely not 
    required to program in AFL;
    
    
    <SPAN 
    >it would be an overkill! 
    C++ covers maybe 10 times 
    
    <SPAN 
    >more stuff than 
    AFL.
    
    <SPAN 
    >The new stuff in AFL is easily 
    learnt within 2 hours.
    
    <SPAN 
    >Simply ask the people here. 
    
    
    <SPAN 
    >UM
    
    <FONT face="Times New Roman" 
    size=3><SPAN 
    > 
    <BLOCKQUOTE 
    >
      
      <SPAN 
      >----- Original Message ----- 
      
      
      <FONT 
      face=Arial size=2><SPAN 
      >From:<FONT 
      face=Arial size=2> <A 
      title=jcasavant@xxxxxxxxxxxx 
      href="">Jayson 
      
      
      <FONT face=Arial 
      size=2><SPAN 
      >To:<FONT 
      face=Arial size=2> <A 
      title=amibroker@xxxxxxxxxxxxxxx 
      href="">amibroker@xxxxxxxxxxxxxxx 
      
      
      <FONT face=Arial 
      size=2><SPAN 
      >Sent:<FONT 
      face=Arial size=2> 
      <FONT face=Arial 
      size=2>Wednesday, April 
      16, 2003<SPAN 
      > <st1:time 
      Hour="6" Minute="50"><SPAN 
      >6:50 
      AM<SPAN 
      >
      
      <FONT face=Arial 
      size=2><SPAN 
      >Subject:<FONT 
      face=Arial size=2> RE: 
      [amibroker] AmiBroker 4.31.0 BETA 
      Examples
      
      <FONT face="Times New Roman" 
      size=3><SPAN 
      > 
      
      <FONT face=Arial color=blue 
      size=2><SPAN 
      >Thank you Steve, 
      I will see if I can locate a copy.
      
      <FONT face="Times New Roman" 
      size=3><SPAN 
      > 
      
      <FONT face=Arial color=blue 
      size=2><SPAN 
      >Regards,
      
      <FONT face="Times New Roman" 
      size=3><SPAN 
      > 
      <FONT face=Arial color=blue 
      size=2><SPAN 
      >Jayson 
      
      <P class=MsoNormal 
      ><FONT 
      face=Tahoma size=2><SPAN 
      >-----Original 
      Message-----From: Steve 
      Dugas [mailto:sjdugas@xxxxxxxxx]<SPAN 
      >Sent: <st1:date 
      Month="4" Day="15" Year="2003"><SPAN 
      >Tuesday, April 15, 
      2003<SPAN 
      > <st1:time 
      Hour="23" Minute="22"><SPAN 
      >11:22 
      PM<SPAN 
      ><SPAN 
      >To: <A 
      href="">amibroker@xxxxxxxxxxxxxxx<SPAN 
      >Subject: Re: [amibroker] AmiBroker 
      4.31.0 BETA Examples
      
      <FONT face="Times New Roman" 
      size=2>Hi 
      Jayson,
      
      <FONT face="Times New Roman" 
      size=3><SPAN 
      > 
      
      <FONT face="Times New Roman" 
      size=2>Sorry to offer the help and then not 
      be around to follow through on it. But, Monday seems to roll around almost 
      every week these days, and then its off to work again. Better for you 
      though - TJ filled in for me  : - 
      )
      
      <FONT face="Times New Roman" 
      size=3><SPAN 
      > 
      
      <FONT face="Times New Roman" 
      size=2>I'm not sure what kind of book you 
      would like, but since TJ seems to follow C++ syntax, I can recommend a C++ 
      book that I found to be very good (pretty big though - over 1000 pages). 
      It is very thorough and easy to understand - definitely geared for 
      beginners in my opinion. It is "C++ Primer Plus" by Stephen Prata. I think 
      you could probably just read up on the items you are interested in if you 
      aren't interested in learning the whole language. Be careful because it 
      seems that there are a couple of other C++ books that call themselves 
      "primers", but are definitely NOT for beginners. Especially stay away 
      from Stanley Lippman's book, at least until you have some experience (take 
      it from me....please!).
      
      <FONT face="Times New Roman" 
      size=3><SPAN 
      > 
      
      <FONT face="Times New Roman" 
      size=2><SPAN 
      >Steve
      
      <FONT face="Times New Roman" 
      size=3><SPAN 
      > 
      <BLOCKQUOTE 
      >
        
        <FONT face=Arial 
        size=2>----- Original 
        Message ----- 
        
        <P class=MsoNormal 
        ><FONT face=Arial 
        size=2><SPAN 
        >From:<FONT 
        face=Arial size=2> <A 
        title=jcasavant@xxxxxxxxxxxx 
        href="">Jayson 
        
        
        <FONT face=Arial 
        size=2><SPAN 
        >To:<FONT 
        face=Arial size=2> <A 
        title=amibroker@xxxxxxxxxxxxxxx 
        href="">amibroker@xxxxxxxxxxxxxxx 
        
        
        <FONT face=Arial 
        size=2><SPAN 
        >Sent:<FONT 
        face=Arial size=2> 
        <FONT face=Arial 
        size=2>Monday, April 
        14, 2003<SPAN 
        > <st1:time 
        Hour="10" Minute="1"><SPAN 
        >10:01 
        AM<SPAN 
        >
        
        <FONT face=Arial 
        size=2><SPAN 
        >Subject:<FONT 
        face=Arial size=2> RE: 
        [amibroker] AmiBroker 4.31.0 BETA 
        Examples
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        
        <FONT face=Arial color=blue 
        size=2><SPAN 
        >Thank you 
        Tomasz. I have obviously gone from being fairly high on the learning 
        curve to Newbie in just one week end 
        :(
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        
        <FONT face=Arial color=blue 
        size=2><SPAN 
        >Could you 
        recommend a beginner level book that may help some of us get up to speed 
        with this new upgrade? I might as well be reading Japanese , but I don't 
        want to start THAT thread again :))
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        <FONT face=Arial color=blue 
        size=2><SPAN 
        >Jayson 
        
        <P class=MsoNormal 
        ><FONT 
        face=Tahoma size=2><SPAN 
        >-----Original 
        Message-----From: 
        Tomasz Janeczko [mailto:amibroker@xxxxxx]<SPAN 
        >Sent: <st1:date 
        Month="4" Day="14" Year="2003"><SPAN 
        >Monday, April 14, 
        2003<SPAN 
        > <st1:time 
        Hour="3" Minute="54"><SPAN 
        >3:54 
        AM<SPAN 
        ><SPAN 
        >To: 
        amibroker@xxxxxxxxxxxxxxx<SPAN 
        >Subject: Re: [amibroker] AmiBroker 
        4.31.0 BETA Examples
        
        <FONT face="Times New Roman" 
        size=2><SPAN 
        >Hello,
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        
        <FONT face="Times New Roman" 
        size=2>While IIF works on 
        ARRAY,
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        
        <FONT face="Times New Roman" 
        size=2>if/else works on INDIVIDUAL 
        number/boolean (element of the 
array).
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        
        <FONT face="Times New Roman" 
        size=2>Therefore you should write 
        either
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        
        <FONT face="Times New Roman" 
        size=2>a1 = IIF( C > Ref( C, -1 ), 1, 0 
        );
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        
        <FONT face="Times New Roman" 
        size=2>(or even: a1 = C > Ref( C, -1 
        );
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        
        <FONT face="Times New Roman" 
        size=2>or 
        iterate:
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        
        <FONT face="Times New Roman" 
        size=2>for( i = 1; i < BarCount; i++ 
        )
        
        <FONT face="Times New Roman" 
        size=2><SPAN 
>{
        
        <FONT face="Times New Roman" 
        size=2>   if  ( Close[ i ] 
        > Close[ i - 1 ] )
        
        <FONT face="Times New Roman" 
        size=2><SPAN 
        >       a1[ i ] = 
        1;
        
        <FONT face="Times New Roman" 
        size=2>   
        else
        
        <FONT face="Times New Roman" 
        size=2><SPAN 
        >       a1[ i 
        ] = 0;
        
        <FONT face="Times New Roman" 
        size=2><SPAN 
>}
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        
        <FONT face="Times New Roman" 
        size=2>It is important to understand that 
        IIF is a FUNCTION that works on 
        arrays,
        
        <FONT face="Times New Roman" 
        size=2>while if/else is control flow 
        STATEMENT.
        
        <FONT face="Times New Roman" 
        size=2>Function just evaluates all 
        arguments and returns value(s)
        
        <FONT face="Times New Roman" 
        size=2>Control flow statement changes 
        program flow.
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        
        <FONT face="Times New Roman" 
        size=2>This is fundamental 
        difference.
        
        <FONT face="Times New Roman" 
        size=3><SPAN 
        > 
        
        <FONT face="Times New Roman" 
        size=3>Best regards,Tomasz 
        Janeczkoamibroker.com
        <BLOCKQUOTE 
        >
          
          <FONT face=Arial 
          size=2>----- 
          Original Message ----- 
          
          <P class=MsoNormal 
          ><FONT face=Arial 
          size=2><SPAN 
          >From:<FONT 
          face=Arial size=2> 
          <A title=jcasavant@xxxxxxxxxxxx 
          href="">Jayson 
          
          
          <FONT face=Arial 
          size=2><SPAN 
          >To:<FONT 
          face=Arial size=2> 
          <A title=amibroker@xxxxxxxxxxxxxxx 
          href="">amibroker@xxxxxxxxxxxxxxx 
          
          
          <FONT face=Arial 
          size=2><SPAN 
          >Sent:<FONT 
          face=Arial size=2> 
          Monday, April 14, 2003 7:55 AM
          
          <FONT face=Arial 
          size=2><SPAN 
          >Subject:<FONT 
          face=Arial size=2> 
          RE: [amibroker] AmiBroker 4.31.0 BETA 
          Examples
          
          <FONT 
          face="Times New Roman" size=3><SPAN 
          > 
          
          <FONT face=Arial 
          color=blue size=2><SPAN 
          >Steve,
          
          <FONT face=Arial 
          color=blue size=2><SPAN 
          >Your example 
          makes sense yet does not seem to work for me. Else seems to be ignored 
          . Using the IIF this would simply be 
          ......
          
          <FONT face=Arial 
          color=blue size=2><SPAN 
          >a1=iif(c>ref(c,-1),1,0);  
          I am certainly missing something here.... your input 
          appreciated..
          
          <FONT face=Arial 
          color=blue size=2><SPAN 
          >jayson
          
          <FONT 
          face="Times New Roman" size=3><SPAN 
          > 
          
          <FONT face=Arial 
          color=blue size=2><SPAN 
          ><IMG 
          id=_x0000_i1025 height=638 src="gif00226.gif" 
          width=752 align=baseline border=0>
          
          <FONT 
          face="Times New Roman" size=3><SPAN 
          > 
          
          <FONT 
          face="Times New Roman" size=3><SPAN 
          > 
          <FONT face=Arial 
          color=blue size=2><SPAN 
          >Jayson 
          
          <P class=MsoNormal 
          ><FONT 
          face=Tahoma size=2><SPAN 
          >-----Original 
          Message-----From: 
          Steve Dugas [mailto:sjdugas@xxxxxxxxx]<SPAN 
          >Sent: Sunday, April 13, 2003 
          11:25 AMTo: 
          amibroker@xxxxxxxxxxxxxxx<SPAN 
          >Subject: Re: [amibroker] 
          AmiBroker 4.31.0 BETA Examples
          
          <FONT 
          face="Times New Roman" size=2>Hi 
          Ken,
          
          <FONT 
          face="Times New Roman" size=3><SPAN 
          > 
          
          <FONT 
          face="Times New Roman" size=2>I think 
          the concept of loops and if-then-else is the same in all languages. I 
          imagine you  could read up on it at many websites (e.g. 
          - MSDN scripting site). Once you grasp the concept, it is just a 
          matter of using AFL syntax. You would probably use it mostly for 
          iterating your arrays if you wanted to do that. Here is a simple 
          pseudo-code - try coding it in AFL:
          
          <FONT 
          face="Times New Roman" size=3><SPAN 
          > 
          
          <FONT 
          face="Times New Roman" size=2>For 
          (SecondBar to LastBar)
          
          <FONT 
          face="Times New Roman" size=2>  If 
          (Today's Close > Yesterday's 
          Close)
          
          <FONT 
          face="Times New Roman" size=2><SPAN 
          >    MyArray = 
          1
          
          <FONT 
          face="Times New Roman" size=2>  
          Else
          
          <FONT 
          face="Times New Roman" size=2><SPAN 
          >    MyArray = 
          0
          
          <FONT 
          face="Times New Roman" size=2>Plot 
          MyArray
          
          <FONT 
          face="Times New Roman" size=3><SPAN 
          > 
          
          <FONT 
          face="Times New Roman" size=2>Of course, 
          please feel free to ask for help!
          
          <FONT 
          face="Times New Roman" size=3><SPAN 
          > 
          
          <FONT 
          face="Times New Roman" size=2><SPAN 
          >Steve
          
          <FONT 
          face="Times New Roman" size=3><SPAN 
          > 
          
          <FONT 
          face="Times New Roman" size=3>----- 
          Original Message ----- 
          <BLOCKQUOTE 
          >
            
            <P class=MsoNormal 
            ><FONT face=Arial 
            size=2><SPAN 
            >From:<FONT 
            face=Arial size=2> 
            Tomasz 
            Janeczko 
            
            <FONT face=Arial 
            size=2><SPAN 
            >To:<FONT 
            face=Arial size=2> 
            <A title=amibroker@xxxxxxxxxxxxxxx 
            href="">amibroker@xxxxxxxxxxxxxxx 
            
            
            <FONT face=Arial 
            size=2><SPAN 
            >Sent:<FONT 
            face=Arial size=2> 
            Sunday, April 13, 2003 10:39 AM
            
            <FONT face=Arial 
            size=2><SPAN 
            >Subject:<FONT 
            face=Arial size=2> 
            Re: [amibroker] AmiBroker 4.31.0 BETA 
            Examples
            
            <FONT 
            face="Times New Roman" size=3><SPAN 
            > 
            
            <FONT 
            face="Times New Roman" size=2><SPAN 
            >Ken,
            
            <FONT 
            face="Times New Roman" size=3><SPAN 
            > 
            
            <FONT 
            face="Times New Roman" size=2>Very 
            nice story :-)
            
            <FONT 
            face="Times New Roman" size=3><SPAN 
            > 
            
            <FONT 
            face="Times New Roman" size=2>As per 
            your request, attached is a Parabolic SAR formula 
            
            
            <FONT 
            face="Times New Roman" size=2>that I 
            have rewritten from JScript 
            version
            
            <FONT 
            face="Times New Roman" size=2><SPAN 
            >(<A 
            href=""><FONT 
            size=2><SPAN 
            >http://www.amibroker.com/library/detail.php?id=242<FONT 
            size=2><SPAN 
            >)
            
            <FONT 
            face="Times New Roman" size=3><SPAN 
            > 
            
            <FONT 
            face="Times New Roman" size=3><SPAN 
            > 
            
            <FONT 
            face="Times New Roman" size=2>Best 
            regards,Tomasz 
            Janeczkoamibroker.com
            
            <FONT 
            face="Times New Roman" size=2>----- 
            Original Message ----- 
            
            <FONT 
            face="Times New Roman" size=2>From: 
            "Ken Close" <<A 
            href=""><SPAN 
            >closeks@xxxxxxxx<FONT 
            size=2><SPAN 
            >>
            
            <FONT 
            face="Times New Roman" size=2>To: 
            <<FONT 
            size=2><SPAN 
            >amibroker@xxxxxxxxxxxxxxx<FONT 
            size=2><SPAN 
            >>
            
            <FONT 
            face="Times New Roman" size=2>Sent: 
            Sunday, April 13, 2003 4:05 PM
            
            <FONT 
            face="Times New Roman" size=2>Subject: 
            RE: [amibroker] AmiBroker 4.31.0 BETA 
            Examples
            
            <FONT 
            face="Times New Roman" size=3><SPAN 
            > 
            <FONT 
            face="Times New Roman" size=2>> 
            Tomasz:> > As always, you have good sound 
            advice.  However......> > You say, "Here is a 
            fast sports car, very versatile and powerful.  It> has 7 
            forward gears, but if you are a beginner, do not 
            worry....always> stay in maximum of 4th gear. Plenty of nice 
            driving is possible in 4th> gear.   Wait until you 
            become more experienced before you try gears 5,> 6, and 
            7."> > I say, "Thank you for providing such a nimble 
            sports car, but I am in a> race, and I do not think I can 
            finish even 10th in this race, until I> get out past 4th 
            gear.  If you or others would just provide some more> 
            examples of how to use 5th and 6th gear, then I could more 
            confidently> try them. Maybe even copy your use of them. 
            Then, probably, I will have> enough experience to try 7th 
            gear on my own."> > More examples is all I am asking 
            for....my objective is not to stay in> 4th gear.> 
            > Thanks,> > Ken> > -----Original 
            Message-----> From: Tomasz Janeczko [mailto:amibroker@xxxxxx] 
            > Sent: Sunday, April 13, 2003 9:47 AM> To: 
            <FONT 
            size=2><SPAN 
            >amibroker@xxxxxxxxxxxxxxx<FONT 
            size=2>> Subject: Re: [amibroker] 
            AmiBroker 4.31.0 BETA Examples> > Ken,> 
            > > First, additional kudos to Tomasz for another 
            step-jump in capability> of> > Amibroker.> 
            Thank you.> > > Second, a caution, in marketing 
            terms, of having capability that is so> > hard to apply 
            for "non-programmers", beginners, and non-technical> 
            types> > that the extra capability is viewed not as an 
            advantage or benefit,> but> > just the 
            opposite.> > The beginners don't really need to jump 
            into deep water right from> the start as AFL still supports 
            "old-way" of work.> > When you write> > 
            TypicalPrice = (H+L+C) /3;> > it still operates on H, 
            L, C arrays and produces array so no> looping is 
            needed.> > New features are added as 'extra' stuff and 
            do not> change the way old statements work.> > 
            > I apologize - but may speak for many hidden lurkers - that I 
            have just> > mastered the idea that "every AFL statement 
            only executes once", but> now> > I must scramble to 
            reorient my brain for repeated iterations thru AFL> > 
            statements.> > See above - you don't need really to 
            write loops if you don't want them.> All previously written 
            code will execute the same way as before.> > Unless 
            you use a while and/or for loop nothing has really changed.> 
            > So, you don't really need to "re-orient your brain" 
            :-)> > You can view new features as a replacement of 
            JScript/VBScript.> You may use these new features only when 
            you needed to use> scripting in previous versions.> 
            > Best regards,> Tomasz Janeczko> 
            amibroker.com
    <FONT face="Times New Roman" 
    size=3><FONT 
    face="Courier New" size=2>Send BUG REPORTS to 
    bugs@xxxxxxxxxxxxx<SPAN 
    ><FONT 
    face="Courier New">Send SUGGESTIONS to 
    suggest@xxxxxxxxxxxxx<FONT 
    face="Courier New">-----------------------------------------<FONT 
    face="Courier New">Post AmiQuote-related messages ONLY to: 
    amiquote@xxxxxxxxxxxxxxx (Web 
    page: <A 
    href="">http://groups.yahoo.com/group/amiquote/messages/)<FONT 
    face="Courier New">--------------------------------------------<FONT 
    face="Courier New">Check group FAQ at: <A 
    href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
    <SPAN 
    >Your use of Yahoo! Groups is subject to the <A 
    href="">Yahoo! Terms of 
    Service. 
  <FONT face="Times New Roman" 
  size=3><FONT 
  face="Courier New" size=2>Send BUG REPORTS to 
  bugs@xxxxxxxxxxxxx<SPAN 
  ><FONT 
  face="Courier New">Send SUGGESTIONS to 
  suggest@xxxxxxxxxxxxx<FONT 
  face="Courier New">-----------------------------------------<FONT 
  face="Courier New">Post AmiQuote-related messages ONLY to: 
  amiquote@xxxxxxxxxxxxxxx (Web 
  page: <A 
  href="">http://groups.yahoo.com/group/amiquote/messages/)<FONT 
  face="Courier New">--------------------------------------------<FONT 
  face="Courier New">Check group FAQ at: <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
  Your 
  use of Yahoo! Groups is subject to the <A 
  href="">Yahoo! Terms of 
  Service. <BR 
  ><BR 
  >
  <FONT face="Courier New" 
  size=2>Send BUG REPORTS to 
  bugs@xxxxxxxxxxxxx<SPAN 
  ><FONT 
  face="Courier New">Send SUGGESTIONS to 
  suggest@xxxxxxxxxxxxx<FONT 
  face="Courier New">-----------------------------------------<FONT 
  face="Courier New">Post AmiQuote-related messages ONLY to: 
  amiquote@xxxxxxxxxxxxxxx (Web 
  page: <A 
  href="">http://groups.yahoo.com/group/amiquote/messages/)<FONT 
  face="Courier New">--------------------------------------------<FONT 
  face="Courier New">Check group FAQ at: <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
  Your 
  use of Yahoo! Groups is subject to the <A 
  href="">Yahoo! Terms of 
  Service. 
  <FONT face="Times New Roman" 
  size=3><BR 
  ><BR 
  ><FONT 
  face="Courier New" size=2>Send BUG REPORTS to 
  bugs@xxxxxxxxxxxxx<SPAN 
  ><FONT 
  face="Courier New">Send SUGGESTIONS to 
  suggest@xxxxxxxxxxxxx<FONT 
  face="Courier New">-----------------------------------------<FONT 
  face="Courier New">Post AmiQuote-related messages ONLY to: 
  amiquote@xxxxxxxxxxxxxxx (Web 
  page: <A 
  href="">http://groups.yahoo.com/group/amiquote/messages/)<FONT 
  face="Courier New">--------------------------------------------<FONT 
  face="Courier New">Check group FAQ at: <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
  Your 
  use of Yahoo! Groups is subject to the <A 
  href="">Yahoo! Terms of 
  Service. 
  Send BUG REPORTS to bugs@xxxxxxxxxxxxxSend 
  SUGGESTIONS to 
  suggest@xxxxxxxxxxxxx-----------------------------------------Post 
  AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: <A 
  href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
  group FAQ at: <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
  Your use of Yahoo! Groups is subject to the <A 
  href="">Yahoo! Terms of Service. 
  Send 
  BUG REPORTS to bugs@xxxxxxxxxxxxxSend SUGGESTIONS to 
  suggest@xxxxxxxxxxxxx-----------------------------------------Post 
  AmiQuote-related messages ONLY to: amiquote@xxxxxxxxxxxxxxx (Web page: <A 
  href="">http://groups.yahoo.com/group/amiquote/messages/)--------------------------------------------Check 
  group FAQ at: <A 
  href="">http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
  Your use of Yahoo! Groups is subject to the <A 
  href="">Yahoo! Terms of Service. 







Yahoo! Groups Sponsor


ADVERTISEMENT









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.


Attachment: Description: ""