Stock Portfolio Organizer

The ultimate porfolio management solution.

Shares, Margin, CFD's, Futures and Forex
EOD and Realtime
Dividends and Trust Distributions
And Much More ....
For Portfolio Manager Click Here

WiseTrader Toolbox

#1 Selling Amibroker Plugin featuring:

Advanced Adaptive Indicators
Advanced Pattern Exploration
Neural Networks
And Much More ....
Find Out More Here

TrendLine-dates for Metastock
martin3
over 6 years ago
Metastock

Rating:
0 / 5 (Votes 0)
Tags:
metastock, trendline

date-adjustable chart trendline

Created by: Jose Silva of MetastockTools.com

Indicator / Formula

Copy & Paste Friendly

MetaStock -> Tools -> Indicator Builder -> New Copy and paste formula below.

{ Trendline - date range v3.0

©Copyright 2002~2006 Jose Silva.
 For personal use only.
 All code remains the property of Jose Silva.
 http://www.metastocktools.com }

{ Dates user input }
StDay:=Input("start Day",1,31,1);
StMnth:=Input("start Month",1,12,1);
StYear:=Input("start Year",1800,2200,2006);
EnDay:=Input("end Day",1,31,1);
EnMnth:=Input("end Month",1,12,6);
EnYear:=Input("end Year",1800,2200,2006);

{ Selected date periods }
start:=Year()>StYear
 OR (Year()=StYear AND (Month()>StMnth
 OR Month()=StMnth AND DayOfMonth()>=StDay));
end:=Year()<EnYear
 OR (Year()=EnYear AND (Month()<EnMnth
 OR Month()=EnMnth AND DayOfMonth()<=EnDay));

{ Date signals }
date1:=start AND Alert(start=0,2);
date2:=end=0 AND Alert(end,2);
date2:=Zig(end AND Cum(1)>1,1,$)=1;

{ Restrict out of range dates to chart }
date1:=If(LastValue(Cum(date1))>0,date1,
 Cum(1)=1);
date2:=If(LastValue(Cum(date2))>0,date2,
 LastValue(Cum(1))=Cum(1));

{ Sort dates in chronological order }
dateOk:=LastValue(BarsSince(date1))
 >LastValue(BarsSince(date2));
day1:=If(dateOk,date1,date2);
day2:=If(dateOk,date2,date1);

{ Data Array type, levels }
dataArray:=C;
price1:=ValueWhen(1,day1,dataArray);
price2:=LastValue(ValueWhen(1,day2,dataArray));

{ Trendline definition }
x1:=LastValue(BarsSince(day1));
x2:=LastValue(BarsSince(day2));
trendline:=price1
 +BarsSince(day1)*(price2-price1)
 /Max(x1-x2,.000001);

{ Rem next line to extend plot to end of chart }
trendline:=Ref(Ref(trendline,-x2),x2);

{ Plot on price chart }
trendline

0 comments

Leave Comment

Please login here to leave a comment.

Back