Teknik Analiz Dünyasına Hoşgeldiniz.

Paylaşmak ◄ ► Güzeldir

DİKKAT: Formüller, Sistemler eğitim amaçlıdır. Alım satım, olası anapara kaybı ve diğer kayıplar dahil olmak üzere "YÜKSEK RİSK" içerir.

Yayından kaldırmak istediğiniz formüller için algoritmabul@gmail.com ile iletişime geçebilirsiniz...

  • DİKKAT: Formüller, Sistemler sadece eğitim amaçlıdır. Alım satım, olası anapara kaybı ve diğer kayıplar dahil olmak üzere "YÜKSEK RİSK" içerir.
  • Mucize teknik gösterge yoktur, sadece doğru veya yanlış kullanılan göstergeler vardır.

İndikatör Linear Regression Trendline & Channels by Jose Silva

Teknik analizde fiyatın yönü veya trendin devamıyla ilgili fikir veren matematiksel modellerdir. İndikatörlerin Türkçe karşılığı göstergedir.

algoritma

eiπ + 1 = 0
Algorithmist
Algoritma
Katılım
23 Eki 2020
Mesajlar
1,826
Linear Regression Trendline with Standard Deviation/Error Channels/Bands, date-adjustable.​

Linear Regression Trendline & Channels
{ Linear Regression Trendline & Channels v4.0 }
{ (c) Copyright 2004-2005 Jose Silva }
{ For personal use only }
{ http://www.metastocktools.com }
{ User Inputs }
pds:=Input("Linear Regression Trendline periods",2,2520,63);
multi:=Input("Standard Deviations(+) / Errors(-)",-100,100,2);
EnDay:=Input("end Day",1,31,31);
EnMnth:=Input("end Month",1,12,12);
EnYear:=Input("end Year",1800,2200,2010);
x:=Input("use: Open=1 Hi=2 Lo=3 Close=4 WghtCl=5 Volume=6",1,6,4);
x:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=5,WC(),If(x=6,V,C)))));
{ End date point }
end:=Year()>EnYear
OR (Year()=EnYear AND (Month()>EnMnth
OR Month()=EnMnth AND DayOfMonth()>=EnDay));
end:=end AND Alert(end=0,2);
end:=If(LastValue(Cum(Ref(end,pds)))=0,
LastValue(Cum(1))=Cum(1),end);
{ Linear Regression Trend/Slope end-points }
lastValLRI:=LastValue(Highest(
If(end,LinearReg(x,pds),0)));
lastValLRS:=LastValue(Highest(
If(end,LinRegSlope(x,pds),-10000)));
adjust:=LastValue(LastValue(Cum(1))
-Highest(If(end,Cum(1),0)));
countback:=LastValue(Cum(1))-Cum(1)-adjust;
{ Rem next line to extend plot to end of chart }
countback:=Ref(Ref(countback,-adjust),adjust);
{ Lin Reg Trendline }
LR:=lastValLRI-lastValLRS*countback;
restrict:=adjust-(LastValue(Cum(1))-pds);
LRT:=Ref(Ref(LR,-restrict),restrict);
{ Lin Reg StdDev/StdError channels }
bandType:=If(multi>=0,Stdev(x,pds),STE(x,pds));
diff:=ValueWhen(1,Cum(IsDefined(LRT))=1,
bandType*Abs(multi));
upLR:=LRT+diff;
lwLR:=LRT-diff;
{ Plot on price chart }
upLR;lwLR;LRT​
Source / From:
 

Dragonix

Algorithmist
Katılım
22 Şub 2021
Mesajlar
2
Matriks'e yazdığımda değişken hatası veriyor. Hatayı bulamadım yardımcı olabilir misiniz?
Not: x deiğşkeni 2 kere geçtiği için değiştirdim "a" olarak tanımlayıp düzenledim fakat olmadı :(

pds:=Input("Linear Regression Trendline periods",2,2520,63);
multi:=Input("Standard Deviations(+) / Errors(-)",-100,100,2);
EnDay:=Input("end Day",1,31,31);
EnMnth:=Input("end Month",1,12,12);
EnYear:=Input("end Year",1800,2200,2010);
x:=Input("use: Open=1 Hi=2 Lo=3 Close=4 WghtCl=5 Volume=6",1,6,4);
a:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=5,W(),If(x=6,V,C)))));

{ End date point }
end:=Year()>EnYear OR (Year()=EnYear AND (Month()>EnMnth OR Month()=EnMnth AND DayOfMonth()>=EnDay));
end:=end AND Alert(end=0,2);
end:=If(LastValue(Cum(Ref(end,pds)))=0,LastValue(Cum(1))=Cum(1),end);

{ Linear Regression Trend/Slope end-points }
lastValLRI:=LastValue(Highest(If(end,LinearReg(a,pds),0)));
lastValLRS:=LastValue(Highest(If(end,LinRegSlope(a,pds),-10000)));
adjust:=LastValue(LastValue(Cum(1))-Highest(If(end,Cum(1),0)));
countback:=LastValue(Cum(1))-Cum(1)-adjust;

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

{ Lin Reg Trendline }
LR:=lastValLRI-lastValLRS*countback;
restrict:=adjust-(LastValue(Cum(1))-pds);
LRT:=Ref(Ref(LR,-restrict),restrict);

{ Lin Reg StdDev/StdError channels }
bandType:=If(multi>=0,Stdev(a,pds),STE(a,pds));
diff:=ValueWhen(1,Cum(IsDefined(LRT))=1,bandType*Abs(multi));
upLR:=LRT+diff;
lwLR:=LRT-diff;

{ Plot on price chart }
upLR; lwLR; LRT
 

algoritma

eiπ + 1 = 0
Algorithmist
Algoritma
Katılım
23 Eki 2020
Mesajlar
1,826
öncelikle end:=end AND Alert(end=0,2); alert
diff:=ValueWhen(1,Cum(IsDefined(LRT))=1,bandType*Abs(multi)); isdefined matriks de yok
bu satırlar haricindeki çevrimi ise şöyle

pds:=63;
multi:=2;
EnDay:=31;
EnMnth:=12;
EnYear:=2024;
x:=4;
a:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=5,W(),If(x=6,V,C)))));

end:=Year()>EnYear OR (Year()=EnYear AND (Month()>EnMnth OR Month()=EnMnth AND DayOfMonth()>=EnDay));
end1:=0.2 ;
end2:=If(LastValue(Cum(Ref(end1,pds)))=0,LastValue(Cum(1))=Cum(1),end1);


lastValLRI:=LastValue(Highest(If(end2,LinearReg(a,pds),0)));
lastValLRS:=LastValue(Highest(If(end2,LinRegSlope(a,pds),-10000)));
adjust:=LastValue(LastValue(Cum(1))-Highest(If(end2,Cum(1),0)));
countback:=LastValue(Cum(1))-Cum(1)-adjust;

{ Rem next line to extend plot to end of chart }
countback1:=Ref(Ref(countback,-adjust),adjust);

{ Lin Reg Trendline }
LR:=lastValLRI-lastValLRS*countback1;
restrict:=adjust-(LastValue(Cum(1))-pds);
LRT:=Ref(Ref(LR,-restrict),restrict);

{ Lin Reg StdDev/StdError channels }
bandType:=If(multi>=0,Stdev(a,pds),STE(a,pds));
diff:=ValueWhen(1,Cum(IsDefined(LRT))=1,bandType*Abs(multi));
upLR:=LRT+diff;
lwLR:=LRT-diff;

{ Plot on price chart }
upLR; lwLR; LRT
 

Dragonix

Algorithmist
Katılım
22 Şub 2021
Mesajlar
2
öncelikle end:=end AND Alert(end=0,2); alert
diff:=ValueWhen(1,Cum(IsDefined(LRT))=1,bandType*Abs(multi)); isdefined matriks de yok
bu satırlar haricindeki çevrimi ise şöyle

pds:=63;
multi:=2;
EnDay:=31;
EnMnth:=12;
EnYear:=2024;
x:=4;
a:=If(x=1,O,If(x=2,H,If(x=3,L,If(x=5,W(),If(x=6,V,C)))));

end:=Year()>EnYear OR (Year()=EnYear AND (Month()>EnMnth OR Month()=EnMnth AND DayOfMonth()>=EnDay));
end1:=0.2 ;
end2:=If(LastValue(Cum(Ref(end1,pds)))=0,LastValue(Cum(1))=Cum(1),end1);


lastValLRI:=LastValue(Highest(If(end2,LinearReg(a,pds),0)));
lastValLRS:=LastValue(Highest(If(end2,LinRegSlope(a,pds),-10000)));
adjust:=LastValue(LastValue(Cum(1))-Highest(If(end2,Cum(1),0)));
countback:=LastValue(Cum(1))-Cum(1)-adjust;

{ Rem next line to extend plot to end of chart }
countback1:=Ref(Ref(countback,-adjust),adjust);

{ Lin Reg Trendline }
LR:=lastValLRI-lastValLRS*countback1;
restrict:=adjust-(LastValue(Cum(1))-pds);
LRT:=Ref(Ref(LR,-restrict),restrict);

{ Lin Reg StdDev/StdError channels }
bandType:=If(multi>=0,Stdev(a,pds),STE(a,pds));
diff:=ValueWhen(1,Cum(IsDefined(LRT))=1,bandType*Abs(multi));
upLR:=LRT+diff;
lwLR:=LRT-diff;

{ Plot on price chart }
upLR; lwLR; LRT
teşekkür ederim cevap için :)
 

Forumdan daha fazla yararlanmak için giriş yapın yada üye olun!

Forumdan daha fazla yararlanmak için giriş yapın veya kayıt olun!

Giriş yap

Eğer bir hesabınız var ise lütfen giriş yapın

Giriş yap