MAX
MAX i ProBuilder returnerar det större av två värden eller variabler. Syntax, parametrar och exempel för golvsättning, begränsning och jämförelse av två dataserier.
Syntax
MAX(a, b)Parametrar
| Namn | Typ | Beskrivning |
|---|---|---|
a | tal | Det första värdet eller den första variabeln att jämföra. |
b | tal | Det andra värdet eller den andra variabeln att jämföra. |
Formel
MAX(a, b) = a if a >= b, otherwise bResultatet är det av argumenten som är störst. När de två är lika returneras vilket som helst av värdena eftersom de är identiska.
Så fungerar det
MAX tar exakt två argument och returnerar det större. Den är tvåvärdesmotsvarigheten till Highest, som söker igenom en enda serie över ett lookback-fönster. För att välja det största av tre eller fler värden, nästla anrop: MAX(a, MAX(b, c)).
En vanlig användning är att tvinga fram en undre gräns, ett golv. MAX(x, 0) sätter negativa värden till noll, och MAX(x, k) garanterar att resultatet aldrig understiger k. Kombinerat med MIN den begränsar ett värde till ett intervall: MIN(hi, MAX(lo, x)).
Exempel
Exempel 1, Det större av två glidande medelvärden (Indikator)
// 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 väljer det högre av de två medelvärdena på varje bar och ger ett övre envelope som följer den period som ligger högst.
Exempel 2, Golvsätt ett värde vid noll (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) klämmer negativt momentum till noll, så bara genuina uppåtrörelser överlever som positiva avläsningar.
Exempel 3, Vidga en stop till ett minimiavstånd (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 garanterar att stop-nivån aldrig är snävare än det fasta minimumet, även när det ATR-baserade värdet är litet i en lugn marknad.
Vanliga fel och fallgropar
- Exakt två argument.
MAXjämför endast två värden. För det högsta över en serie, användHighest; för tre eller fler värden nästla anrop somMAX(a, MAX(b, c)). - Inte ett löpande maximum.
MAX(a, b)jämför de aktuella värdena föraochb. Den följer inte en topp över tid. AnvändHighestför en rullande högsta. - Ordningen spelar ingen roll.
MAX(a, b)ochMAX(b, a)returnerar samma resultat, så argumentordningen är irrelevant.
Relaterade instruktioner
MIN, returnerar det minsta av två värden, motsvarigheten tillMAX.ABS, absolutvärde, ofta kombinerat medMAXför att begränsa avstånd.Highest, det högsta värdet i en serie över en lookback-period.Lowest, det lägsta värdet i en serie över en lookback-period.ROUND, avrundar till närmaste heltal eller decimal.SGN, tecknet för ett värde.Range, spannet från high till low i en bar.