PureBytes Links
Trading Reference Links
|
Jayson,
I am not sure but I think you were using Tradestation
before..
if I am correct let me explain some fundamental
difference.
Tradestation is designed so there is a "super-loop"
outside
that iterates your formula for all bars.
The formula in Tradestation is executed (number-of-bars)
times.
AmiBroker is different because the formula is executed only
once
(there is no hidden super-loop outside of your
formula).
If you write
Typical = ( H + L + C )/3;
AmiBroker takes h, l, c arrays and adds each element to the
arrays
to produce 'typical' array. This statement is parsed only
once
and AmiBroker processes entire array at once.
The same code in Tradestaton would be wrapped in a
'super-loop'
that iterates the same code n-times.
Now using newly introduced for statement in AFL we can
'emulate' what TS does:
for( i = 0; i < BarCount; i++ )
{
Typical[ i ] = ( High[ i ] + Low[ i ] +
Close[ i ] ) / 3;
}
The difference is that in AB you have full control over this
loop
while in TS the outmost loop is hidden and hard-coded by TS
developers.
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 4:34
PM
Subject: RE: [amibroker] AmiBroker 4.31.0
BETA Examples
<FONT
size=2>"All you really need to know about new features in AFL
I described in:
<FONT
size=2>http://groups.yahoo.com/group/amibroker/message/37591<FONT
face=Arial size=2> "
<SPAN
class=920470514-16042003>
<SPAN
class=920470514-16042003>
Well, almost
all........
<SPAN
class=920470514-16042003>
<SPAN
class=920470514-16042003>Tomasz or any one smarter than
me,
<SPAN
class=920470514-16042003>
<SPAN
class=920470514-16042003>Examples certainly help. But I am still a bit
lost.... from the post....
<SPAN
class=920470514-16042003>
This example
illustrates the for
statement: <FONT face=Arial
color=#ff0000 size=2>
myema[ 0 ] = Close[ 0
];
for( i = 1; i < BarCount;
i++ ){myema[ i ] = 0.1 * Close[ i ] + 0.9 * myema[ i - 1
];
<SPAN
class=920470514-16042003>myema[ 0 ] = close [0];
<SPAN
class=920470514-16042003>
<SPAN
class=920470514-16042003>Do I assume this translates
to..... myema today =close today ?? similar to
myema=c;??
<SPAN
class=920470514-16042003>
for
( init-expression ; cond-expression ;
loop-expression ) statement
<SPAN
class=920470514-16042003>init-expression=
i=1; means
we start the loop with i=1?
<SPAN
class=920470514-16042003>condition expression=
i<barcount;
means do the loop as long as i< the current barcount (like
cum(1))??
<SPAN
class=920470514-16042003>loop expression= i++
means i+i+i ??????????
<SPAN
class=920470514-16042003>Could someone please convert the expression to
english?
<SPAN
class=920470514-16042003>
<SPAN
class=920470514-16042003>Tia,
<SPAN
class=920470514-16042003>
Jayson
<FONT face=Tahoma
size=2>-----Original Message-----From: Tomasz Janeczko
[mailto:amibroker@xxxxxx]Sent: Wednesday, April 16, 2003 5:53
AMTo: amibroker@xxxxxxxxxxxxxxxSubject: Re: [amibroker]
AmiBroker 4.31.0 BETA Examples
Hello,
I fully agree. for/while/if-else + array access is
covered
on 3 or 4 pages of any C/C++ book
So this is actually less than 1% of entire C/C++
book.
So there is absolutely no need to buy/read C++
book
All you really need to know about new features in
AFL
I described in:
<A
href="">http://groups.yahoo.com/group/amibroker/message/37591
Best regards,Tomasz Janeczkoamibroker.com
<BLOCKQUOTE
>
----- Original Message -----
<DIV
>From:
<A title=uenal.mutlu@xxxxxxxxxxx
href="">uenal.mutlu@xxxxxxxxxxx
To: <A title=amibroker@xxxxxxxxxxxxxxx
href="">amibroker@xxxxxxxxxxxxxxx
Sent: Wednesday, April 16, 2003 10:39
AM
Subject: Re: [amibroker] AmiBroker
4.31.0 BETA Examples
Hi Steve,
C++ is definitely not required to program in
AFL;
it would be an overkill! <FONT
face=Arial>C++ covers maybe 10 times
more stuff than AFL.
The new stuff in AFL is easily learnt within 2
hours.
Simply ask the people here.
UM
<BLOCKQUOTE
>
----- Original Message -----
<DIV
>From:
<A title=jcasavant@xxxxxxxxxxxx
href="">Jayson
To: <A
title=amibroker@xxxxxxxxxxxxxxx
href="">amibroker@xxxxxxxxxxxxxxx
Sent: Wednesday, April 16, 2003 6:50
AM
Subject: RE: [amibroker] AmiBroker
4.31.0 BETA Examples
<SPAN
class=082024904-16042003>Thank you Steve, I will see if I can locate a
copy.
<SPAN
class=082024904-16042003>
<SPAN
class=082024904-16042003>Regards,
<FONT face=Arial color=#0000ff
size=2>Jayson
<FONT face=Tahoma
size=2>-----Original Message-----From: Steve Dugas
[mailto:sjdugas@xxxxxxxxx]Sent: Tuesday, April 15, 2003 11:22
PMTo: <A
href="">amibroker@xxxxxxxxxxxxxxxSubject:
Re: [amibroker] AmiBroker 4.31.0 BETA Examples
Hi Jayson,
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 : - )
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!).
Steve
<BLOCKQUOTE
>
----- Original Message -----
<DIV
>From:
<A title=jcasavant@xxxxxxxxxxxx
href="">Jayson
To: <A
title=amibroker@xxxxxxxxxxxxxxx
href="">amibroker@xxxxxxxxxxxxxxx
Sent: Monday, April 14, 2003 10:01
AM
Subject: RE: [amibroker] AmiBroker
4.31.0 BETA Examples
<SPAN
class=732395813-14042003>Thank you Tomasz. I have obviously gone from
being fairly high on the learning curve to Newbie in just one week end
:(
<SPAN
class=732395813-14042003>
<SPAN
class=732395813-14042003>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
:))
Jayson
<FONT face=Tahoma
size=2>-----Original Message-----From: Tomasz Janeczko
[mailto:amibroker@xxxxxx]Sent: Monday, April 14, 2003 3:54
AMTo: amibroker@xxxxxxxxxxxxxxxSubject: Re:
[amibroker] AmiBroker 4.31.0 BETA Examples
Hello,
While IIF works on ARRAY,
if/else works on INDIVIDUAL number/boolean (element of
the array).
Therefore you should write either
a1 = IIF( C > Ref( C, -1 ), 1, 0 );
(or even: a1 = C > Ref( C, -1 );
or iterate:
for( i = 1; i < BarCount; i++ )
{
if ( Close[ i ] > Close[ i - 1 ]
)
a1[ i ] =
1;
else
a1[ i ] =
0;
}
It is important to understand that IIF is a FUNCTION
that works on arrays,
while if/else is control flow STATEMENT.
Function just evaluates all arguments and returns
value(s)
Control flow statement changes program
flow.
This is fundamental difference.
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: Monday, April 14, 2003 7:55
AM
Subject: RE: [amibroker]
AmiBroker 4.31.0 BETA Examples
<SPAN
class=934273705-14042003>Steve,
<SPAN
class=934273705-14042003>Your example makes sense yet does not seem to
work for me. Else seems to be ignored . Using the IIF this would
simply be ......
<SPAN
class=934273705-14042003>a1=iif(c>ref(c,-1),1,0); I am
certainly missing something here.... your input
appreciated..
<SPAN
class=934273705-14042003>jayson
<SPAN
class=934273705-14042003>
<SPAN
class=934273705-14042003><FONT face=Arial color=#0000ff
size=2><IMG alt="" hspace=0
src="gif00222.gif" align=baseline
border=0>
<SPAN
class=934273705-14042003>
Jayson
<FONT face=Tahoma
size=2>-----Original Message-----From: Steve Dugas
[mailto:sjdugas@xxxxxxxxx]Sent: Sunday, April 13, 2003
11:25 AMTo: amibroker@xxxxxxxxxxxxxxxSubject:
Re: [amibroker] AmiBroker 4.31.0 BETA Examples
Hi Ken,
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:
For (SecondBar to LastBar)
If (Today's Close > Yesterday's
Close)
MyArray = 1
Else
MyArray = 0
Plot MyArray
Of course, please feel free to ask for
help!
Steve
----- Original Message -----
<BLOCKQUOTE
>
<DIV
>From:
Tomasz
Janeczko
To: <A
title=amibroker@xxxxxxxxxxxxxxx
href="">amibroker@xxxxxxxxxxxxxxx
Sent: Sunday, April 13, 2003
10:39 AM
Subject: Re: [amibroker]
AmiBroker 4.31.0 BETA Examples
Ken,
Very nice story :-)
As per your request, attached is a Parabolic SAR
formula
that I have rewritten from JScript
version
(<A
href=""><FONT
size=2>http://www.amibroker.com/library/detail.php?id=242<FONT
size=2>)
Best regards,Tomasz
Janeczkoamibroker.com
----- Original Message -----
From: "Ken Close" <<A
href=""><FONT
size=2>closeks@xxxxxxxx>
To: <<A
href=""><FONT
size=2>amibroker@xxxxxxxxxxxxxxx<FONT
size=2>>
Sent: Sunday, April 13, 2003 4:05 PM
Subject: RE: [amibroker] AmiBroker 4.31.0 BETA
Examples
> 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: <A
href=""><FONT
size=2>amibroker@xxxxxxxxxxxxxxx>
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.comSend
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.
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: ""
|