| 
 PureBytes Links 
Trading Reference Links 
 | 
Totally agree with Herman.  I'm not sure if the extra debuggin window 
will be of much help to people who dont' understand the difference 
between an array and variables.
--- In amibroker@xxxxxxxxxxxxxxx, "Herman van den Bergen" 
<psytek@xxxx> wrote:
> Why don't you just PLOT the arrays, each line in your chart reveals 
exactly
> the same information but in a much more intuitive and visual way. 
When you
> are looking at a chart you ARE looking at ARRAYS of numbers, you 
can read
> the value of the array in the right labels. You can also turn on 
Price Data
> Tooltips and read the value for each line (ARRAY!) in the tooltip 
window. Or
> you can display the values in the Title of the chart.
> 
> Charting intermediate results (ARRAYS) is a powerful debugging tool 
and also
> will help you understand how indicators work.
> 
> herman
>   -----Original Message-----
>   From: danielwardadams [mailto:danielwardadams@x...]
>   Sent: Sunday, November 14, 2004 11:54 PM
>   To: amibroker@xxxxxxxxxxxxxxx
>   Subject: [amibroker] Re: BarsSince(Buy) -- One idea
> 
> 
> 
>   Tomasz,
>   One idea I had that might make understanding array processing 
easier
>   would be to be able to (optionally) display the array data in a
>   spreadsheet-like row and column format in a separate window (in 
real-
>   time). It would also make it obvious which data is in arrays
>   versus simple variables. Although there are ways to accomplish the
>   same thing (using lots of print statements or title variables 
which I
>   usually do when I'm stuck on a problem), it would be nice to have
>   a "debugging pane/window" that displayed some or all this data.
> 
>   The following won't be formatted right but is from the users 
guide.
>   If this appeared in a separate pane/window linked to a graph, I 
think
>   it could help a lot.
> 
>     Bar          1    2    3     4    5    6     7    8    9   10
>   1 High       1,24 1,27 1,25  1,29 1,25 1,29  1,35 1,35 1,37 1,29
>   2 Low        1,20 1,21 1,19  1,20 1,21 1,24  1,30 1,28 1,31 1,27
>   3 High+Low   2,44 2,48 2,44  2,49 2,46 2,53  2,65 2,63 2,68 2,46
>   4 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
> 
>   An easy implementation of it would be to display all active array
>   data in a popup window as you move the cursor (selection bar) 
across
>   a chart.
> 
>   If you like the idea (or some variation thereof), I'm sure you 
could
>   think of a user friendly way to present the data.
> 
>   Dan
> 
> 
>   --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko" 
<amibroker@xxxx>
>   wrote:
>   > Dan,
>   >
>   > You are right I am too close to this to see things the way 
others
>   do.
>   > Partially the problem is often caused by so many ways available
>   > to achieve particular goal that most users may find it difficult
>   > to find "optimum" one.
>   > Partially it is because of relatively small amount of examples
>   > found in the guide. I think that increasing number of examples
>   > will help.
>   > Therefore I have one request to the users:
>   > since I am too close to and may come up with too complex or
>   > too simplistic examples, I am keen to listen in which areas
>   > you are most blocked on and what systems/techniques are 
difficult
>   > to you. Once we complete the list of things being considered
>   > as problematic by majority of users I will be able to prepare
>   > example codes with explanations that will address your actual
>   problems.
>   >
>   > Best regards,
>   > Tomasz Janeczko
>   > amibroker.com
>   > ----- Original Message -----
>   > From: "danielwardadams" <danielwardadams@xxxx>
>   > To: <amibroker@xxxxxxxxxxxxxxx>
>   > Sent: Saturday, November 13, 2004 3:05 AM
>   > Subject: [amibroker] Re: BarsSince(Buy)
>   >
>   >
>   > >
>   > >
>   > > I hate to jump in the middle of this but in Owen's defense I
>   think
>   > > there is something about Amibroker that is extremely hard to
>   grasp.
>   > > I have 35 years experience writing software, 15-20 years
>   experience
>   > > doing fairly complex spreadsheet applications, and I've read 
the
>   > > (well written) portion of the user's guide on array processing
>   > > several times. Yet I'm constantly finding problems in my 
results -
>   -
>   > > frequently due to BarSince problems.
>   > >
>   > > When I find the problems, in retrospect they almost always 
seems
>   > > obvious and I wonder how I could have been do dumb. So I fix 
them
>   and
>   > > then -- either right away or a few days later -- I find that 
I've
>   > > introduced one or more other problems (frequently also due to
>   > > BarSince).
>   > >
>   > > Then I look at something like Tomasz's BarSince looping code 
and
>   > > it seems so obvious I wonder how I could have been so dumb.
>   > >
>   > > I think Tomasz is much too close to it to realize AFL is hard 
to
>   get
>   > > your mind around. If you are intimately familiar with the
>   processing
>   > > underlying every type of statment, I'm sure everything seems 
easy
>   and
>   > > obvious.
>   > >
>   > > Maybe my problem was not biting the bullet and learning how to
>   use
>   > > loops in the first place. Yet I think I remember reading in 
the
>   > > user's guide that you could accomplish everything with or 
without
>   > > loops and for some reason I thought writing without them was 
the
>   > > newer/better/preferred way to work with AB.
>   > >
>   > > I also understand Tomasz's reluctance to insert things into 
the
>   > > language which he perceives as compromizing the elegant 
simplicty
>   and
>   > > power of AB.
>   > >
>   > > I don't know what the answer is. There are probably ways to 
ease
>   the
>   > > AB learning curve but I won't pretend to know what they are.
>   > >
>   > > Dan
>   > >
>   > >
>   > > --- In amibroker@xxxxxxxxxxxxxxx, "Tomasz Janeczko"
>   <amibroker@xxxx>
>   > > wrote:
>   > >> Hello,
>   > >>
>   > >> What you wrote is COMPLETELY WRONG.
>   > >> You simply completely lack the understanding how BarsSince 
works,
>   > >> how MS works and how AB works.
>   > >>
>   > >> FYI: Metastock BarsSince works the same as AFLs.
>   > >> You simply are misguided by MS formulas using infamous "PREV"
>   > > statement
>   > >> that is basically the worst idea Equis programmers came up 
with.
>   > >>
>   > >> Please READ 
http://www.amibroker.com/guide/h_understandafl.html
>   > >>
>   > >> Read it twice, three times or four, five or ten times if
>   necessary.
>   > >>
>   > >> Your problem is that you want to use "PREVIOUS" bar value.
>   > >> There are many ways to achive this goal but most general
>   > >> is TO USE LOOPING.
>   > >> =============
>   > >>
>   > >> Simple and straightforward AND *FAST* (compared to horrible
>   > > MS "Prev")
>   > >>
>   > >> See sample code that demonstrates it (posted tens of times
>   already)
>   > >> and also available in
>   http://www.amibroker.com/guide/whatsnew.html
>   > >> document (at the very end):
>   > >>
>   > >> /* a sample low-level implementation of Profit-target stop in
>   AFL:
>   > > */
>   > >> Buy = Cross( MACD(), Signal() );
>   > >>
>   > >> priceatbuy=0;
>   > >>
>   > >> for( i = 0; i < BarCount; i++ )
>   > >> {
>   > >>      if( priceatbuy == 0 && Buy[ i ] )
>   > >>      priceatbuy = BuyPrice[ i ];
>   > >>
>   > >>      if( priceatbuy > 0 && SellPrice[ i ] > 1.1 * 
priceatbuy )
>   > >>      {
>   > >>        Sell[ i ] = 1;
>   > >>        SellPrice[ i ] = 1.1 * priceatbuy;
>   > >>        priceatbuy = 0;
>   > >>      }
>   > >>      else
>   > >>        Sell[ i ] = 0;
>   > >> }
>   > >>
>   > >>
>   > >> Best regards,
>   > >> Tomasz Janeczko
>   > >> amibroker.com
>   > >> ----- Original Message -----
>   > >> From: "Owen Davies" <owen5819@xxxx>
>   > >> To: <amibroker@xxxxxxxxxxxxxxx>
>   > >> Sent: Friday, November 12, 2004 2:50 PM
>   > >> Subject: Re: [amibroker] BarsSince(Buy)
>   > >>
>   > >>
>   > >> >
>   > >> > Tomasz Janeczko wrote:
>   > >> >
>   > >> >>You can use ExRemSpan instead: (etc.)
>   > >> >>
>   > >> >
>   > >> > I could again go over why this doesn't work?
>   > >> >
>   > >> > Please trace through the logic of what happens when 
ExRemSpan
>   > > lands you
>   > >> > on another day when the Buy conditions are true.
>   > >> >
>   > >> > For example--the example I used maybe two weeks ago--take 
the
>   > > classic
>   > >> > Larry Williams system with a volatility-breakout entrance 
and
>   his
>   > >> > "bailout" exit:  Enter when today's High is higher than the
>   Open
>   > > plus
>   > >> > (some fraction of) yesterday's range.  To get out, wait one
>   bar,
>   > > to give
>   > >> > the price time to move, and Sell on the first profitable
>   Open.
>   > > Use a
>   > >> > stop-loss to escape the losers.  So:
>   > >> >
>   > >> > Buy=H > O + Ref(H - L,-1);
>   > >> > BuyPrice=Max(O, Ref(H - L,-1) + TickSize);
>   > >> >
>   > >> > Sell=BarsSince(Entry) > 1 AND O > Ref(C,-BarsSince(Entry));
>   > >> > SellPrice=O;
>   > >> >
>   > >> > //And the obvious equivalents for Short trades
>   > >> >
>   > >> > ApplyStop(0,2,PickANumber,1,False);
>   > >> >
>   > >> > Those of you who once used Metastock will remember 
BarsSince
>   > > (Entry),
>   > >> > probably with great fondness and regret.  But you can't do
>   that
>   > > in AFL.
>   > >> > You can't even do separate BarsSince(Buy) and BarsSince
(Short)
>   > >> > statements.  In AFL, your Sell statement becomes Sell=O >
>   > >> > ValueWhen(Buy,BuyPrice,1);  And when you try to use 
ExRemSpan,
>   > > there is
>   > >> > every chance that you will land on another day where the 
Buy
>   > > conditions
>   > >> > are true.  At which point the ValueWhen function looks at 
that
>   > > day's
>   > >> > BuyPrice, and O is never higher.
>   > >> >
>   > >> > For a one-day delay, we can write two sell conditions, one 
for
>   > > use if
>   > >> > today is a Buy day and one for use if it is not, with
>   different
>   > > numbers
>   > >> > for the third parameter in the ValueWhen statement.  But 
what
>   if
>   > > you'd
>   > >> > like to set the delay for more than one day?  How many Sell
>   > > conditions
>   > >> > do you have to write to take care of all the possible
>   > > combinations of
>   > >> > Buy and non-Buy days since the entry?
>   > >> >
>   > >> > Two very talented programmers from our group were kind 
enough
>   to
>   > > attempt
>   > >> > solutions to this problem for me, one in AFL, the other 
in ...
>   I
>   > > guess
>   > >> > that was jScript.  I am very grateful to them for trying.
>   > > However,
>   > >> > neither succeeded.  In each case, trades that should have
>   ended
>   > > with a
>   > >> > profit after two or three days were not exited until much
>   later.
>   > > In a
>   > >> > test of the AFL version on continuous S&P data, the average
>   trade
>   > > length
>   > >> > was just over 46 bars, and one trade lasted more than 600 
bars!
>   > >> >
>   > >> > This is a very simple system, one of the most famous in 
all of
>   > >> > traderporn.  It can be "coded" unambiguously in English.  
With
>   > >> > BarsSince(Entry), it could be coded unambiguously in
>   Metastock;
>   > > but MS
>   > >> > would not give you valid entry and exit prices when I used 
it
>   > > last; that
>   > >> > was a major reason I was delighted when Tomasz made 
Amibroker
>   > >> > available.  Unfortunately, one really useful thing from
>   Metastock
>   > > got
>   > >> > left behind.  I understand that there are reasons for this.
>   But
>   > > those
>   > >> > reasons are keeping me from testing this and several other
>   ideas
>   > > that
>   > >> > might be of value.  Or they might not.  At this point, I 
have
>   no
>   > > way to
>   > >> > know.
>   > >> >
>   > >> > I am profoundly sorry to keep pushing this, as I believe
>   Tomasz
>   > > created
>   > >> > ExRemSpan in response to one of my early pleas for help in
>   coding
>   > > this
>   > >> > exit.  And it could be that there is some way to use ExRem 
and
>   > > ExRemSpan
>   > >> > that actually solves the problem with the kind of 
generality
>   I'm
>   > > looking
>   > >> > for, a technique that Tomasz knows but neither I nor my
>   > > Samaritans were
>   > >> > able to recognize.  But I'm betting against it.
>   > >> >
>   > >> > I have been trying to solve this problem for more than two
>   years
>   > > and am
>   > >> > quite convinced that it cannot be done.  Tomasz, PLEASE 
HELP.
>   > >> >
>   > >> > Pretty please?  I'll finally get around to renewing my 
license
>   if
>   > > you
>   > >> > do.  8-)
>   > >> >
>   > >> > Thanks to all for bearing with me on this.
>   > >> >
>   > >> > Owen Davies
>   > >> >
>   > >> >
>   > >> >
>   > >> > Check AmiBroker web page at:
>   > >> > http://www.amibroker.com/
>   > >> >
>   > >> > Check group FAQ at:
>   > > http://groups.yahoo.com/group/amibroker/files/groupfaq.html
>   > >> > Yahoo! Groups Links
>   > >> >
>   > >> >
>   > >> >
>   > >> >
>   > >> >
>   > >> >
>   > >> >
>   > >> >
>   > >
>   > >
>   > >
>   > >
>   > >
>   > >
>   > > Check AmiBroker web page at:
>   > > http://www.amibroker.com/
>   > >
>   > > Check group FAQ at:
>   http://groups.yahoo.com/group/amibroker/files/groupfaq.html
>   > > Yahoo! Groups Links
>   > >
>   > >
>   > >
>   > >
>   > >
>   > >
>   > >
>   > >
> 
> 
> 
> 
> 
>   Check AmiBroker web page at:
>   http://www.amibroker.com/
> 
>   Check group FAQ at:
> http://groups.yahoo.com/group/amibroker/files/groupfaq.html
> 
> 
>         Yahoo! Groups Sponsor
>               ADVERTISEMENT
> 
> 
> 
> 
> 
> --------------------------------------------------------------------
--------
> --
>   Yahoo! Groups Links
> 
>     a.. To visit your group on the web, go to:
>     http://groups.yahoo.com/group/amibroker/
> 
>     b.. To unsubscribe from this group, send an email to:
>     amibroker-unsubscribe@xxxxxxxxxxxxxxx
> 
>     c.. Your use of Yahoo! Groups is subject to the Yahoo! Terms of 
Service.
> 
> 
> 
> [Non-text portions of this message have been removed]
------------------------ Yahoo! Groups Sponsor --------------------~--> 
$9.95 domain names from Yahoo!. Register anything.
http://us.click.yahoo.com/J8kdrA/y20IAA/yQLSAA/GHeqlB/TM
--------------------------------------------------------------------~-> 
Check AmiBroker web page at:
http://www.amibroker.com/
Check group FAQ at: http://groups.yahoo.com/group/amibroker/files/groupfaq.html 
Yahoo! Groups Links
<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/amibroker/
<*> 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/
 
 |