LowestBars
LowestBars en ProBuilder devuelve el desplazamiento en bars hasta el valor más bajo de una serie en un periodo, donde 0 significa que el bar actual contiene el valor más bajo.
Sintaxis
offset = LowestBars[Period](source)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
Period | entero | obligatorio | Número de bars pasados incluidos en la búsqueda, contando el bar actual. |
source | serie | obligatorio | La serie de datos a escanear, como close, low, high, o cualquier serie calculada. |
Cómo funciona
LowestBars analiza los últimos Period bars de la serie dada e informa de la posición del mínimo como desplazamiento desde el bar actual. La cuenta empieza en cero: 0 es el bar actual, 1 es un bar atrás. La función complementaria Lowest devuelve el propio valor mínimo, mientras que LowestBars devuelve dónde se sitúa ese mínimo, que es lo que suele necesitar la lógica de temporización.
Cuando varios bars comparten el mismo valor mínimo, la función informa de la aparición más cercana al bar actual, es decir, el desplazamiento más pequeño. Si el gráfico contiene menos bars que Period, la búsqueda simplemente abarca las bars disponibles.
El desplazamiento encaja de forma natural en expresiones indexadas por bar. Por ejemplo, close[LowestBars[20](low)] lee el cierre del bar en el que se marcó el mínimo más bajo de 20 bars. El resultado también funciona como medida de frescura: un desplazamiento pequeño significa que el mercado imprimió su mínimo del periodo hace poco, un desplazamiento grande significa que el mínimo está envejeciendo y no se ha puesto a prueba durante muchos bars.
Según el comportamiento de origen, la función devuelve -1 cuando no se puede resolver ningún valor inferior dentro del rango solicitado, por lo que el código que utiliza el resultado como índice debería protegerse frente a valores negativos.
Ejemplos
Ejemplo 1, Localización del mínimo más bajo de 20 bars (Indicador)
// Offset in bars to the lowest low of the last 20 bars
a = LowestBars[20](low)
RETURN aEl valor representado cae a 0 cada vez que el bar actual marca un nuevo mínimo de 20 bars, y después sube de uno en uno en cada bar que no logra romperlo.
Ejemplo 2, Entrar solo cuando el mínimo es antiguo (ProOrder)
// The 50-bar lowest low must be at least 20 bars old,
// meaning no fresh low has printed recently
lowAge = LowestBars[50](low)
IF lowAge >= 20 AND close crosses over average[20](close) THEN
BUY 1 CONTRACT AT MARKET
ENDIF
SET STOP %LOSS 2LowestBars actúa como filtro de estabilización: la estrategia solo compra cuando el mínimo más reciente del periodo se marcó hace al menos 20 bars.
Ejemplo 3, Búsqueda de un nuevo mínimo del periodo (ProScreener)
// Flag instruments that printed their 100-bar low within the last 3 bars
recentLow = LowestBars[100](low)
SCREENER[recentLow <= 3 AND recentLow >= 0] (recentLow AS "Bars since low")El screener lista los mercados que cotizan en o cerca de un nuevo mínimo de 100 bars y muestra hace cuántos bars se produjo ese mínimo.
Errores y trampas habituales
- Desplazamiento confundido con valor. LowestBars devuelve un recuento de bars, no un precio. Para leer el mínimo en sí usa
Lowest[Period](source), o indexa la serie con el desplazamiento. - Numeración desde cero. Un resultado de 0 se refiere al bar actual. Tratar 0 como "no se encontró mínimo" descarta en silencio el caso más importante, un nuevo mínimo en el bar que se está evaluando.
- Resultado negativo utilizado como índice. Cuando la función no puede resolver un valor inferior devuelve -1, y expresiones como
low[LowestBars[20](low)]y luego indexar un desplazamiento negativo. Comprueba el resultado antes de usarlo como índice. - Los empates se resuelven al bar más cercano. Cuando dos bars comparten el mínimo exacto, prevalece el desplazamiento menor. La lógica que espera la aparición más antigua interpretará mal las series planas o con huecos.
Instrucciones relacionadas
Lowest, devuelve el valor más bajo de una serie en un periodo.Highest, devuelve el valor más alto de una serie en un periodo.HighestBars, desplazamiento en bars hasta el valor más alto, la función espejo.BarsSince, cuenta los bars desde la última vez que una condición fue verdadera.BarIndex, posición de base cero del bar actual en el historial cargado.Summation, suma una serie en un periodo.DRAWTEXT, imprime valores en el gráfico, útil para verificar desplazamientos.