Iscriviti ora
Matematica/probuilder · probacktest · proorder · proscreener

SGN

SGN in ProBuilder restituisce il segno di un numero come -1 per negativo, 0 per zero o 1 per positivo. Sintassi, parametri ed esempi per la logica di direzione.

Sintassi

probuilder
SGN(a)

Parametri

NomeTipoDescrizione
anumeroIl valore numerico o l'espressione di cui viene restituito il segno.

Formula

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

L'output è uno di esattamente tre valori, indipendentemente da quanto grande o piccolo sia l'input.

Come funziona

SGN riduce qualsiasi valore alla sua direzione. SGN(-15) è -1, SGN(0) è 0, e SGN(10) è 1. Si abbina a ABS, che restituisce la magnitudine, quindi value = SGN(value) * ABS(value) scompone un numero in direzione e dimensione.

L'output a tre valori rende SGN comodo all'interno di condizioni e operazioni aritmetiche. SGN(close - open) è +1 sulle bars rialziste, -1 sulle bars ribassiste e 0 sulle bars doji, e può essere sommato per costruire un semplice punteggio di direzione.

Esempi

Esempio 1, Segno di tre valori (Indicatore)

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"

Ogni chiamata riduce il suo input a -1, 0 o 1 basandosi unicamente sul segno.

Esempio 2, Punteggio di direzione sui bar recenti (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")

Sommando tre SGN valori produce un piccolo punteggio intero da -3 a 3 che misura quante delle bars recenti sono salite.

Esempio 3, Filtrare gli ingressi sulla direzione del 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 isola la direzione del momentum senza considerarne la magnitudine, mantenendo il filtro semplice.

Errori e insidie comuni

  • Restituisce solo -1, 0 o 1. SGN scarta completamente l'ampiezza. SGN(0.001) e SGN(1000) restituiscono entrambi 1. Usa ABS quando la dimensione conta.
  • Zero restituisce zero. Un input esattamente pari a zero restituisce 0, che non è né positivo né negativo. Tieni conto di questo terzo caso nei confronti invece di assumere solo -1 o 1.
  • Non è una funzione di arrotondamento. SGN non arrotonda. SGN(3.7) è 1, non 4. Usa ROUND, CEIL o FLOOR per l'arrotondamento.
  • ABS, valore assoluto, la controparte in grandezza della direzione che SGN restituisce.
  • MAX, il maggiore di due valori.
  • MIN, il minore di due valori.
  • ROUND, arrotonda all'intero o al decimale più vicino.
  • Momentum, variazione di prezzo grezza spesso ridotta a un segno con SGN.
  • Variation, variazione percentuale tra bar.
  • ROC, tasso di variazione.