Lineare Regression - squeeze momentum indicator

Eröffnet von chrifack im Board Trading und Tradesignal - Die ersten Schritte

Seitenlänge102030
Seite 1 von 1
#5: 24.02.2021 23:23 Starlet_I
@Yvel273 (#3)

vielen Dank für den chart ...
#4: 22.02.2021 22:08 chrifack
@Yvel273 (#3)

Hi Yvel273

Du bist unglaublich. Herzlichen Dank für Deine Hilfe. Das ging weit über meine Erwartung hinaus. Auch gerade die Umsetzung der Farben usw. Vielen lieben Dank.

Grüsse
Christian
#3: 22.02.2021 00:51 Yvel273
Der Beitrag wurde vom Verfasser bearbeitet. Originalbeitrag anzeigen.
@chrifack (#1)
hi

Meta:
Synopsis( "Squeeze Momentum Indicator" ),
ShortCode( "SQMI" ),
SubChart( true );
inputs:
Price(close),
lengthBB(20, 1),
multBB(2.0),
lengthKC(20, 1),
multKC(1.5),
SymbolWidth(2, 1);
vars:
basis(0), dev(0), upperBB(0), lowerBB(0), ma(0), range(0), rangema(0), upperKC(0), lowerKC(0),
sqzOn(false), sqzOff(false), noSqz(false), drawcolor(white), drawcolor2(white);

BollingerBands( Price, lengthBB, multBB, basis, upperBB, lowerBB);
KeltnerChannel( Price, lengthKC, multKC, ma, upperKC, lowerKC);

sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC);
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC);
noSqz = (sqzOn = false) and (sqzOff = false);
value1 = LinearRegSlope(Price - AvgItems(AvgItems( highest( high, lengthKC), lowest(low, lengthKC)), averagefc( close, lengthKC)), lengthKC);

drawcolor = iff( value1 > 0, iff( value1 > value1[1], ColorLime, cyan), iff( value1 < value1[1], magenta, ColorMaroon));
if noSqz then drawcolor2 = blue else if sqzOn then drawcolor2 = white else drawcolor2 = ColorPeachPuff;
DrawForest(Value1, 0, "SQMI", "zero", thick, drawcolor, false);
DrawSymbol(0, "zero2", SymbolCircle, SymbolWidth, drawcolor2, drawcolor2);
#2: 19.02.2021 13:03 chrifack
Vielleicht noch zu Präzisierung. Die Funktion LinearReg habe ich schon gefunden, allerings ohne Hinweis darauf, welche Parameter in welcher Reihenfolge die Funktion benötigt. Laut Fehlermeldung beim Übersetzen sind es 7 Argumente, die die Funtkion benötigt.

Danke
Christian
#1: 19.02.2021 12:50 chrifack
Hallo zusammen

nach langer Abszenz melde ich mich mal wieder mit einer Frage an die Community.
Ich habe folgenden Plan: ich möchte den Squeeze Momentum Indicator von lazy bear in Equilla umsetzen. Den von ihm verwendeten Code auf Tradingview findet ihr unten. Grundsätzlich stellt die Umsetzung des Codes in Equilla kein allzu grosses Problem das, ABER die Funktion "linreg", die eine einfache linear Regression berechnen soll, finde ich so nicht im Terminal. Auch meine Suche hier im Forum blieb bisher leider ohne Erfolg.
Ich wäre echt froh, wenn mir hier jemand auf die Sprünge helfen könnte oder einen Hinweis geben könnte.

Vielen Dank und Grüsse
Christian

length = input(20, title="BB Length")
mult = input(2.0,title="BB MultFactor")
lengthKC=input(20, title="KC Length")
multKC = input(1.5, title="KC MultFactor")

useTrueRange = input(true, title="Use TrueRange (KC)", type=bool)

// Calculate BB
source = close
basis = sma(source, length)
dev = multKC * stdev(source, length)
upperBB = basis + dev
lowerBB = basis - dev

// Calculate KC
ma = sma(source, lengthKC)
range = useTrueRange ? tr : (high - low)
rangema = sma(range, lengthKC)
upperKC = ma + rangema * multKC
lowerKC = ma - rangema * multKC

sqzOn = (lowerBB > lowerKC) and (upperBB < upperKC)
sqzOff = (lowerBB < lowerKC) and (upperBB > upperKC)
noSqz = (sqzOn == false) and (sqzOff == false)

val = linreg(source - avg(avg(highest(high, lengthKC), lowest(low, lengthKC)),sma(close,lengthKC)),
lengthKC,0)