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 [email protected], Tomasz Janeczko <gro...@...> 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
> >
> >
> >
> >
> >
>


Reply via email to