Word nu lid
Wiskundig/probuilder · probacktest · proorder · proscreener

MAX

MAX in ProBuilder geeft de grootste van twee waarden of variabelen terug. Syntaxis, parameters en voorbeelden voor ondergrenzen, begrenzen en het vergelijken van twee datareeksen.

Syntaxis

probuilder
MAX(a, b)

Parameters

NaamTypeBeschrijving
agetalEerste waarde of variabele om te vergelijken.
bgetalTweede waarde of variabele om te vergelijken.

Formule

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

Het resultaat is gelijk aan het grootste van de twee argumenten. Zijn ze gelijk, dan wordt een van beide waarden teruggegeven, aangezien ze identiek zijn.

Hoe het werkt

MAX neemt precies twee argumenten en geeft de grootste terug. Het is de tweewaardige tegenhanger van Highest, die een enkele reeks over een lookbackvenster doorloopt. Om de grootste van drie of meer waarden te kiezen, nest je aanroepen: MAX(a, MAX(b, c)).

Een veelgebruikte toepassing is het afdwingen van een ondergrens, of floor. MAX(x, 0) begrenst negatieve waarden op nul, en MAX(x, k) garandeert dat het resultaat nooit lager is dan k. Gecombineerd met MIN het begrenst een waarde tot een bereik: MIN(hi, MAX(lo, x)).

Voorbeelden

Voorbeeld 1, De grootste van twee voortschrijdende gemiddelden (Indicator)

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 kiest op elke bar het hoogste van de twee gemiddelden, wat een bovenste envelope oplevert die steeds de bovenliggende periode volgt.

Voorbeeld 2, Een waarde een ondergrens van nul geven (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) begrenst negatief momentum tot nul, zodat alleen echte opwaartse bewegingen als positieve waarden overblijven.

Voorbeeld 3, Een stop verbreden tot een minimumafstand (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 garandeert dat de stop nooit nauwer is dan het vaste minimum, zelfs wanneer het op ATR gebaseerde getal klein is in een rustige markt.

Veelvoorkomende fouten en valkuilen

  • Precies twee argumenten. MAX vergelijkt alleen twee waarden. Voor de hoogste over een reeks gebruik Highest; nest bij drie of meer waarden aanroepen zoals MAX(a, MAX(b, c)).
  • Geen doorlopend maximum. MAX(a, b) vergelijkt de huidige waarden van a en b. Het houdt geen piek over tijd bij. Gebruik Highest voor een rollende high.
  • De volgorde maakt niet uit. MAX(a, b) en MAX(b, a) geven hetzelfde resultaat, dus de volgorde van de argumenten is niet van belang.
  • MIN, geeft de kleinste van twee waarden, de tegenhanger van MAX.
  • ABS, absolute waarde, vaak gecombineerd met MAX om afstanden te begrenzen.
  • Highest, hoogste waarde van een reeks over een lookbackperiode.
  • Lowest, laagste waarde van een reeks over een lookbackperiode.
  • ROUND, rondt af op het dichtstbijzijnde gehele of decimale getal.
  • SGN, teken van een waarde.
  • Range, het bereik van high naar low van een bar.