Thanks Larry
----- Original Message -----
Sent: Tuesday, September 27, 2005 8:15 AM
Subject: RE: [EquisMetaStock Group] Constant price from a specific
date
Roy,
Thank
you again for the code on finding the price of a specific time period ago and
setting it as a constant. I added one more simple line of code so
this is what it looks like:
{Price
1 Year
OLD} Sm:=LastValue(Month()); Sd:=LastValue(DayOfMonth()); Sy:=LastValue(Year()-1); Start:=(DayOfMonth()>=Sd
AND Month()=Sm AND Year()=Sy) OR Year()>Sy OR (Year()=Sy AND
Month()>Sm); Date:=Cum(Start)=1;
{Date} YearAgoPx:=LastValue(ValueWhen(1,Date,C));
((C-YearAgoPx)/YearAgoPx)*100
It
provides a perfectly aligned rate of change (absolutely no drift) for the
last one year of trading (updated daily). Furthermore, implementing
MetaStock's "Security" function now allows MetaStock to display charts of as
many indexes and ETFs as I wish all in one chart with values that are comparable
to one another (apples to apples). Prior to the one year ago date,
prices are still comparable, the one year ago price being zero for any index or
ETF compared (of course this would work with individual securities also).
This comparability opens up numerous possibilities.
I try
to put as much calculation into MetaStock as possible (as opposed to my plug-in)
and your code did the trick in this case. You never cease to amaze
me. I will make certain that you (and your site) receive credit for your
assistance on my web site. Thank you again.
Best,
Larry
Carhartt
MasterDATA The
Only Source for Index & ETF Composite/Breadth Reports,
Charts & Data
Here it is in a format that recognises 1 year
ago. The compare statement in the valuewhen also resolves the problem of
one year ago falling on a non-trading day.
{do not change
these}
daynum := Cum(1); totaldays :=
LastValue(daynum); fulldate :=
Year()+Month()/12+DayOfMonth()/365;
{config section}
constantneeded := C; dateneeded :=
LastValue(fulldate)-1;
priceneeded := ValueWhen(1,yearagodate >
Ref(fulldate,-1) AND yearagodate <= fulldate,constantneeded
);
{Plot
priceneeded}
priceneeded;
Best regards, Richard
Dale. Norgate Investor Services - Premium quality Stock, Futures and
Foreign Exchange Data for markets in Australia, Asia, Canada,
Europe, UK & USA -
Is
there a way to set a constant value representing the price of a specific
date? For instance, ref(c,-250) would give you the close price from
approximately one year ago. With this formula, when MetaStock
calculates the indicator, the close of one year ago will be calculated on each
bar of data. What I need is the price one year ago from today and that
price remains a constant for all previous bars to use in a
calculation. I realize I could enter the constant manually, but that
does not allow for automation and certainly leaves room for
error.
Can
this be done in MetaStock? I hope I am being clear on what I
need.
SPONSORED LINKS
YAHOO! GROUPS LINKS
|