MAX
MAX in ProBuilder restituisce il maggiore di due valori o variabili. Sintassi, parametri ed esempi per limitare inferiormente, vincolare e confrontare due serie di dati.
Sintassi
MAX(a, b)Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
a | numero | Primo valore o variabile da confrontare. |
b | numero | Secondo valore o variabile da confrontare. |
Formula
MAX(a, b) = a if a >= b, otherwise bIl risultato è pari all'argomento maggiore. Quando i due sono uguali, viene restituito uno qualsiasi dei due valori poiché sono identici.
Come funziona
MAX accetta esattamente due argomenti e restituisce il maggiore. È il corrispettivo a due valori di Highest, che scansiona una singola serie su una finestra di lookback. Per scegliere il maggiore tra tre o più valori, annida le chiamate: MAX(a, MAX(b, c)).
Un uso frequente è imporre un limite inferiore, o floor. MAX(x, 0) azzera i valori negativi, e MAX(x, k) garantisce che il risultato non sia mai inferiore a k. Combinato con MIN limita un valore in un intervallo: MIN(hi, MAX(lo, x)).
Esempi
Esempio 1, La maggiore di due medie mobili (Indicatore)
// Return whichever high-based average is greater
mmA = Average[20](high)
mmB = Average[50](high)
result = MAX(mmA, mmB)
RETURN result AS "Upper average"MAX sceglie la più alta delle due medie su ogni bar, producendo un inviluppo superiore che segue il periodo che si trova più in alto.
Esempio 2, Limitare inferiormente una lettura a zero (ProScreener)
// Never let the momentum reading go below zero
mom = close - close[10]
floored = MAX(mom, 0)
SCREENER[floored > 0](floored AS "Positive momentum")MAX(mom, 0) azzera il momentum negativo, quindi solo i movimenti rialzisti effettivi sopravvivono come letture positive.
Esempio 3, Ampliare uno stop a una distanza minima (ProOrder)
// Use the larger of an ATR-based stop and a fixed minimum distance
atrStop = 2 * AverageTrueRange[14](close)
minStop = 15 * pointsize
stopDist = MAX(atrStop, minStop)
IF NOT LongOnMarket AND close CROSSES OVER Average[20](close) THEN
BUY 1 CONTRACT AT MARKET
SET STOP LOSS stopDist
ENDIFMAX garantisce che lo stop non sia mai più stretto del minimo fisso, anche quando il valore basato sull'ATR è piccolo in un mercato tranquillo.
Errori e insidie comuni
- Esattamente due argomenti.
MAXconfronta solo due valori. Per il massimo su una serie usaHighest; per tre o più valori annida le chiamate comeMAX(a, MAX(b, c)). - Non è un massimo cumulato.
MAX(a, b)confronta i valori correnti diaeb. Non traccia un massimo nel tempo. UsaHighestper un massimo mobile. - L'ordine non è importante.
MAX(a, b)eMAX(b, a)restituiscono lo stesso risultato, quindi l'ordine degli argomenti è irrilevante.
Istruzioni correlate
MIN, restituisce il minore di due valori, la controparte diMAX.ABS, valore assoluto, spesso combinato conMAXper limitare le distanze.Highest, valore più alto di una serie su un periodo di lookback.Lowest, valore più basso 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.