Hi Thomasz, thanks for the speedy reply, v much appreciated.
Please
note that I am running the exploration code with ONLY SPY selected as the
current symbol in AA - it does not use a filter at all, so your calculation is
not correct. It is 1 Symbol (SPY) * Num Bars * 22 Columns.
I am using
EOD data, so the number_of_bars is approx 3000. I specifically want a matrix
with dates down the side, and tickers across the top, with RSI2 EOD values in
the cells - this would be a matrix 3000*20 = 60,000 cells - easily handled in
excel.
I am fully aware of the standard way of running the code, that
you mention below - however this does not create a matrix - it creates a list,
which then has to be manually formatted for my purposes into a matrix. I plan
on rolling this out on the full nasdaq 100, which would mean a list of 3000 *
100 Tickers = 300,000 rows and excel (2003) cannot handle that. It can
however, handle a matrix of 3000 rows * 100 Columns quite easily, hence the
requirement for the matrix.
I am still stumped as to my original
example, why running it on EOD data over 3000 bars * 20 Tickers would crash
it.
Normally, Amibroker would chew something like this up . .
.
Thanks again for your assistance
Ramon
--- In amibroker@xxxxxxxxxps.com,
Tomasz Janeczko <groups@xxx> wrote:
>
> Hello,
>
> Hmm... you are not giving enough details therefore way too much is
left
> for guessing
> Your formula should not crash, unless you
are using some huge number of
> bars (1+ million?) but it is written
inefficent and redundant. If you
> run your formula for 20 symbols and
all bars (as you seem to be doing)
> you will create 20 rows *
Number_of_bars * 22 columns (20 columns for
> symbols +name +
date/time) With say one million bars (number_of_bars)
> you will end up
having 440 000 000 cells. This may be reason of running
> out of
memory, not to mention that Excel won't take such table.
>
> It
is *WAY* more efficient to do it right way, i.e. using the simple
code:
>
> AddColumn( RSI( 2 ), "RSI", 1.2 );
> Filter =
1;
>
> and setting Apply to "ALL SYMBOLS".
>
> This
will make AMiBroker iterate through all symbols and will be MUCH
>
faster and LESS resource consuming than using your code. And you will
>
end up with table having 20 rows * number_of_bars * 3 columns
>
(name+date/time+rsi value),
> so with same one million bars under
test you will have only 60 000 000
> cells (6 times less than your
code).
>
>
> You mention the dates but you don't mention
the INTERVAL? So data are
> from 1998 til now BUT...
> at what
interval? EOD ? Intraday (1-hour?, 1 - minute ???).
>
> You need
to keep in mind that if you are using 1-minute data, assuming 8
>
trading hours per day gives 120000 bars per year and 12 years gives 1.44
> million bars. Each bar is 40 bytes. So each symbol intraday 1-minute
> data for 12 years back is about 60MB of data (for quotations alone).
20
> symbols put into cache would be 1.2 gigabyte for data alone. This
added
> to nearly one billion cells generated by your formula (assuming
that
> your data set is as large as I have been guessing here)
>
> Anyway use
> Tools->Performance Monitor
> to see free
memory changes.
>
> Best regards,
> Tomasz Janeczko
>
amibroker.com
>
> On 2010-02-21 12:40, ramoncummins
wrote:
> > Hi everyone,
> >
> > I am trying to
extract RSI(2) data for a group of stocks since 1998, using an exploration.
The aim is to end up with dates down the side, and all the tickers across the
top, with respective RSI(2) values in the rows. (This is to be dumped into
excel later).
> >
> > The code below works fine (and indeed
very quickly) when you limit the number of stocks to the first ten or so, but
when I run the exploration over 20 stocks, it freezes and amibroker
crashes.
> >
> > In order to replicate, just take the code
below and run the exploration on SPY ONLY between 1998 and Today. It should
work fine. Then uncomment the second "batch" of tickers and run it - does this
crash your machine? Any ideas as to why?
> >
> > I have
searched the posts for answers but nothing has helped so far. I presume its a
memory problem of some sort.
> >
> > Note that I have the
following settings in preferences, Data tab:
> >
> >
In-memory cache: 20 (I have tried 11 as well, per a post from Tomasz)
>
> Max Megabytes: 800
> >
> > Any help greatly
appreciated.
> >
> > Ramon
> >
> >
//--------------------------------------------
>
>
> > Filter = 1;
> >
> > function indicator(
Ticker )
> > {
> > SetForeign( Ticker );
> > myRsi
= RSI( 2 );
> > RestorePriceArrays();
> > return
myRSI;
> >
> > }
> >
> > AddColumn(
indicator( "INTU" ), "INTU", 1.2, 1 );
> > AddColumn( indicator(
"VMED" ), "VMED", 1.2, 1 );
> > AddColumn( indicator( "JBHT" ),
"JBHT", 1.2, 1 );
> > AddColumn( indicator( "ADSK" ), "ADSK", 1.2, 1
);
> > AddColumn( indicator( "LRCX" ), "LRCX", 1.2, 1 );
> >
AddColumn( indicator( "SIAL" ), "SIAL", 1.2, 1 );
> > AddColumn(
indicator( "BMC" ), "BMC", 1.2, 1 );
> > AddColumn( indicator( "MAT"
), "MAT", 1.2, 1 );
> > AddColumn( indicator( "MYL" ), "MYL", 1.2, 1
);
> > AddColumn( indicator( "QGEN" ), "QGEN", 1.2, 1 );
>
>
> > // Uncomment below - does it crash your machine?
>
> /*
> > AddColumn( indicator("VOD"), "VOD", 1.2, 1);
>
> AddColumn( indicator("PCLN"), "PCLN", 1.2, 1);
> >
AddColumn( indicator("CERN"), "CERN", 1.2, 1);
> > AddColumn(
indicator("NWSA"), "NWSA", 1.2, 1);
> > AddColumn(
indicator("FSLR"), "FSLR", 1.2, 1);
> > AddColumn(
indicator("ILMN"), "ILMN", 1.2, 1);
> > AddColumn(
indicator("ORLY"), "ORLY", 1.2, 1);
> > AddColumn(
indicator("WCRX"), "WCRX", 1.2, 1);
> > AddColumn(
indicator("ADP"), "ADP", 1.2, 1);
> > */
> >
>
>
> >
> >
------------------------------------
> >
> >
**** IMPORTANT PLEASE READ ****
> > This group is for the discussion
between users only.
> > This is *NOT* technical support
channel.
> >
> > TO GET TECHNICAL SUPPORT send an e-mail
directly to
> > SUPPORT {at} amibroker.com
> >
> >
TO SUBMIT SUGGESTIONS please use FEEDBACK CENTER at
> > http://www.amibroker.com/feedback/
>
> (submissions sent via other channels won't be considered)
>
>
> > For NEW RELEASE ANNOUNCEMENTS and other news always check
DEVLOG:
> > http://www.amibroker.com/devlog/
>
>
> > Yahoo! Groups Links
> >
> >
>
>
> >
> >
>