Jetzt beitreten
Mathematisch/probuilder · probacktest · proorder · proscreener

SGN

SGN in ProBuilder gibt das Vorzeichen einer Zahl zurück, -1 für negativ, 0 für null oder 1 für positiv. Syntax, Parameter und Beispiele für Richtungslogik.

Syntax

probuilder
SGN(a)

Parameter

NameTypBeschreibung
aZahlDer numerische Wert oder Ausdruck, dessen Vorzeichen zurückgegeben wird.

Formel

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

Die Ausgabe ist einer von genau drei Werten, unabhängig davon, wie groß oder klein die Eingabe ist.

So funktioniert es

SGN reduziert jeden Wert auf seine Richtung. SGN(-15) ist -1, SGN(0) ist 0, und SGN(10) ist 1. Es gehört zusammen mit ABS, das den Betrag liefert, also value = SGN(value) * ABS(value) zerlegt eine Zahl in Richtung und Größe.

Die dreiwertige Ausgabe macht SGN praktisch innerhalb von Bedingungen und Berechnungen. SGN(close - open) ist +1 bei steigenden Bars, -1 bei fallenden Bars und 0 bei Doji-Bars, was summiert einen einfachen Richtungsscore ergibt.

Beispiele

Beispiel 1, Vorzeichen von drei Werten (Indikator)

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"

Jeder Aufruf reduziert seine Eingabe allein anhand des Vorzeichens auf -1, 0 oder 1.

Beispiel 2, Richtungsbewertung über die letzten 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")

Das Summieren von drei SGN Werte ergibt eine kleine ganzzahlige Bewertung von -3 bis 3, die misst, wie viele der letzten Bars gestiegen sind.

Beispiel 3, Einstiege anhand der Momentum Richtung freigeben (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 isoliert die Richtung des Momentum, ohne sich um dessen Betrag zu kümmern, und hält den Filter einfach.

Häufige Fehler und Stolperfallen

  • Gibt nur -1, 0 oder 1 zurück. SGN verwirft die Größe vollständig. SGN(0.001) und SGN(1000) geben beide 1 zurück. Verwenden Sie ABS wenn die Größe wichtig ist.
  • Null gibt null zurück. Eine Eingabe von genau null ergibt 0, was weder positiv noch negativ ist. Berücksichtigen Sie diesen dritten Fall in Vergleichen, statt nur -1 oder 1 anzunehmen.
  • Keine Rundungsfunktion. SGN rundet nicht. SGN(3.7) ist 1, nicht 4. Nutzen Sie ROUND, CEIL oder FLOOR zum Runden.
  • ABS, Absolutwert, das Betragsgegenstück zur Richtung, die SGN gibt zurück.
  • MAX, größerer von zwei Werten.
  • MIN, kleinerer von zwei Werten.
  • ROUND, rundet auf die nächste Ganzzahl oder Dezimalstelle.
  • Momentum, rohe Preisänderung, oft auf ein Vorzeichen reduziert mit SGN.
  • Variation, prozentuale Veränderung zwischen Bars.
  • ROC, Änderungsrate.