As an addendum, I changed the script to:
s = Status("action");
_TRACE(NumToStr(s[0])+ NOW(4));
And it will print an action code of 1 when you click on the top pane and 1 and
2 when you click on the pane housing the AFL script.
1 is for indicator and 2 is for commentary.
This doesn't really explain anything to me further, but thought I'd offer it up
as more information on this.
--- In [email protected], "Conrad Joach" <consolejo...@...> wrote:
>
> Maybe I'm the only person in the world having a hard time getting grips on
> how AmiBroker actually works. I'm about to give up because I just can't get a
> strong understanding of these basic things. And yes I've submitted this to
> support but it's the weekend and I'm wasting hours on this.
>
> Do the following and tell me what you see.
>
> 1) Create a new blank chart with minutely interval. Add a Price series on it.
> Make sure that your chart refreshes are set to once per second (1) in the
> Intraday tab in Preferences.
>
> 2) Using the following AFL script, create a 2nd chart pane and add the AFL
> below.
>
> Script: _TRACE(NumToStr(NOW(4)));
>
> 3) Now click inside the pane that has the AFL from below. Notice that every
> time its invoked, its invoked twice? Look at the seconds part of the time,
> there are two printouts per second in the trace window, and one value is for
> the top pane, and the other value is for the bottom pane.
>
> 4) Now click in the top pane (not where the AFL is applied to), you'll see it
> goes back to printing just once per second.
>
> Why is this happening? If I create a 2nd pane in a chart window, and add AFL
> to it, why on earth would it be called twice when I click *inside* the pane
> and once when I click outside the pane?
>
> Am I wrong or shouldn't it only be called once per chart update interval, not
> twice? And to make matters worse, when it is called for the top chart pane
> (not the one we applied it to) it will receive a very different view of the
> state of AmiBroker. Things like number of visible bars may be different than
> the bottom pane.
>