Jetzt beitreten
Mathematisch/probuilder · probacktest · proorder · proscreener

SQRT

SQRT in ProBuilder gibt die Quadratwurzel einer nicht negativen Zahl zurück. Die Grenze des Definitionsbereichs, Syntax, die Verbindung zu SQUARE und Pow sowie ausgearbeitete Trading-Beispiele.

Syntax

probuilder
SQRT(a)

Parameter

NameTypBeschreibung
aZahlEin nicht negativer Wert oder Ausdruck. Negative Eingaben sind undefiniert und lösen einen Fehler aus.

Formel

Code
SQRT(x) = x^(1/2),   defined for x >= 0

SQRT(0) gibt 0 zurück, SQRT(16) gibt 4 zurück, und SQRT(2) gibt etwa 1.41421 zurück. Das Ergebnis ist immer nicht negativ.

So funktioniert es

SQRT gibt die nicht-negative Zahl zurück, deren Quadrat dem Eingabewert entspricht. Sie entspricht POW(x, 0.5) und macht rückgängig SQUARE für nichtnegative Werte. Die Eingabe muss nichtnegativ sein; ein negatives Argument hat keine reelle Quadratwurzel und löst einen Fehler aus, sichern Sie die Eingabe daher ab, wenn sie unter null fallen kann, zum Beispiel mit SQRT(MAX(x, 0)).

Im Trading treten Quadratwurzeln auf, wenn Varianz in Standardabweichung umgerechnet wird, wenn Volatilität über die Zeit skaliert wird (die Wurzel-Zeit-Regel) oder wenn Abstände normiert werden.

Beispiele

Beispiel 1, Quadratwurzel eines Werts (Indikator)

probuilder
// Square root of 16
variable1 = 16
root = SQRT(variable1)
RETURN root AS "SQRT(16)"

SQRT(16) gibt 4 zurück, die nicht negative Zahl, die quadriert wieder 16 ergibt.

Beispiel 2, Volatilität über die Zeit skalieren (ProScreener)

probuilder
// Project one-bar volatility over a 10-bar horizon
barVol = STD[20](close)
projected = barVol * SQRT(10)
SCREENER[projected > 0](projected AS "10-bar vol")

Multiplikation mit SQRT(10) wendet die Wurzel-Zeit-Regel an, um einen Volatilitätswert pro Bar auf einen längeren Horizont zu skalieren.

Beispiel 3, Durch eine Quadratwurzel normierter Abstand (ProOrder)

probuilder
// Guard against negative input before taking the root
raw = close - Average[50](close)
dist = SQRT(MAX(raw * raw, 0))
IF dist < close * 0.02 AND NOT LongOnMarket AND close CROSSES OVER Average[20](close) THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

Die Differenz zuerst zu quadrieren garantiert einen nicht negativen Eingabewert, und MAX(..., 0) ist eine doppelt gesicherte defensive Absicherung, damit SQRT sieht niemals einen negativen Wert.

Häufige Fehler und Stolperfallen

  • Die Eingabe muss nicht negativ sein. SQRT eines negativen Werts ist undefiniert und löst einen Fehler aus. Absichern mit SQRT(MAX(x, 0)) oder quadrieren Sie die Eingabe zuerst, wenn sie unter null fallen kann.
  • Gibt nur die nicht negative Wurzel zurück. SQRT(16) ist 4, nicht -4. Die Funktion gibt nie die negative Wurzel zurück.
  • Entspricht POW(x, 0.5). SQRT(x) und POW(x, 0.5) liefern das gleiche Ergebnis und haben dieselbe Definitionsgrenze.
  • SQUARE, quadriert einen Wert, die Umkehrung von SQRT für nicht negative Eingaben.
  • Pow, erhebt eine Basis in eine Potenz, also POW(x, 0.5) entspricht SQRT.
  • ABS, Absolutwert, nützlich um eine nicht negative Eingabe zu erzwingen.
  • EXP, Exponentialfunktion.
  • LOG, natürlicher Logarithmus.
  • STD, Standardabweichung, aufgebaut auf der Quadratwurzel der Varianz.
  • Volatility, Volatilitätsmaß verwandt mit SQRT Skalierung.