SGN
SGN i ProBuilder returnerer fortegnet til et tall som -1 for negativt, 0 for null eller 1 for positivt. Syntaks, parametere og eksempler for retningslogikk.
Syntaks
SGN(a)Parametere
| Navn | Type | Beskrivelse |
|---|---|---|
a | tall | Den numeriske verdien eller uttrykket som fortegnet returneres for. |
Formel
SGN(x) = -1 if x < 0, 0 if x = 0, 1 if x > 0Resultatet er én av nøyaktig tre verdier uansett hvor stor eller liten inngangsverdien er.
Slik fungerer det
SGN reduserer en vilkårlig verdi til dens retning. SGN(-15) er -1, SGN(0) er 0, og SGN(10) er 1. Den pares med ABS, som returnerer størrelsen, så value = SGN(value) * ABS(value) deler et tall i retning og størrelse.
Utdata med tre verdier gjør SGN praktisk inne i betingelser og aritmetikk. SGN(close - open) er +1 på oppbarer, -1 på nedbarer og 0 på dojibarer, som kan summeres til en enkel retningsscore.
Eksempler
Eksempel 1, Fortegn for tre verdier (Indikator)
// Sign of a negative, a zero, and a positive input
variable1 = -15
variable2 = 0
variable3 = 10
sign1 = SGN(variable1) // -1
sign2 = SGN(variable2) // 0
sign3 = SGN(variable3) // 1
RETURN sign1 AS "neg", sign2 AS "zero", sign3 AS "pos"Hvert kall reduserer inngangsverdien sin til -1, 0 eller 1 utelukkende ut fra fortegnet.
Eksempel 2, Retningsskår over de siste barene (ProScreener)
// Net direction of the last three bar closes
score = SGN(close - close[1]) + SGN(close[1] - close[2]) + SGN(close[2] - close[3])
SCREENER[score >= 2](score AS "Up bars")Summering av tre SGN verdier gir en liten heltallsskår fra -3 til 3 som måler hvor mange av de siste barene som steg.
Eksempel 3, Filtrere innganger på momentum-retning (ProOrder)
// Only go long while momentum direction is positive
mom = close - close[10]
IF SGN(mom) = 1 AND NOT LongOnMarket AND close CROSSES OVER Average[20](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIFSGN(mom) = 1 isolerer retningen til momentum uten å ta hensyn til størrelsen, noe som holder filteret enkelt.
Vanlige feil og fallgruver
- Returnerer bare -1, 0 eller 1.
SGNforkaster størrelsen helt.SGN(0.001)ogSGN(1000)returnerer begge 1. BrukABSnår størrelsen betyr noe. - Null returnerer null. En inngangsverdi som er nøyaktig null gir 0, som verken er positiv eller negativ. Ta hensyn til dette tredje tilfellet i sammenligninger i stedet for å anta bare -1 eller 1.
- Ikke en avrundingsfunksjon.
SGNrunder ikke av.SGN(3.7)er 1, ikke 4. BrukROUND,CEILellerFLOORfor avrunding.
Relaterte instruksjoner
ABS, absoluttverdi, størrelsesmotstykket til retningen somSGNreturnerer.MAX, den største av to verdier.MIN, den minste av to verdier.ROUND, runder av til nærmeste heltall eller desimal.Momentum, rå prisendring ofte redusert til et fortegn medSGN.Variation, prosentvis endring mellom barer.ROC, endringsrate.