MIN
MIN i ProBuilder returnerar det mindre av två värden eller variabler. Syntax, parametrar och exempel för takbegränsning, begränsning och jämförelse av två dataserier.
Syntax
MIN(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
MIN(a, b) = a if a <= b, otherwise bResultatet är det av argumenten som är minst. När de två är lika returneras vilket som helst av värdena eftersom de är identiska.
Så fungerar det
MIN tar exakt två argument och returnerar det lägre. Den är tvåvärdesmotsvarigheten till Lowest, som skannar en enda serie över ett lookback-fönster. För att välja det minsta av tre eller fler värden, nästla anrop: MIN(a, MIN(b, c)).
En vanlig användning är att tvinga fram en övre gräns, ett tak. MIN(x, k) garanterar att resultatet aldrig överstiger k. Kombinerat med MAX den begränsar ett värde till ett intervall: MIN(hi, MAX(lo, x)), ett mönster som används för att hålla indata inom en giltig domän.
Exempel
Exempel 1, Det mindre av två glidande medelvärden (Indikator)
// 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 väljer det lägre av de två medelvärdena på varje bar och ger ett nedre envelope som följer den period som ligger lägst.
Exempel 2, Sätt ett tak för ett värde (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) hindrar extremvärden från att dominera scanningen genom att hålla värdet vid ett tak.
Exempel 3, Begränsa en indata till ett giltigt intervall (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
ENDIFAtt para MIN med MAX begränsar värdet till [-1, 1], vilket är det säkra indataintervallet för funktioner som ASIN och ACOS.
Vanliga fel och fallgropar
- Exakt två argument.
MINjämför endast två värden. För det lägsta över en serie, användLowest; för tre eller fler värden nästla anrop somMIN(a, MIN(b, c)). - Inte ett löpande minimum.
MIN(a, b)jämför de aktuella värdena föraochb. Den följer inte en botten över tid. AnvändLowestför en rullande lägsta. - Ordningen spelar ingen roll.
MIN(a, b)ochMIN(b, a)returnerar samma resultat, så argumentordningen är irrelevant.
Relaterade instruktioner
MAX, returnerar det största av två värden, motsvarigheten tillMIN.ABS, absolutvärde, ofta kombinerat medMINför att begränsa avstånd.Lowest, det lägsta värdet i en serie över en lookback-period.Highest, det hö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.