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

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

probuilder
MIN(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
MIN(a, b) = a if a <= b, otherwise b

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

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

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

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

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