Ron,
I will comment on what you've discovered.
I excerpt my comments from my CFT Forum post here:
http://www.codefortraders.com/phpBB3/viewtopic.php?f=38&t=620
and edit them slightly for presentation on Yahoo.
--- In [email protected], "Ron" <rond...@...> wrote:
>
> I've played around a little more. It seems the afl I write exists in two
> places - AmiBroker\Formulas\Custom and AmiBroker\Drag-drop directories.
Every new AB user eventually discovers this (or similar with one of the other
AB source code directories).
This dual-location-situation is exactly the case in general, unless you've
deliberately avoided it by careful use of 'Insert Linked'.
So, a chart pane will reference the code in one of those two places or the
other. The AA window also will reference the code in one of those two places or
the other. However, the user has to explicitly choose code from the Drag-drop
directory to get it into the AA window, whereas for charts the user has to
explicitly not choose code from the Drag-drop directory (by using Insert Linked
instead of dragging or double-clicking to choose code).
IOW, charts and AA windows reference external code files, as they exist at
runtime (assuming they still do). They do not carry their own copy of the code
as it existed at construction time.
Drag-drop, if I may put it this way, is not something that happens "in the
chart" (except visually). Instead, it is something that happens in the code
files, and any file it happens in is different forever-after (just look in the
editor and see after dragging one indicator onto another).
The Drag-drop directory exists with a purpose that this form of "outside the
editor" editing not affect the original files involved. (Instead, the file
copies in the Drag-drop directory are affected.)
However, a consequence is that the naive user will wind up creating many charts
all of which are based on files copied to the Drag-drop directory, which will
fill up with a dizzying array of .1, .2, .3, etc. files.
Then, at some point, the user will want to make a change to the original file
(i.e. in the Custom directory, or one of the other source directories) and be
expecting that this change will show up in all his previously constructed
charts. It will not.
Can you see why not?
The reason is that none of those previously constructed charts are referencing
the original file location any more!
These facts also have profound implications for keeping charts and code
synchronized between machines.
Personally, my goal is to completely avoid having any files in the Drag-drop
directory except on the most temporary basis, which is when and only when I'm
using the "drag-drop editing functionality" to perform the specific sort of
code edits that it does. After performing such edits, upon confirming the
desired visual result produced by the new code, I immediately rename this code,
copy it back into a permanent home my source code tree, and delete it from the
Drag-drop directory.
IOW, to my way of thinking (arrived at after long experimentation and usage),
any file present in the Drag-drop directory is a sign of chart and library
organization pathology that needs to be corrected ASAP.
Of course, those are my charts, that's my library and my desired organization.
YMMV.
Cheers!