PureBytes Links
Trading Reference Links
|
Ted,
AFL is like C++ only in the sense that C++ is like C. All of what you have helpfully described exists in C, without need of any of the object oriented constructs of C++.
Studying C++ would probably confuse a non programmer. If opting to study another language, I suspect that C would be the better choice.
And yes, using IIF would be more efficient than a loop.
Mike
--- In amibroker@xxxxxxxxxxxxxxx, Ted Byers <r.ted.byers@xxx> wrote:
>
> On Thu, Dec 3, 2009 at 1:15 PM, bistrader <bistrader@xxx> wrote:
>
> >
> >
> > i is element of array; i++ is counter for "for" statement. Loop goes thru
> > all values. Better, in my opinion, is iff as defined below.
> >
> > Not quite.
>
> If you're going to write a program or script, you have to be more precise
> than that. 'i' is not an element of the array. Rather it is an index
> referring to an element of the array (the precise concept of what 'i' is
> depends on what programming language you're using, but what I have given
> here is good enough for someone beginning his exposure to programming using
> AFL). 'i++' is not a counter. Rather it is a statement applying the unary
> operator '++' to the index 'i'. It is correct, though, that it loops
> through all the elements of the array.
>
> A for loop in AFL (and in C++ and Java and a number of related languages)
> has a structure you need to understand. That is "for (initialization code ;
> test ; end code)". You can see that in action in your example. "i = 0"
> creates and initializes your index variable. "i < *BarCount"* verifies that
> 'i' always has a value less than 'BarCount'. If this test fails (returns
> false) the expression 'Close[i]' would refer to an element that is not in
> the array. This test, therefore, ensures that the loop operates only on
> elements that really exist in the array. The end code 'i++' increments the
> value of 'i' by one after all the work in the loop is complete, and
> basically restarts the loop with the incremented value of 'i' (so once it is
> finished with one element in the array it can work on the next). This keeps
> going until 'i' has the same value as 'BarCount - 1' . At the end of the
> loop where 'i' has that value, it is given the value 'BarCount', and the
> test fails. At that point, execution resums on the next executable
> statement after that body of the loop.
>
> I could be wrong, but my impression on a first examination of AFL is that a
> large proportion of the syntax and semantics of AFL is borrowed from C++.
> If 'learner' is unfamiliar with programming, any introductory text on C++
> may be helpful in understanding more fully AFL. Having had some experience
> teaching software engineering, I would not regard the documentation provided
> with AmiBroker or in the books related to it as a suitable introduction to
> programming using AFL (rather, those seem more appropriate as a reference
> for someone who is already a reasonably proficient programmer). If the
> developers of AmiBroker are inclined to accept advice from someone like me,
> I'd suggest an extra book that would take the description of AFL, provided
> in the Introduction to AmiBroker, and expand it into a book that could serve
> as an introductory programming book that happens to use AFL (using one of
> Stroustrup's books on C++, or Koenig and Moo's book on C++ as a model).
>
> I won't comment on the relative benefit of the function 'iff' as I have not
> tested it or executed benchmarks using it.
>
> HTH
>
> Ted
>
>
> >
> > --- In amibroker@xxxxxxxxxxxxxxx <amibroker%40yahoogroups.com>, "Ton
> > Sieverding" <ton.sieverding@> wrote:
> > >
> > > What about :
> > >
> > > color = iif(C>0,colorgreen,colorred);
> > >
> > > Regards, Ton.
> > >
> > > ----- Original Message -----
> > > From: Joe Landry
> > > To: amibroker@xxxxxxxxxxxxxxx <amibroker%40yahoogroups.com>
> > > Sent: Thursday, December 03, 2009 3:28 PM
> > > Subject: Re: [amibroker] please read this formula and tell what it is?
> > >
> > >
> > >
> > >
> > > Is this a test?
> > > Joe
> > > ----- Original Message -----
> > > From: learner
> > > To: amibroker@xxxxxxxxxxxxxxx <amibroker%40yahoogroups.com>
> > > Sent: Thursday, December 03, 2009 8:12 AM
> > > Subject: [amibroker] please read this formula and tell what it is?
> > >
> > >
> > >
> > > for( i = 0; i < BarCount; i++ )
> > > {
> > > if( Close[ i ] > Open[ i ] ) // CORRECT
> > > Color[ i ] = colorGreen;
> > > else
> > > Color[ i ] = colorRed;
> > > }
> > >
> > >
> > >
> > >
> > >
> > > please read above formula and tell me what is i and i++
> > > what it does exactly?
> > > thankyou for support
> > >
> >
> >
> >
>
>
>
> --
> R.E.(Ted) Byers, Ph.D.,Ed.D.
> TED@xxx
> CTO
> Merchant Services Corp.
> 350 Harry Walker Parkway North, Suite 8
> Newmarket, Ontario
> L3Y 8L3
>
------------------------------------
**** IMPORTANT PLEASE READ ****
This group is for the discussion between users only.
This is *NOT* technical support channel.
TO GET TECHNICAL SUPPORT send an e-mail directly to
SUPPORT {at} amibroker.com
TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
http://www.amibroker.com/feedback/
(submissions sent via other channels won't be considered)
For NEW RELEASE ANNOUNCEMENTS and other news always check DEVLOG:
http://www.amibroker.com/devlog/
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/amibroker/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/amibroker/join
(Yahoo! ID required)
<*> To change settings via email:
amibroker-digest@xxxxxxxxxxxxxxx
amibroker-fullfeatured@xxxxxxxxxxxxxxx
<*> To unsubscribe from this group, send an email to:
amibroker-unsubscribe@xxxxxxxxxxxxxxx
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
|