You know I had the same problem and then it went away. Close down AB and reopen everything and see if that works.
MM -----Original Message----- From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of dmcleod1981 Sent: Sunday, March 26, 2006 7:14 AM To: [email protected] Subject: [amibroker] Re: Calculating % change since 1/3/2006 MM, I added the following to your code based on the original examples and ran an exploration and come up with different closing values. Perhaps I have made a mistake and am not applying this correctly. //original examples Sample1 = ValueWhen( Year()!=Ref(Year(),1), C ); Sample2 = Ref( C, -BarsSince(Year()!=Ref(Year(),1))+1); AddColumn(Sample1,"Closing Price ",1.2,colorRed); AddColumn(Sample2,"Closing Price ",1.2,colorRed); Filter=1; When I run this I get the following data: Ticker Date/Time 1 P % 5 P % 21 P % 63 P % 255 P % BS 12-30-06 LC YTD % L YR C % from LY Closing Price Closing Price DELL 3/24/2006 -0.92 3.37 3.39 -2.81 -21.76 57.00 29.95 0.37 29.95 0.37 29.95 30.61 IBM 3/24/2006 0.19 0.07 3.94 0.29 -6.87 57.00 82.20 1.41 82.20 1.41 82.20 82.06 INTC 3/24/2006 -0.51 0.31 -3.40 -24.27 -16.60 57.00 24.96 -21.47 24.96 -21.47 24.96 25.57 MSFT 3/24/2006 0.60 -1.78 1.31 1.05 11.61 57.00 26.15 3.29 26.15 3.29 26.15 26.84 The closes respectively are 12/30/05 and 01/03/06, i.e DELL is 29.95 30.61 which is what Yahoo and other sources show. I was trying to figure out why the difference. Thanks, DM --- In [email protected], "marketmonk777" <[EMAIL PROTECTED]> wrote: > > And of course since it's late I entered in a typo. Change (or not) > the 12-30-06 to 12-30-05 in the column heading. > > You will notice that both of Graham's examples of ValueWhen and > BarsSince work the same. > > Thanks once again Graham. > > MM > > --- In [email protected], "marketmonk777" <dlittner@> wrote: > > > > Hi DM, > > > > The code I posted works just fine. Sorry if I caused the confusion by > > typing in 1-3-06 as a date in my column title. There are indeed 57 > > bars since 12-30-05. > > > > It retrieves the closing price on 12/30/05. And from that I can > > calculate the YTD % performance. > > > > Here is the price % calculations and some extra code to verify > > (visually) that it works. > > > > > > // Price Deltas > > > > AddColumn( ( (C-Ref(C,-1))/Ref(C,-1))*100,"1 P %", 3.2, > > colorYellow,colorGreen); > > > > AddColumn( ( (C-Ref(C,-5))/Ref(C,-5))*100,"5 P %", 3.2, > > colorYellow,colorGreen); > > > > AddColumn( ( (C-Ref(C,-21))/Ref(C,-21))*100,"21 P %", 3.2, > > colorYellow,colorGreen); > > > > AddColumn( ( (C-Ref(C,-63))/Ref(C,-63))*100,"63 P %", 3.2, > > colorYellow,colorGreen); > > > > AddColumn( ( (C-Ref(C,-255))/Ref(C,-255))*100,"255 P %", 3.2, > > colorYellow,colorGreen); > > > > BS = BarsSince(Year()!=Ref(Year(),1)); > > > > AddColumn(BS,"BS 12-30-06" , 3.2, colorDarkRed, colorLightGrey ); > > > > LC = Ref( C,-BS); > > > > AddColumn(LC,"LC" , 3.2, colorDarkRed, colorLightGrey ); > > > > YTDP = ( (C - Ref( C,-BS)) / Ref( C, -BS) )*100; > > > > AddColumn(YTDP,"YTD %" , 3.2, colorDarkRed, colorLightGrey ); > > > > LYC = ValueWhen( Year()!=Ref(Year(),1), C ); > > > > AddColumn(LYC,"L YR C" , 3.2, colorDarkRed, colorLightGrey ); > > > > PCLY = ( (C - LYC)/ LYC )*100; > > > > AddColumn(PCLY,"% from LY", 3.2, colorDarkRed, colorLightGrey ); > > > > MM > > --- In [email protected], "dmcleod1981" <dmcleod1981@> wrote: > > > > > > Sorry meant to type 01/01/06 for second lines closing price not '04. > > > > > > DM > > > --- In [email protected], "dmcleod1981" <dmcleod1981@> wrote: > > > > > > > > The two formulas appear to give different dates. The first does give > > > > the closing price for 12/30/04 but the second gives the closing > price > > > > for 01/03/04 which would be incorrect for year to date figures. > > > > > > > > I am also confused as to the +1 and couldn't see how to correct the > > > > line to give the closing '05 price. > > > > > > > > DM > > > > > > > > --- In [email protected], "MarketMonk777" <dlittner@> wrote: > > > > > > > > > > Hi Graham, > > > > > > > > > > Thanks, the barssince works. I have added the following lines of > > > code: > > > > > > > > > > BS = BarsSince(Year()!=Ref(Year(),1)); > > > > > AddColumn(BS,"BS 1-1-06" , 3.2, colorDarkRed, colorLightGrey ); > > > > > YTD = C - Ref( C, -BarsSince(Year()!=Ref(Year(),1))+1); > > > > > AddColumn(YTD,"YTD Net" , 3.2, colorDarkRed, colorLightGrey ); > > > > > > > > > > Just to confirm that all works. > > > > > > > > > > I am confused as to the purpose of the +1 that is added at the end > > > > of the > > > > > code in the YTD line. > > > > > > > > > > I was able to research and figure out that != means not equal > > to. And > > > > > researched how barssince works. And that ref(year(),1) is the way > > > > to catch > > > > > the year changing from 2005 to 2006. > > > > > > > > > > But that +1 has me confused. What is it's purpose? > > > > > > > > > > Dave > > > > > > > > > > -----Original Message----- > > > > > From: [email protected] [mailto:[EMAIL PROTECTED] > > > > On Behalf > > > > > Of Graham > > > > > Sent: Saturday, March 25, 2006 3:47 PM > > > > > To: [email protected] > > > > > Subject: Re: [amibroker] Calculating % change since 1/3/2006 > > > > > > > > > > you can use valuewhen function to reference a fixed point or ref > > with > > > > > barssince > > > > > for the close price of end of previous year > > > > > > > > > > valuewhen( year()!=ref(year(),1), C ) > > > > > > > > > > or > > > > > > > > > > ref( c, -barssince(year()!=ref(year(),1))+1) > > > > > > > > > > > > > > > -- > > > > > Cheers > > > > > Graham > > > > > AB-Write >< Professional AFL Writing Service > > > > > Yes, I write AFL code to your requirements > > > > > http://e-wire.net.au/~eb_kavan/ab_write.htm > > > > > > > > > > > > > > > On 3/26/06, marketmonk777 <dlittner@> wrote: > > > > > > Hi folks, > > > > > > > > > > > > I would like to add a value to my title line and in some of my > > > > > > explorations. The value that I am trying to determine is the % > > > change > > > > > > since the last trading day of 2005 (or should I use 1/3/06?). > > > > > > > > > > > > How do I specify a fixed date in my calculations? > > > > > > > > > > > > Thanks, > > > > > > > > > > > > Dave > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 --------------------~--> Try Online Currency Trading with GFT. Free 50K Demo. Trade 24 Hours. Commission-Free. http://us.click.yahoo.com/RvFikB/9M2KAA/U1CZAA/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: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/
