| 
 Gilles and Steve: 
  
I think the problem occurs when endBar = startBar 
which generates an error in  
  
else 
     if (BeginValue(barNumber) 
) 
{  ...... 
  
There are a number of ways to correct this, 
depending on what one wants to do, but forcing visible bar with the following 
change is one way: 
  
else 
    if(BeginValue(barNumber) != 
EndValue(barNumber) 
{ ..... 
  
Bill 
  
  
  ----- Original Message -----  
  
  
  Sent: Sunday, May 28, 2006 8:52 AM 
  Subject: [amibroker] Re: Index 
  comparison: Steve Dugas 
  
  I'll try that! I only have an EOD database, from Yahoo quotes, 
  hence  I can't see what could possibly change... Hope the other user will 
   read this!  Thank you anyway! Friendly,  Gilles
  -- In amibroker@xxxxxxxxxxxxxxx, "Steve 
  Dugas" <sjdugas@xxx> wrote: > > Hi Gilles, >  > 
  Another user reported the same error, he was using RT 1-minute  bars. I 
  don't  > know the answer, I have never had a problem on my EOD database. 
   The error  > indicates that the code is trying to access elements 
  outside the  bounds of  > the array, but this should not be 
  happening. My first thought is  that maybe  > incoming streaming data 
  causes the array size, bar numbers, or  something  > like that to be 
  constantly changing but I really don't know how  this works  > 
  internally. Maybe TJ could comment if he reads this. The other  user said 
  he  > got it to work after playing with the params a liitle, maybe he 
   could pass  > on exactly what he did to fix it. You could also try 
  setting  beginning range  > marker and see if that helps - at least 
  that might reveal whether  the  > problem is at the beginning or end 
  of the array.. >  > Steve >  > ----- Original Message 
  -----  > From: "gillesdeprez" <gillesdeprez@xxx> > To: 
  <amibroker@xxxxxxxxxxxxxxx> > Sent: Friday, May 26, 2006 5:50 
  AM > Subject: [amibroker] Index comparison: Steve Dugas >  > 
   > > Hi Steve! > > Sorry to bother you once again, but I've 
  got this error message,  and > > the code is way too tough for 
  me... > > unnamed1: > > 
  for(Bar=StartBar,Bar<=EndBar,Bar++//fill bars inside range > 
  > > > Zero(Bar) > > Error 10 > > Subscript out 
  or range. > > You must not access array elements outside 
  0..(Barcount-1) range > > Use edit Formula to correct error > 
  > > > Maybe in french I could deal with it, but here... > 
  > Thanks again, have a nice day! > > Gilles > > > 
  > > > > > > > > > > > > 
  > --- In amibroker@xxxxxxxxxxxxxxx, "Steve Dugas" <sjdugas@> 
  wrote: > >> > >> Here it is again - as usual, watch 
  out for line wrap... > >> > >> Steve > 
  >> > >> 
  ========================================================= > 
  >> > >> // Filename: Rel Perf Close.afl > 
  >> > >> // Task: Plots relative performance of tickers 
  entered into  params > > dialog. > >> > >> 
  // set charting options > >> > >> SetBarsRequired( 
  100000, 100000 ); > >> > >> SetChartOptions( 
  0, > > chartShowDates|chartShowArrows|chartWrapTitle ); > 
  >> > >> // initialize variables > >> > 
  >> _N( Tickers = ParamStr( "Enter Tickers ( comma seperated > > 
  list )", "!! SET > >> TICKERS !!" ) ); > >> > 
  >> UsingRange = ParamToggle( "Display % Change Relative > > 
  To", "Previous Bar ( no > >> options to set )|First Bar Of Range ( 
  set options below )", 1 ); > >> > >> UsingDates = 
  ParamToggle( "Set Range Using", "Visible Bars > > (default) / 
  Range > >> Markers (when set)|Dates Below" ); > 
  >> > >> StartDate = ParamDate( "Range Start Date", Date() 
  ); > >> > >> EndDate = ParamDate( "Range End Date", 
  Date() ); > >> > >> PlotZero = ParamToggle( "Display 
  Zero Line?", "No|Yes", 1 ); > >> > >> Extend = 
  ParamToggle( "Extend Final Values/Zero Line Across All > > 
  Bars?", > >> "No|Yes" ); > >> > >> 
  ColorStart = Param( "Start Color Rotation At #", 34, 0, 55, 1 ); > 
  >> > >> ColorInc = Param( "Increment Color Rotation By", 1, 
  -55, 55,  1 ); > >> > >> GraphXSpace = Param( 
  "GraphXSpace", 5, -50, 100, 1 ); > >> > >> BarNumber = 
  BarIndex(); > >> > >> DateNumber = DateNum(); > 
  >> > >> TickerName = ""; > >> > >> 
  DataBase = GetDatabaseName(); > >> > >> // calculate 
  start and end of range > >> > >> if ( UsingDates ) // 
  use dates from param dialog > >> > >> { > 
  >> > >> StartBar = LastValue( ValueWhen( StartDate == 
  DateNumber, > > BarNumber ) ); > >> > >> 
  EndBar = LastValue( ValueWhen( EndDate == DateNumber, > > BarNumber ) 
  ); > >> > >> } > >> > >> else 
  if ( BeginValue( BarNumber ) ) // use start and end of  range > > 
  if start > >> marker set > >> > >> 
  { > >> > >> StartBar = BeginValue( BarNumber 
  ); > >> > >> EndBar = EndValue( BarNumber ); > 
  >> > >> } > >> > >> else // use 
  visible bars > >> > >> { > >> > 
  >> StartBar = Status( "firstvisiblebar" ); > >> > 
  >> EndBar = Status( "lastvisiblebar" ) - 1; > >> > 
  >> } > >> > >> // plot zero line > 
  >> > >> if ( PlotZero ) > >> > >> 
  { > >> > >> if ( Extend ) > >> > 
  >> Zero = 0; > >> > >> else > 
  >> > >> { > >> > >> Zero = 
  Null; > >> > >> for ( Bar = StartBar; Bar <= 
  EndBar; Bar++ ) // fill bars inside > > range > 
  >> > >> Zero[Bar] = 0; > >> > >> 
  } > >> > >> Plot( Zero, "", colorBrown, 
  styleLine|styleNoLabel ); > >> > >> } > 
  >> > >> // assign ticker name and get close > 
  >> > >> for ( i = 0; ( Ticker = StrExtract( Tickers, i ) ) 
  != "";  i++ ) // > > extract > >> current 
  ticker > >> > >> { > >> > >> 
  if ( Ticker == "CURRENT" ) > >> > >> { > 
  >> > >> TickerName = Name(); > >> > 
  >> TickerClose = Close; > >> > >> Color = 
  colorWhite; > >> > >> } > >> > 
  >> else if ( Ticker == "INDUSTRY" ) > >> > >> 
  { > >> > >> Ticker = GetBaseIndex(); > 
  >> > >> TickerName = IndustryID( 1 ) + " ( " + Ticker + " 
  )"; > >> > >> TickerClose = Foreign( Ticker, "close" 
  ); > >> > >> Color = colorBrightGreen; > 
  >> > >> } > >> > >> else if ( Ticker 
  == "SECTOR" ) > >> > >> { > >> > 
  >> if ( DataBase == "Data-TC2005" ) > >> > >> 
  { > >> > >> Ticker = StrLeft( GetBaseIndex(), 4 ) + 
  "0"; > >> > >> TickerName = SectorID( 1 ) + " ( " + 
  Ticker + " )"; > >> > >> TickerClose = Foreign( 
  Ticker, "close" ); > >> > >> } > 
  >> > >> else // database is QP2 > >> > 
  >> { > >> > >> Ticker = GetBaseIndex(); // plot 
  industry, need to create > > composite sectors > 
  >> > >> TickerName = SectorID( 1 ) + " ( " + Ticker + " 
  )"; > >> > >> TickerClose = Foreign( Ticker, "close" 
  ); > >> > >> } > >> > >> Color 
  = colorGreen; > >> > >> } > >> > 
  >> else if ( Ticker == "MARKET" ) > >> > >> 
  { > >> > >> Color = colorRed; > >> > 
  >> if ( DataBase == "Data-TC2005" ) > >> > >> 
  { > >> > >> if ( MarketID() == 1 ) > 
  >> > >> { > >> > >> Ticker = 
  "nyse"; > >> > >> TickerName = MarketID(1); > 
  >> > >> TickerClose = Foreign( Ticker, "Close" ); > 
  >> > >> } > >> > >> else if ( 
  MarketID() == 2 ) > >> > >> { > >> > 
  >> Ticker = "xax"; > >> > >> TickerName = 
  MarketID(1); > >> > >> TickerClose = Foreign( Ticker, 
  "close" ); > >> > >> } > >> > 
  >> else if ( MarketID() == 3 ) > >> > >> 
  { > >> > >> Ticker = "compqx"; > 
  >> > >> TickerName = MarketID(1); > >> > 
  >> TickerClose = Foreign( Ticker, "close" ); > >> > 
  >> } > >> > >> } > >> > 
  >> else // database is QP2 > >> > >> { > 
  >> > >> if ( MarketID() == 1 ) > >> > 
  >> { > >> > >> Ticker = "!nya"; > 
  >> > >> TickerName = MarketID(1); > >> > 
  >> TickerClose = Foreign( Ticker, "Close" ); > >> > 
  >> } > >> > >> else if ( MarketID() == 2 
  ) > >> > >> { > >> > >> Ticker 
  = "!xax"; > >> > >> TickerName = MarketID(1); > 
  >> > >> TickerClose = Foreign( Ticker, "close" ); > 
  >> > >> } > >> > >> else if ( 
  MarketID() == 3 ) > >> > >> { > >> > 
  >> Ticker = "!comp"; > >> > >> TickerName = 
  MarketID(1); > >> > >> TickerClose = Foreign( Ticker, 
  "close" ); > >> > >> } > >> > 
  >> } > >> > >> } > >> > 
  >> else > >> > >> { > >> > 
  >> TickerName = Ticker; > >> > >> TickerClose = 
  Foreign( Ticker, "close" ); > >> > >> Color = ( ( ( 
  ColorStart + ( i * ColorInc ) ) % 56 ) + 56 ) %  56; > 
  >> > >> } > >> > >> // calculate % 
  change > >> > >> TickerChg = Null; // initialize % 
  change array > >> > >> if ( UsingRange ) // calculate 
  % change relative to start of  range > >> > >> for 
  ( Bar = StartBar; Bar <= EndBar; Bar++ ) // fill bars inside > > 
  range > >> > >> TickerChg[Bar] = ( TickerClose[Bar] - 
  TickerClose[StartBar] ) / > >> TickerClose[StartBar] * 
  100; > >> > >> else > >> > >> 
  for ( Bar = StartBar; Bar <= EndBar; Bar++ ) // fill bars inside > 
  > range > >> > >> TickerChg[Bar] = ( 
  TickerClose[Bar] - TickerClose[Bar-1] ) / > >> TickerClose[Bar-1] 
  * 100; > >> > >> if ( TickerName == "!! SET TICKERS 
  !!" ) > >> > >> Title = EncodeColor( colorRed ) + 
  Tickername; > >> > >> else > >> > 
  >> Plot( TickerChg, TickerName, Color, styleLine ); > 
  >> > >> if ( Extend ) > >> > >> 
  Plot( TickerChg[EndBar], "", Color, styleLine ); > >> > 
  >> } > >> > >> ----- Original Message ----- 
   > >> From: "gillesdeprez" <gillesdeprez@> > >> 
  To: <amibroker@xxxxxxxxxxxxxxx> > >> Sent: Thursday, May 25, 
  2006 12:27 PM > >> Subject: [amibroker] Re: Index comparison: 
  Steve Dugas > >> > >> > >> > Hi Steve, 
  thanks for your answer...But attachments are not  stored > >> 
  > anymore on Yahoo groups...Or did I miss something? I checked 
   the > > AB > >> > library, and the file section of 
  this group, unsuccessfully... > >> > TIA, friendly, > 
  >> > Gilles > >> > > >> > > 
  >> > > >> > > >> > > >> 
  > --- In amibroker@xxxxxxxxxxxxxxx, "Steve Dugas" <sjdugas@> 
   wrote: > >> >> > >> >> Here is a 
  pretty flexible relative performance tool. Range > >> > 
  defaults to > >> >> visible bars but you can change it with 
  range markers or by > >> > setting dates in > >> 
  >> the Params. Also, ticker list accepts keywords like CURRENT, > 
  >> > INDUSTRY, > >> >> etc.(you may need to edit 
  the tickers associated with the > > keywords > >> > 
  depending > >> >> on your data provider). Feel free to ask 
  if you have any > > questions. > >> >> > 
  >> >> Steve > >> >> > >> >> 
  ----- Original Message -----  > >> >> From: "gillesdeprez" 
  <gillesdeprez@> > >> >> To: 
  <amibroker@xxxxxxxxxxxxxxx> > >> >> Sent: Tuesday, May 
  23, 2006 9:21 AM > >> >> Subject: [amibroker] Index 
  comparison > >> >> > >> >> > 
  >> >> > Hi all! > >> >> > Does one of you 
  know if there is any possibility to compare > >> > index 
  with > >> >> > AB? I mean, compare for example the djia 
  with the BEL20,  from > > a > >> >> > 
  starting point let's say 1st january 2004, where both index > >> 
  > would be > >> >> > at the same level for this 
  date? > >> >> > TIA, be happy! > >> >> 
  > Gilles > >> >> > > >> >> 
  > > >> >> > > >> >> > > 
  >> >> > > >> >> > > >> 
  >> > > >> >> > Please note that this group is 
  for discussion between users > > only. > >> >> 
  > > >> >> > To get support from AmiBroker please send 
  an e-mail  directly > > to > >> >> > SUPPORT 
  {at} amibroker.com > >> >> > > >> >> 
  > For other support material please check also: > >> >> 
  > http://www.amibroker.com/support.html > 
  >> >> > > >> >> > > >> 
  >> > Yahoo! Groups Links > >> >> > > 
  >> >> > > >> >> > > >> 
  >> > > >> >> > > >> >> 
  > > >> >> > > >> >> > > 
  >> >> > >> > > >> > > >> 
  > > >> > > >> > > >> > > 
  >> > > >> > > >> > Please note that 
  this group is for discussion between users  only. > >> 
  > > >> > To get support from AmiBroker please send an e-mail 
  directly  to > >> > SUPPORT {at} amibroker.com > 
  >> > > >> > For other support material please check 
  also: > >> > http://www.amibroker.com/support.html > 
  >> > > >> > > >> > Yahoo! Groups 
  Links > >> > > >> > > >> 
  > > >> > > >> > > >> > > 
  >> > > >> > > > > > > > 
  > > > > > > > > > > > Please 
  note that this group is for discussion between users only. > 
  > > > To get support from AmiBroker please send an e-mail directly 
  to > > SUPPORT {at} amibroker.com > > > > For other 
  support material please check also: > > http://www.amibroker.com/support.html > 
  > > > > > Yahoo! Groups Links > > > 
  > > > > > > > > > > > > 
  > >
 
 
 
 
  
  
    
  No virus found in this incoming message. Checked by AVG Free 
  Edition. Version: 7.1.394 / Virus Database: 268.7.2/349 - Release Date: 
  05/26/06
  
  
Please note that this group is for discussion between users only. 
 
To get support from AmiBroker please send an e-mail directly to  
SUPPORT {at} amibroker.com 
 
For other support material please check also: 
http://www.amibroker.com/support.html 
 
  
    
  
  
  
    SPONSORED LINKS
   
       
  
 
  
    
  YAHOO! GROUPS LINKS
 
 
    
 |