SQRT
SQRT in ProBuilder geeft de vierkantswortel van een niet-negatief getal terug. De domeinbeperking, syntaxis, het verband met SQUARE en Pow, en uitgewerkte handelsvoorbeelden.
Syntaxis
SQRT(a)Parameters
| Naam | Type | Beschrijving |
|---|---|---|
a | getal | Een niet-negatieve waarde of expressie. Negatieve inputs zijn niet gedefinieerd en veroorzaken een fout. |
Formule
SQRT(x) = x^(1/2), defined for x >= 0SQRT(0) geeft 0 terug, SQRT(16) retourneert 4, en SQRT(2) geeft ongeveer 1.41421. Het resultaat is altijd niet-negatief.
Hoe het werkt
SQRT geeft het niet-negatieve getal waarvan het kwadraat gelijk is aan de invoer. Het is gelijk aan POW(x, 0.5) en maakt ongedaan SQUARE voor niet-negatieve waarden. De invoer moet niet-negatief zijn; een negatief argument heeft geen reële vierkantswortel en geeft een fout, dus bescherm de invoer wanneer die onder nul kan komen, bijvoorbeeld met SQRT(MAX(x, 0)).
Bij traden komen vierkantswortels voor bij het omzetten van variantie naar standaarddeviatie, het schalen van volatiliteit met de tijd (de vierkantswortel-van-de-tijd-regel) en het normaliseren van afstanden.
Voorbeelden
Voorbeeld 1, Vierkantswortel van een waarde (Indicator)
// Square root of 16
variable1 = 16
root = SQRT(variable1)
RETURN root AS "SQRT(16)"SQRT(16) geeft 4, het niet-negatieve getal dat gekwadrateerd weer 16 oplevert.
Voorbeeld 2, Volatiliteit schalen met de tijd (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")Vermenigvuldigen met SQRT(10) past de wortel-van-de-tijdregel toe om een volatiliteitscijfer per bar naar een langere horizon te schalen.
Voorbeeld 3, Afstand genormaliseerd met een vierkantswortel (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
ENDIFHet verschil eerst kwadrateren garandeert een niet-negatieve invoer, en MAX(..., 0) is een dubbele veiligheidscontrole, zodat SQRT ziet nooit een negatieve waarde.
Veelvoorkomende fouten en valkuilen
- Input moet niet-negatief zijn.
SQRTvan een negatieve waarde is niet gedefinieerd en geeft een foutmelding. Beveilig metSQRT(MAX(x, 0))of kwadrateer de input eerst wanneer die onder nul kan komen. - Geeft alleen de niet-negatieve wortel terug.
SQRT(16)is 4, niet -4. De functie geeft nooit de negatieve wortel. - Gelijkwaardig aan POW(x, 0.5).
SQRT(x)enPOW(x, 0.5)geven hetzelfde resultaat en hebben dezelfde domeingrens.
Gerelateerde instructies
SQUARE, kwadrateert een waarde, het omgekeerde vanSQRTvoor niet-negatieve invoer.Pow, verheft een grondtal tot een macht, dusPOW(x, 0.5)komt overeen metSQRT.ABS, absolute waarde, handig om een niet-negatieve input te forceren.EXP, exponentiële functie.LOG, natuurlijke logaritme.STD, standaarddeviatie, gebouwd op de vierkantswortel van de variantie.Volatility, volatiliteitsmaat verwant aanSQRTschaling.