Hello,
Abandon this way of thinking. You should forget how TS works
and start thinking array-wise.
It is possible to "maintain" value using static variables but
it is simpy wrong way of approaching
the coding in AB (like using hammer to kill a
fly).
Once you forget TS and start thinking array-wise you will soon
discover advantages of it
including simplicity of code and MUCH faster execution and new
possibilities NEVER possible in TS
(like portfolio backtesting which would be extremely memory
and time inefficient if implemented in TS-execution way).
Best regards, Tomasz Janeczko amibroker.com
----- Original Message -----
Sent: Tuesday, January 31, 2006 3:04
PM
Subject: Re: [amibroker] Re: Initializing
Variables once at the start of the program
Hi Fred, thanks for this... that is helpful.
WHat happens when I am intraday trading. I think this will be processed
every TICK. Is that correct ?
I want to process my historical bars ONCE, then only process the bars I
haven't processed - the real time bars. SO, when I apply my indicator,
it will start from bar 0, go to current bar, and then ONLY process new bars
and new real time ticks from there - like Tradestation does.
I can't seem to set a variable that maintains it's value - I can't
initialize it to FALSE on the first bar, and then have it increment as I
process bars. Is there a way to do that ?
Thanks
-----amibroker@xxxxxxxxxxxxxxx wrote:
-----
To:
amibroker@xxxxxxxxxxxxxxx From: "Fred"
<ftonetti@xxxxxxxxxxxxx> Sent by:
amibroker@xxxxxxxxxxxxxxx Date: 01/30/2006 11:49PM Subject:
[amibroker] Re: Initializing Variables once at the start of the
program
TradeStation easy language is processed from to top to
bottom a bar at a time ...
AmiBroker AFL is processed from top
to bottom with each statement being executed ONCE and ONLY ONCE ... NOT
ONCE PER BAR ...
Unless you build your own Do / While / For Loops
and subscript the ARRAYS then typically each statement works on the
entire ARRAY ...
For example ...
If I write the AFL
BS = Ref(H, -1) * 1.001; SS = Ref(L, -1) * 0.999;
Buy =
C > BS; Sell = C < SS;
Then each of the above statements
will be evaulated once ... not once per bar ...
The first
statement will cause an array to be built with each value along the
array being 1.001 * The previous bars high. Once this statement is
executed or evaluated once it will never be executed or evaluated again.
The second statement will cause an array to be built with each value
along the array being 0.999 * The previous bars low.
The third
and fourth statement evaluate whether buys and sells take place over the
entire history of data that is being looked at ... again by being
evaluated ONCE ... NOT ONCE PER BAR ...
I came from TS as well ...
years and years of it ... it is at first difficult to visualize the
concept of array arithmetic but in time you'll get used to it ...
--- In amibroker@xxxxxxxxxxxxxxx, "clarusinnovation"
<mfishburn@xxxx> wrote: > > Hi, > > I
want to initialize a variable CurrentBar at the start of my program
> once to 0 - meaning I haven't processed this bar yet. (and a lot of
> other variables I want too) > > I don't know how or
where to put the variables so they won't get > initialized every time
through the program. I want to keep their > values as I climb up
through the bars. > > each bar that counts up, I want to
increment this counter. > > I tried StaticVariables, but they
don't seem to work. How do I > initialize them ONCE and then
increment them from there ? > > Please don't tell me to read
the manual, I have been up and down it, > reading Understanding
AFL, it is taking me days to do the simplest > things...... and it
isn't working for me. I came from Tradestation > and I could
understand bar flow, with Ami I don't. > > Please just tell me
what to do, and where to put the code. > > I tried initalizing
the variable in a #Include_ONCE file, that didn't > work.
> > Thanks a lot, it is very frustrating. > >
Mark >
Please note that this group is for discussion between users only.
To get support from AmiBroker please send an e-mail directly to
SUPPORT {at} amibroker.com
For other support material please check also:
http://www.amibroker.com/support.html
SPONSORED LINKS
YAHOO! GROUPS LINKS
|