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

[amibroker] Re: Index comparison: Steve Dugas



PureBytes Links

Trading Reference Links

Amazing!!!
How did you find this?????
it works, actually!
A million thanks!
Friendly yours,
Gilles

-- In amibroker@xxxxxxxxxxxxxxx, "me_rayme" <rayme9@xxx> wrote:
>
> 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@> 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@>
> > 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@>
> > > 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 --------------------~--> 
Get to your groups with one click. Know instantly when new email arrives
http://us.click.yahoo.com/.7bhrC/MGxNAA/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/