MIN
MIN in ProBuilder geeft de kleinste van twee waarden of variabelen terug. Syntaxis, parameters en voorbeelden voor begrenzen, binnen bereik houden en het vergelijken van twee datareeksen.
Syntaxis
MIN(a, b)Parameters
| Naam | Type | Beschrijving |
|---|---|---|
a | getal | Eerste waarde of variabele om te vergelijken. |
b | getal | Tweede waarde of variabele om te vergelijken. |
Formule
MIN(a, b) = a if a <= b, otherwise bHet resultaat is gelijk aan het kleinste van de twee argumenten. Zijn ze gelijk, dan wordt een van beide waarden teruggegeven, aangezien ze identiek zijn.
Hoe het werkt
MIN neemt exact twee argumenten en geeft de kleinste terug. Het is de tweewaardige tegenhanger van Lowest, die een enkele reeks over een lookbackvenster scant. Om de kleinste van drie of meer waarden te kiezen, nest je aanroepen: MIN(a, MIN(b, c)).
Een veelgebruikte toepassing is het afdwingen van een bovengrens, of cap. MIN(x, k) garandeert dat het resultaat nooit hoger is dan k. Gecombineerd met MAX het begrenst een waarde tot een bereik: MIN(hi, MAX(lo, x)), een patroon om invoer binnen een geldig domein te houden.
Voorbeelden
Voorbeeld 1, De kleinste van twee voortschrijdende gemiddelden (Indicator)
// 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 kiest op elke bar het laagste van de twee gemiddelden, wat een onderste envelope oplevert die steeds de onderliggende periode volgt.
Voorbeeld 2, Een waarde begrenzen met een plafond (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) voorkomt dat extreme waarden de scan domineren door de uitlezing op een plafond te houden.
Voorbeeld 3, Een invoerwaarde binnen een geldig bereik houden (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
ENDIFKoppelen MIN met MAX begrenst de uitlezing tot [-1, 1], het veilige invoerbereik voor functies zoals ASIN en ACOS.
Veelvoorkomende fouten en valkuilen
- Precies twee argumenten.
MINvergelijkt alleen twee waarden. Voor de laagste over een reeks gebruik jeLowest; nest bij drie of meer waarden aanroepen zoalsMIN(a, MIN(b, c)). - Geen doorlopend minimum.
MIN(a, b)vergelijkt de huidige waarden vanaenb. Het houdt geen dal over de tijd bij. GebruikLowestvoor een rollende low. - De volgorde maakt niet uit.
MIN(a, b)enMIN(b, a)geven hetzelfde resultaat, dus de volgorde van de argumenten is niet van belang.
Gerelateerde instructies
MAX, geeft de grootste van twee waarden, de tegenhanger vanMIN.ABS, absolute waarde, vaak gecombineerd metMINom afstanden te begrenzen.Lowest, laagste waarde van een reeks over een lookbackperiode.Highest, hoogste 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.