[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[amibroker] Re: Index comparison: Steve Dugas



PureBytes Links

Trading Reference Links

Double click on rel Perf Close
Have a chart up, I use ER2 one minute
Enter another stock under Enter tickers in Param.
Range date start change to day before
then OK

Should work. Very interesting program.

I was the one who had the origional problem.

Ray


--- In amibroker@xxxxxxxxxxxxxxx, "Steve Dugas" <sjdugas@xxx> wrote:
>
> Gilles, just an afterthought - you could also try commenting out 
> SetBarsRequired() at beginning of code - maybe that somehow 
conflicts with 
> streaming data. Just guessing here...
> 
> Steve
> 
> ----- Original Message ----- 
> From: "Steve Dugas" <sjdugas@xxx>
> To: <amibroker@xxxxxxxxxxxxxxx>
> Sent: Friday, May 26, 2006 11:21 AM
> Subject: Re: [amibroker] Index comparison: Steve Dugas
> 
> 
> > 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
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >
> >
> >
> >
> >
> > 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
> >
> >
> >
> >
> >
> >
> >
> >
>






------------------------ Yahoo! Groups Sponsor --------------------~--> 
Everything you need is one click away.  Make Yahoo! your home page now.
http://us.click.yahoo.com/AHchtC/4FxNAA/yQLSAA/GHeqlB/TM
--------------------------------------------------------------------~-> 

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

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