PureBytes Links
Trading Reference Links
|
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 amibroker@xxxxxxxxxxxxxxx, "marketmonk777" <dlittner@xxx> 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 amibroker@xxxxxxxxxxxxxxx, "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 amibroker@xxxxxxxxxxxxxxx, "dmcleod1981" <dmcleod1981@> wrote:
> > >
> > > Sorry meant to type 01/01/06 for second lines closing price not '04.
> > >
> > > DM
> > > --- In amibroker@xxxxxxxxxxxxxxx, "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 amibroker@xxxxxxxxxxxxxxx, "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: amibroker@xxxxxxxxxxxxxxx
[mailto:amibroker@xxxxxxxxxxxxxxx]
> > > > On Behalf
> > > > > Of Graham
> > > > > Sent: Saturday, March 25, 2006 3:47 PM
> > > > > To: amibroker@xxxxxxxxxxxxxxx
> > > > > 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
<*> 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/
|