Lineare Regression: Der LRS-Indikator für MetaTrader 5

Mike 2010.07.05 23:14 10 0 0
Anhang

Die lineare Regression passt die folgende Gleichung einer Geraden an Preisdaten an:

y[x] = y0 + b*x

Dabei gilt:

  • x ist die Balkennummer (x=1..n);
  • y[x] ist der entsprechende Preis (Eröffnung, Schluss, Median etc.);
  • b ist ein Proportionalitätskoeffizient;
  • y0 ist ein Bias.

Die Steigung der linearen Regression, die durch diesen Indikator gegeben ist, entspricht einer normalisierten Version des Koeffizienten b.

Die Formel für b lautet:

b = (n*Sxy - Sx*Sy)/(n*Sxx - Sx*Sx)

wobei:

  • Sx = Sum(x, x = 1..n)= n*(n + 1)/2;
  • Sy = Sum(y[x], x = 1..n);
  • Sxx = Sum(x*x, x = 1..n) = n*(n+1)*(2*n+1)/6;
  • Sxy = Sum(x*y[x], x = 1..n);
  • n ist die Periode des LRS (Eingabeparameter Per).

Der Nenner von b kann vereinfacht werden zu:

n*Sxx - Sx*Sx = n*n*(n-1)*(n+1)/12

Schließlich kann die gesamte Gleichung für b vereinfacht werden zu:

b = 6*(2*Sxy/(n + 1) - Sy)/n/(n - 1)

Der Koeffizient b ist nicht normalisiert. Er muss normalisiert werden, wenn wir möchten, dass der LRS für verschiedene Währungspaare ungefähr den gleichen Bereich hat. Es ist praktisch, b zu normalisieren, indem man es entweder durch einen einfachen gleitenden Durchschnitt (SMA) oder einen linearen gewichteten gleitenden Durchschnitt (LWMA) teilt, die wie folgt gegeben sind:

SMA = Sy/n
LWMA = 2*Sxy/n/(n + 1)

Die entsprechenden Versionen des LRS lauten:

LRS_SMA = b/SMA = 6*(2*Sxy/Sy/(n + 1) - 1)/(n + 1)

LRS_LWMA = b/LWMA = 6*(1 - (n + 1)*Sy/Sxy/2)/(n + 1)

Diese beiden Normalisierungsvarianten sind fast nicht unterscheidbar. Daher wurde für den Indikator die SMA-Normalisierung gewählt. Aufgrund der sehr kleinen Werte des LRS werden die Indikatorwerte in Teilen pro 100.000 berechnet und gezeichnet, um ungefähr in den Bereich von -100 bis +100 zu passen.

Lineare Regression Steigung

Liste
Kommentar 0