Bli medlem idag
Matematik/probuilder · probacktest · proorder · proscreener

SQRT

SQRT i ProBuilder returnerar kvadratroten ur ett icke-negativt tal. Definitionsmängdens gräns, syntax, kopplingen till SQUARE och Pow samt genomgångna tradingexempel.

Syntax

probuilder
SQRT(a)

Parametrar

NamnTypBeskrivning
atalEtt icke-negativt värde eller uttryck. Negativ indata är odefinierad och ger ett fel.

Formel

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

SQRT(0) returnerar 0, SQRT(16) returnerar 4, och SQRT(2) returnerar ungefär 1.41421. Resultatet är alltid icke-negativt.

Så fungerar det

SQRT returnerar det icke-negativa tal vars kvadrat är lika med indata. Det motsvarar POW(x, 0.5) och upphäver SQUARE för icke-negativa värden. Indata måste vara icke-negativa; ett negativt argument har ingen reell kvadratrot och ger ett fel, så skydda indata när de kan gå under noll, till exempel med SQRT(MAX(x, 0)).

I trading förekommer kvadratrötter när varians omvandlas till standardavvikelse, när volatilitet skalas med tiden (kvadratrotsregeln för tid) eller när avstånd normaliseras.

Exempel

Exempel 1, Kvadratroten ur ett värde (Indikator)

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

SQRT(16) returnerar 4, det icke-negativa tal som i kvadrat ger 16.

Exempel 2, Skala volatilitet med tiden (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")

Att multiplicera med SQRT(10) tillämpar kvadratrotsregeln för tid för att skala ett volatilitetsvärde per bar till en längre horisont.

Exempel 3, Avstånd normaliserat med en kvadratrot (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

Att först kvadrera differensen garanterar en icke-negativ indata, och MAX(..., 0) är ett defensivt skydd med dubbel säkerhet så SQRT ser aldrig ett negativt värde.

Vanliga fel och fallgropar

  • Indata måste vara icke-negativ. SQRT av ett negativt värde är odefinierat och ger ett fel. Skydda med SQRT(MAX(x, 0)) eller kvadrera indatan först när den kan understiga noll.
  • Returnerar endast den icke-negativa roten. SQRT(16) är 4, inte -4. Funktionen returnerar aldrig den negativa roten.
  • Motsvarar POW(x, 0.5). SQRT(x) och POW(x, 0.5) ger samma resultat och delar samma domängräns.
  • SQUARE, kvadrerar ett värde, inversen av SQRT för icke-negativa indata.
  • Pow, upphöjer en bas till en exponent, så POW(x, 0.5) matchar SQRT.
  • ABS, absolutvärde, användbart för att tvinga fram en icke-negativ indata.
  • EXP, exponentialfunktion.
  • LOG, naturlig logaritm.
  • STD, standardavvikelse, byggd på kvadratroten ur variansen.
  • Volatility, volatilitetsmått relaterat till SQRT skalning.