PureBytes Links
Trading Reference Links
|
You are getting the idea: currently there is no elegant solution. The
easiest way is to try out what you need with a few lines of code before
adding it to your exploration. If this doesn't work do a search for the
ABTool DLL, if offers Persistent Arrays - draw back is that it is no longer
supported by its developer or by AmiBroker - you will be on your own. Also,
have another look at the reset flag:
a.. atcFlagResetValues = 32 - reset values at the beginning of scan (not
required if you use atcFlagDeleteValues)
best regards,
herman.
-----Original Message-----
From: Paul A. [mailto:amibroker@xxxxxxxxxxxxx]
Sent: Tuesday, October 05, 2004 1:00 PM
To: amibroker@xxxxxxxxxxxxxxx
Subject: [amibroker] Re: static variables/arrays...ATC?
Herman:
>AddToComposite(array,"~CompositeName");
I thought we have to add a 3rd argument specifying the field, as in:
AddToComposite(CompositeArray,"~CompositeName", "I");
>This array can be manipulated, bar-by-bar if you like.
>You load it up at the start of each Exploration
>cycle (begin of code)
Load it at the start of the code? Do you mean:
TempArray = Foreign(~CompositeName, "I");
>and save it at the end of each exploration cyle (end of code).
Save it at the end of each Explore iteration? The only way I can see to
do
that is:
//BEGINNING AREA OF CODE
//Load TempArray with values from ~CompositeName
TempArray = Foreign(~CompositeName, "I");
//reset CompositeName's "I" field to zero in preparation for
~CompositeName
receiving a value assignment later in the middle area of the code
// do this by adding back the negative of the value that's already in I,
since I can't think of any other way to reset ~CompositeName's "I" field
to
zero
AddToComposite(-TempArray,"~CompositeName", "I");
//MIDDLE AREA OF CODE
//manipulate values of TempArray. As a trivial example, let's divide them
by 2.
TempArray = TempArray / 2;
//ENDING AREA OF CODE
//now the TempArray contains the newly manipulated values we want,
// and ~CompositeName's "I" field contains zero.
// let's add TempArray back into the I field of ~CompositeName, so that
it
will remain
// static and available to repeat this entire procedure at the beginning
of the subsequent Explore iteration
AddToComposite(TempArray,"~CompositeName", "I");
This is the best solution I can think of. Obviously, it's pretty awkward.
>for(b=0; b<BarCount; b++)
>{
>CompositeArray[b] = b*si[b];//assign whatever value you like
But CompositeArray, as you defined it above, is not in any way statically
connected with the ATC function, it's just a standalone array that you
declared locally.
How do you get the values from the ~CompositeName's "I" field out to
CompositeArray, and later on back into ~CompositeName? Is there a more
elegant way to do it than the very laborious and awkward way I described
above?
>arrays, when working in RT with 100,000 bars things tend to slow down and
I
>would prefer an optimized afl function - I don't think anybody can match
>TJ's afl execution.
I can't see why you can't come close, if you're willing to write a
compiled
DLL. I'm trying to avoid that, if possible.
>Disk read/writes do not always take up that much more time because
Windows
>may keep copies in memory, having as much as possible Memory might help.
Good point.
Thanks, Herman. I appreciate your help very much. I've posted code this
time, so perhaps you can better spot where I've gone wrong in my thinking.
-Paul
[Non-text portions of this message have been removed]
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 --------------------~-->
Make a clean sweep of pop-up ads. Yahoo! Companion Toolbar.
Now with Pop-Up Blocker. Get it for free!
http://us.click.yahoo.com/L5YrjA/eSIIAA/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/
|