Sorry, I reposed it. The previous one was hardly readable.
Thanks for a prompt replay. Sorry TJ, but your response is a semi-constructive
one. I mentioned in my original posting that I do NOT want to use GFX
functionality for several reasons:
1. It would be nice to save AFL study the same way as any other studies for
future references (if I shut down AB and open it again tomorrow or the day
after tomorrow the study still should be available - the anchor points never
change unless they are adjusted by the user).
2. If points anchors: A,B,C (mentioned in the original example) are off the
chart tomorrow (e.g. intra chart) , but still within loaded bars I should be
able to see the result of the study. For that reason I would use LineArray()to
plot any lines or other polygon type shapes.
It seems that the project is doable. To accomplish the task the script would
have to:
1. Collect three mouse clicks (waiting every time for a chart refresh - quite a
difference from collecting values for other parameters).
2. Store click coordinates in the external file (ASCII) for future references
using some kind of naming convention, so the file could be found later on.
3. Every time a symbol is selected the script would have to check if there are
any studies (external files) available with the number of coordinates required
(equal to number of clicks handled by this particular script). If studies are
not available should it wait to gather them ??? (even if studies for that
symbol are not needed). Well, the problem with templates, Chart_Ids is another
story better left for future considerations.
It should be obvious that the method described above is quite primitive and
rather rude. I hope that I am wrong and something better exists.
Logically, AFL study should not differ from any other PARAM function. PARAM
functions accept values from users (either entry or selection from the list)
and remember them for any current or future executions).
What is the difference between Length = Param("Len", 5) which stores the length
equal to 5 and e.g. Clicks = ParamClick(3) ? (which could gather three mouse
clicks and store cliks coordinates) . To get individual coordinates: e.g.
Click_1_X = GetX(Clicks[ 1]),Click_ 1_Y = GetY(Clicks[ 1]), ... and so on. It
is up to the script to interpret parameter values as long as they are available.
I realize that such functionality does not exist in AB, but maybe there is
something better than I described earlier ?
AF