Skip to main content

Affine Geometry by Viktor Likhovidov for Metastock

carla over 15 years ago Metastock

  • Rating:
    0 / 5 (Votes 0)
  • Tags:
    metastock

In a nutshell, the premise is based on the following recommendation: When you find a good channel on a price chart, don’t forget about it, because the market remembers such channels for a long time. At some point in the future, your chart will likely return to that same channel. But how can you “save” these channels effectively? One simple way is to plot parallel lines, setting the distance between them equal to the width of the channel.

Source: traders.com

Files

Indicator / Formula

Copy & Paste Friendly
sx:=Input("date of first point [ mmddyyyy ]",1,12350000,1032000);
sxt:=Input("intraday time of first point[ 24 hour - hhmm ]",0,2460,0);
ex:=Input("date of second point [ mmddyyyy ]",1,12350000,1032001);
ext:=Input("intraday time of second point[ 24 hour - hhmm ]",0,2460,0);
prs:=Input("scaling factor for slope calculation",1,100000,1);
ops:=Input("shift value for affine display",0,100000,0);
sdt:= (Month()=Int(sx/1000000)) AND
(DayOfMonth()=Rnd(Frac(Int(sx/10000)/100)*100)) AND
(Year()=Rnd(Frac(sx/10000)*10000)) AND
(Hour()= Int(sxt/100)) AND
(Minute()=Rnd(Frac(sxt/100)*100));
edt:=Month()=Int(ex/1000000) AND
DayOfMonth()=Rnd(Frac(Int(ex/10000)/100)*100) AND
Year()=Rnd(Frac(ex/10000)*10000) AND
(Hour()= Int(ext/100)) AND
(Minute()=Rnd(Frac(ext/100)*100));
rise:=LastValue((ValueWhen(1,edt,C)-ValueWhen(1,sdt,C))*prs);
run:=LastValue(ValueWhen(1,edt,Cum(1))-ValueWhen(1,sdt,Cum(1)));
sl:=rise/run;
tr:=((C-LastValue(ValueWhen(1,sdt,C)))-(Cum(1)-LastValue(ValueWhen(1,sdt
,Cum(1))))*sl);
tr+ops

0 comments

Leave Comment

Please login here to leave a comment.