R-squared

Vragen en suggesties over handelssystemen en indicatoren

Moderator: Perry

R-squared

Berichtdoor do » za 03 mei 2003, 15:11

Wie heeft een juiste code beschikbaar voor de
R-squared indicator, ik heb de onderstaande code van internet geplukt maar ik weet niet of deze correct is. Er zouden ook waarden onder 0 moeten zijn !?

value function Rsquared(value Price=close, value Len=14, value Smth=3)
begin

Vars: Ctr(0), RegSlope(0), RegValue(0), Avg(0), RegRes(0), YRes(0), r2(0), RmR2(0);

RegRes = 0;
YRes = 0;
Ctr = 0;

Avg = Average(Price, Len);
RegSlope = LinearRegSlope(Price, Len);
RegValue = LinearRegValue(Price, Len, 0);

for Ctr = 0 to Len - 1 begin
RegRes = RegRes + Square((RegValue - (Ctr * RegSlope)) - Avg);
YRes = YRes + Square(Price[Ctr] - Avg);
end;

if YRes <> 0 then
r2 = RegRes / YRes
else
r2 = 0;
rmR2 = Average(r2, Smth);
plot1(rmR2,'R-squared');
end;
do
 
Berichten: 8
Geregistreerd op: wo 01 jan 2003, 20:46

R-squared

Berichtdoor JVerv » za 03 mei 2003, 22:52

Alsjeblieft.

{-------------------------------------------------------
[INFO]
Author=
Created=2002-10-04
Modified=2002-10-07
Reference=
Usage=

[PLOTS]
PLOT1=1,-3,8421504,8421504,0,0,1
PLOT2=1,-2,8421504,8421504,0,0,1
PLOT3=1,-2,8421504,8421504,0,0,1
PLOT4=1,-2,8421504,8421504,0,0,1

[INPUTS]

[DESCRIPTION]

[END]
-------------------------------------------------------}

Inputs: Length(30),Smooth(1),Trend(.7),NoTrend(.3),RunLen(10);
Vars:R(0),SquareR(0),AvgSqrR(0);
R=zCoeffR(Length);
SquareR=Square(R);
If Smooth>0 then AvgSqrR=Average(SquareR,Smooth)else
AvgSqrR=SquareR;
Plot1(AvgSqrR,"AvgSqrR");
Plot2(Trend,"Trend");
Plot3(NoTrend,"NoTrend");
If MRO(AvgSqrR>Trend,RunLen,RunLen)<>-1 or MRO(AvgSqrR<NoTrend,RunLen,RunLen)<>-1 then
begin
Plot4(AvgSqrR,"Running");
Alert = True;
End;

Groeten,
Jan
JVerv
 
Berichten: 22
Geregistreerd op: ma 11 nov 2002, 20:26

R-squared

Berichtdoor JVerv » za 03 mei 2003, 22:56

By the way,

Een kwadraat is in het reele getallenstelsel (wat wij gebruiken) altijd >= 0, immers -1^2 = +1.

Succes.
JVerv
 
Berichten: 22
Geregistreerd op: ma 11 nov 2002, 20:26

R-squared

Berichtdoor geert udema » zo 04 mei 2003, 9:55

Hieronder een werkend system met bijhorende function.

value function uRsquare; begin
Inputs: Length(29), AvgLen(13);
Vars: R(0), SquareR(0), AvgSqrR(0);
R = uCoeffR(Length);
SquareR = Square(R);
AvgSqrR = Average(SquareR, AvgLen);
Plot1(AvgSqrR, "AvgSqrR");

-----------------------------------------

value function uCoeffR(value Length); begin
Vars: X(0), UpEQ(0), LowEQ1(0), LowEQ2(0), LowEQT(0);
X = BarNumber;
UpEQ = Summation(X * Close, Length) - (Length * Average(X, Length) * Average(Close, Length));
LowEQ1 = Summation(Square(X), Length) - (Length * Square(Average(X, Length)));
LowEQ2 = Summation(Square(Close), Length) - (Length * Square(Average(Close, Length)));
IF LowEQ1 * LowEQ2 > 0 Then
?LowEQT = SquareRoot(LowEQ1 * LowEQ2);
IF LowEQT <> 0 Then
?uCoeffR = UpEQ / LowEQT;
end;

-----------------------------------------

Ik heb ruw getest, voor Long en vergelijkbaar met Short:

If AvgSqrR > AvgSqrR[1] AND AvgSqrR[1] > AvgSqrR[2] AND
?AvgSqrR[2] > AvgSqrR[3] Then begin
? ? ?Plot2(1, "Rising"); Buy;
? ?end else begin
? ? ?Plot2(-1, "Rising"); vExitLong;
? ?end;

Dat zag er goed uit en moet nog te verbeteren zijn.
Weet iemand over welke (2?) grafieken deze correlatie coefficient wat zegt ?

Groetend, Geert
geert udema
 
Berichten: 114
Geregistreerd op: ma 31 dec 2001, 11:45

R-squared

Berichtdoor do » zo 04 mei 2003, 16:41

Bedankt allemaal,
ik ga het proberen.
Do
do
 
Berichten: 8
Geregistreerd op: wo 01 jan 2003, 20:46


Keer terug naar Handelssystemen + Indicatoren

Wie is er online

Gebruikers op dit forum: Geen geregistreerde gebruikers en 18 gasten

cron