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
SGN(a)Parameter
| Name | Typ | Beschreibung |
|---|---|---|
a | Zahl | Der numerische Wert oder Ausdruck, dessen Vorzeichen zurückgegeben wird. |
Formel
SGN(x) = -1 if x < 0, 0 if x = 0, 1 if x > 0Die 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)
// 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)
// 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)
// 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 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.
SGNverwirft die Größe vollständig.SGN(0.001)undSGN(1000)geben beide 1 zurück. Verwenden SieABSwenn 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.
SGNrundet nicht.SGN(3.7)ist 1, nicht 4. Nutzen SieROUND,CEILoderFLOORzum Runden.
Verwandte Befehle
ABS, Absolutwert, das Betragsgegenstück zur Richtung, dieSGNgibt 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 mitSGN.Variation, prozentuale Veränderung zwischen Bars.ROC, Änderungsrate.