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
MIN(a, b)Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
a | numero | Primo valore o variabile da confrontare. |
b | numero | Secondo valore o variabile da confrontare. |
Formula
MIN(a, b) = a if a <= b, otherwise bIl 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)
// 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)
// 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)
// 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
ENDIFAbbinare 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.
MINconfronta solo due valori. Per il minimo su una serie usaLowest; per tre o più valori annida le chiamate comeMIN(a, MIN(b, c)). - Non è un minimo cumulato.
MIN(a, b)confronta i valori correnti diaeb. Non traccia un minimo nel tempo. UsaLowestper un minimo mobile. - L'ordine non è importante.
MIN(a, b)eMIN(b, a)restituiscono lo stesso risultato, quindi l'ordine degli argomenti è irrilevante.
Istruzioni correlate
MAX, restituisce il maggiore di due valori, la controparte diMIN.ABS, valore assoluto, spesso combinato conMINper 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.