MIN
MIN en ProBuilder devuelve el menor de dos valores o variables. Sintaxis, parámetros y ejemplos para limitar, acotar y comparar dos series de datos.
Sintaxis
MIN(a, b)Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
a | número | Primer valor o variable a comparar. |
b | número | Segundo valor o variable a comparar. |
Fórmula
MIN(a, b) = a if a <= b, otherwise bEl resultado es igual al argumento que sea menor. Cuando ambos son iguales, se devuelve cualquiera de los dos valores, ya que son idénticos.
Cómo funciona
MIN toma exactamente dos argumentos y devuelve el menor. Es la contrapartida de dos valores de Lowest, que recorre una única serie a lo largo de una ventana de lookback. Para elegir el menor de tres o más valores, anida llamadas: MIN(a, MIN(b, c)).
Un uso frecuente es imponer un límite superior, o techo. MIN(x, k) garantiza que el resultado nunca sea superior a k. Combinado con MAX acota un valor dentro de un rango: MIN(hi, MAX(lo, x)), un patrón usado para mantener las entradas dentro de un dominio válido.
Ejemplos
Ejemplo 1, La menor de dos medias móviles (Indicador)
// 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 elige la menor de las dos medias en cada bar, generando una envolvente inferior que sigue al periodo que esté por debajo.
Ejemplo 2, Limitar una lectura con un techo (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) evita que los valores extremos dominen el escaneo al mantener la lectura en un techo.
Ejemplo 3, Acotar una entrada dentro de un rango válido (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
ENDIFEmparejar MIN con MAX acota la lectura a [-1, 1], que es el rango de entrada seguro para funciones como ASIN y ACOS.
Errores y trampas habituales
- Exactamente dos argumentos.
MINcompara solo dos valores. Para el mínimo de toda una serie usaLowest; para tres o más valores anida llamadas comoMIN(a, MIN(b, c)). - No es un mínimo acumulado.
MIN(a, b)compara los valores actuales deayb. No sigue un mínimo a lo largo del tiempo. UsaLowestpara un mínimo móvil. - El orden no importa.
MIN(a, b)yMIN(b, a)devuelven el mismo resultado, por lo que el orden de los argumentos es irrelevante.
Instrucciones relacionadas
MAX, devuelve el mayor de dos valores, el complemento deMIN.ABS, valor absoluto, a menudo combinado conMINpara limitar distancias.Lowest, valor más bajo de una serie en un periodo de análisis.Highest, valor más alto de una serie en un periodo de análisis.ROUND, redondea al entero o decimal más próximo.SGN, signo de un valor.Range, recorrido de máximo a mínimo de un bar.