Word nu lid
Wiskundig/probuilder · probacktest · proorder · proscreener

SGN

SGN in ProBuilder geeft het teken van een getal terug als -1 voor negatief, 0 voor nul of 1 voor positief. Syntaxis, parameters en voorbeelden voor richtingslogica.

Syntaxis

probuilder
SGN(a)

Parameters

NaamTypeBeschrijving
agetalDe numerieke waarde of expressie waarvan het teken wordt teruggegeven.

Formule

code
SGN(x) = -1 if x < 0,   0 if x = 0,   1 if x > 0

De uitvoer is één van precies drie waarden, ongeacht hoe groot of klein de input is.

Hoe het werkt

SGN reduceert elke waarde tot de richting ervan. SGN(-15) is -1, SGN(0) is 0, en SGN(10) is 1. Het hoort samen met ABS, die de magnitude retourneert, dus value = SGN(value) * ABS(value) splitst een getal in richting en grootte.

De uitvoer met drie waarden maakt SGN handig binnen voorwaarden en rekenkundige expressies. SGN(close - open) is +1 op stijgende bars, -1 op dalende bars en 0 op dojibars, en kan worden opgeteld tot een eenvoudige richtingsscore.

Voorbeelden

Voorbeeld 1, Teken van drie waarden (Indicator)

probuilder
// 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"

Elke aanroep reduceert de input tot -1, 0 of 1, puur op basis van het teken.

Voorbeeld 2, Richtingsscore over recente bars (ProScreener)

probuilder
// 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")

Het optellen van drie SGN waarden levert een kleine gehele score van -3 tot 3 die meet hoeveel van de recente bars omhoog gingen.

Voorbeeld 3, Instappen filteren op de richting van het momentum (ProOrder)

probuilder
// 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
ENDIF

SGN(mom) = 1 isoleert de richting van het momentum zonder naar de grootte te kijken, waardoor het filter simpel blijft.

Veelvoorkomende fouten en valkuilen

  • Geeft alleen -1, 0 of 1 terug. SGN negeert de omvang volledig. SGN(0.001) en SGN(1000) geven beide 1. Gebruik ABS wanneer grootte uitmaakt.
  • Nul geeft nul terug. Een input die precies nul is geeft 0, wat noch positief noch negatief is. Houd in vergelijkingen rekening met dit derde geval in plaats van aan te nemen dat er alleen -1 of 1 is.
  • Geen afrondingsfunctie. SGN rondt niet af. SGN(3.7) is 1, niet 4. Gebruik ROUND, CEIL of FLOOR voor afronden.
  • ABS, absolute waarde, de grootte-tegenhanger van de richting die SGN geeft terug.
  • MAX, de grootste van twee waarden.
  • MIN, de kleinste van twee waarden.
  • ROUND, rondt af op het dichtstbijzijnde gehele of decimale getal.
  • Momentum, ruwe prijsverandering vaak teruggebracht tot een teken met SGN.
  • Variation, procentuele verandering tussen bars.
  • ROC, veranderingssnelheid.