Iscriviti ora
Matematica/probuilder · probacktest · proorder · proscreener

MIN

MIN in ProBuilder restituisce il minore di due valori o variabili. Sintassi, parametri ed esempi per limitare superiormente, vincolare e confrontare due serie di dati.

Sintassi

probuilder
MIN(a, b)

Parametri

NomeTipoDescrizione
anumeroPrimo valore o variabile da confrontare.
bnumeroSecondo valore o variabile da confrontare.

Formula

codice
MIN(a, b) = a if a <= b, otherwise b

Il risultato è pari all'argomento minore. Quando i due sono uguali, viene restituito uno qualsiasi dei due valori poiché sono identici.

Come funziona

MIN accetta esattamente due argomenti e restituisce il minore. È la controparte a due valori di Lowest, che analizza una singola serie su una finestra di lookback. Per scegliere il più piccolo tra tre o più valori, annida le chiamate: MIN(a, MIN(b, c)).

Un uso frequente è imporre un limite superiore, o cap. MIN(x, k) garantisce che il risultato non sia mai superiore a k. Combinato con MAX limita un valore in un intervallo: MIN(hi, MAX(lo, x)), un pattern usato per mantenere gli input in un dominio valido.

Esempi

Esempio 1, La minore di due medie mobili (Indicatore)

probuilder
// Return whichever low-based average is lower
mmA = Average[20](low)
mmB = Average[50](low)
result = MIN(mmA, mmB)
RETURN result AS "Lower average"

MIN sceglie la più bassa delle due medie su ogni bar, producendo un inviluppo inferiore che segue il periodo che si trova più in basso.

Esempio 2, Limitare superiormente una lettura a un tetto (ProScreener)

probuilder
// Limit an overheated ratio to a maximum of 2
ratio = close / Average[50](close)
capped = MIN(ratio, 2)
SCREENER[ratio > 1](capped AS "Capped ratio")

MIN(ratio, 2) impedisce che valori estremi dominino la scansione mantenendo la lettura a un tetto massimo.

Esempio 3, Vincolare un input in un intervallo valido (ProOrder)

probuilder
// Keep a normalized reading inside [-1, 1] before using it
raw = (close - Average[20](close)) / (2 * STD[20](close))
clamped = MIN(1, MAX(-1, raw))
IF NOT LongOnMarket AND clamped > 0.8 THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

Abbinare MIN con MAX limita la lettura a [-1, 1], che è l'intervallo di input sicuro per funzioni come ASIN e ACOS.

Errori e insidie comuni

  • Esattamente due argomenti. MIN confronta solo due valori. Per il minimo su una serie usa Lowest; per tre o più valori annida le chiamate come MIN(a, MIN(b, c)).
  • Non è un minimo cumulato. MIN(a, b) confronta i valori correnti di a e b. Non traccia un minimo nel tempo. Usa Lowest per un minimo mobile.
  • L'ordine non è importante. MIN(a, b) e MIN(b, a) restituiscono lo stesso risultato, quindi l'ordine degli argomenti è irrilevante.
  • MAX, restituisce il maggiore di due valori, la controparte di MIN.
  • ABS, valore assoluto, spesso combinato con MIN per limitare le distanze.
  • Lowest, valore più basso di una serie su un periodo di lookback.
  • Highest, valore più alto di una serie su un periodo di lookback.
  • ROUND, arrotonda all'intero o al decimale più vicino.
  • SGN, segno di un valore.
  • Range, ampiezza da massimo a minimo di una bar.