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
SQRT(a)Parametrar
| Namn | Typ | Beskrivning |
|---|---|---|
a | tal | Ett icke-negativt värde eller uttryck. Negativ indata är odefinierad och ger ett fel. |
Formel
SQRT(x) = x^(1/2), defined for x >= 0SQRT(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)
// 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)
// 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)
// 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
ENDIFAtt 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.
SQRTav ett negativt värde är odefinierat och ger ett fel. Skydda medSQRT(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)ochPOW(x, 0.5)ger samma resultat och delar samma domängräns.
Relaterade instruktioner
SQUARE, kvadrerar ett värde, inversen avSQRTför icke-negativa indata.Pow, upphöjer en bas till en exponent, såPOW(x, 0.5)matcharSQRT.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 tillSQRTskalning.