Bli medlem idag
Matematik/probuilder · probacktest · proorder · proscreener

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

probuilder
MAX(a, b)

Parametrar

NamnTypBeskrivning
atalDet första värdet eller den första variabeln att jämföra.
btalDet andra värdet eller den andra variabeln att jämföra.

Formel

kod
MAX(a, b) = a if a >= b, otherwise b

Resultatet ä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)

probuilder
// 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)

probuilder
// 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)

probuilder
// 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
ENDIF

MAX 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. MAX jämför endast två värden. För det högsta över en serie, använd Highest; för tre eller fler värden nästla anrop som MAX(a, MAX(b, c)).
  • Inte ett löpande maximum. MAX(a, b) jämför de aktuella värdena för a och b. Den följer inte en topp över tid. Använd Highest för en rullande högsta.
  • Ordningen spelar ingen roll. MAX(a, b) och MAX(b, a) returnerar samma resultat, så argumentordningen är irrelevant.
  • MIN, returnerar det minsta av två värden, motsvarigheten till MAX.
  • ABS, absolutvärde, ofta kombinerat med MAX fö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.