Hi all

Below (and attached) is another way to address the issue.  While it may run 
much faster on longer watchlists, it does suffer from one problem that I 
haven't figured out how to address -- the total number of issues with RSI(2) 
over 90 is at the top of the column, however I haven't figured out how to 
export that total to use in creating a chart to track how the number compares 
to other market indices (something I'd like to do, preferably in a chart).  If 
anyone else out there has solved this, I'd be grateful for some direction or 
code as I have several other instances of list totals that I'd like to chart. 

Thanks in advance for any solution.

Peace and Justice   ---   Patrick

//===============================================================================
// Find the total number of issues with RSI(2) over 90
//  Run in Exploration against a watchlist (or industry, group, etc) to 
generate the total number of issues with RSI(2) over 90
//        Runs on ver 5.2 or higher and also generates a column with the RSI(2) 
value sorted from high to low

RSI2_90 = RSI(2) > 90;

Filter = 1;

ADDCOLUMN( C, "LAST", 3.2, COLORYELLOW,COLORBLUE, 75) ;
ADDCOLUMN( RSI2_90 , "RSI(2) > 90" , 1.0 , COLORWHITE,COLORGREEN , 75);
ADDCOLUMN( RSI(2) , "RSI(2) " ,  3.2, COLORDARKGREEN, COLORLIGHTGREY, 100 );

ADDSUMMARYROWS( 1, 1.0 , 4 );
SETSORTCOLUMNS( -4, -5 ) ;




  ----- Original Message ----- 
  From: bistrader 
  To: [email protected] 
  Sent: Friday, January 08, 2010 10:48 AM
  Subject: [amibroker] Re: RSI(2) and AddToComposite


  I believe you could also start with something like the following, with your 
rsi code added, and do via regular bactest, plot or whatever.

  function CountWatchList( listnum )
  {
  // retrive comma-separated list of symbols in watch list
  list = CategoryGetSymbols( categoryWatchlist, listnum );

  Count = 0; // just in case there are no watch list members

  for( i = 0; ( sym = StrExtract( list, i ) ) != ""; i++ )
  {
  Count = Count + 1;
  }
  return Count;
  }

  Count = CountWatchList(10);
  //Filter = 1;
  //AddColumn(Count, "Count", 5.3);
  //Plot or whatever here



  --- In [email protected], "woodshedder_blogspot" 
<woodshedder_blogs...@...> wrote:
  >
  > Wern, I think this will work for you. You'll need to use the scan feature. 
It is also going to compute a universe count for you as well. You can of course 
tweak the universe parameters any way you like.
  > 
  > Regards,
  > Wood
  > 
  > Buy = Sell = 0;
  > Universe = 0;
  > RSI2Count = 0;
  > AV10=MA(V,10);
  > RSI2=RSI(2);
  >  
  > // Scan and Count Universe
  > for (i=1; i<BarCount; i++)
  > {
  > if (C[i]>1 AND AV10[i]>100000)
  >   Universe[i] = Universe[i] + 1;
  > } 
  > AddToComposite (Universe, "~Universe", "X");
  > Plot ( Foreign("~Universe", "X"), "Universe",6,1);
  >  
  > // Scan and Count RSI2 > 90
  > for (i=1; i<BarCount; i++)
  > {
  > if (C[i]>1 AND AV10[i]>100000 AND RSI2>90)
  >   RSI2Count[i] = RSI2Count[i] + 1;
  > } 
  > AddToComposite (RSI2Count, "~RSI2Count", "X");
  > Plot ( Foreign("~RSI2Count", "X"), "RSI2Count",6,1);
  > 
  > --- In [email protected], "wernkra" <WKRAG@> wrote:
  > >
  > > Hi there,
  > > 
  > > is there a way to count the number of stocks which are at a certain 
RSI(2) threshold?
  > > I'd like to plot the number of stocks with RSI(2) > 90.
  > > 
  > > I guess that could be done with AddtoComposite.
  > > 
  > > How would I do that?
  > > 
  > > Thanks.
  > > 
  > > Wern
  > >
  >




  ------------------------------------

  **** 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