Únete hoy
Constantes/probuilder · probacktest · proorder · proscreener

Range

Range devuelve el máximo menos el mínimo de una bar en ProBuilder, su amplitud total de precio. Usa Range o Range[N] para medir la volatilidad por bar en indicadores y estrategias.

Sintaxis

probuilder
Range

Range[N] devuelve el rango de N bars atrás, donde N es 0 para la bar actual, 1 para la bar anterior, y así sucesivamente. Range y Range[0] son equivalentes.

Cómo funciona

Range es la diferencia entre el máximo y el mínimo de la barra, High - Low. Mide cuánto se movió el precio entre los extremos de un solo bar, por lo que un rango amplio señala un bar activo y un rango estrecho un bar tranquilo.

El desplazamiento entre corchetes referencia bars anteriores, por lo que Range[1] es el rango del bar anterior. El índice debe permanecer dentro del histórico cargado.

A diferencia del rango verdadero, Range solo mira el bar actual e ignora cualquier gap respecto al cierre anterior. Para una volatilidad que tenga en cuenta los gaps, usa TR o AverageTrueRange. En el bar en curso el rango crece a medida que el máximo o el mínimo se extienden hasta que el bar cierra.

Ejemplos

Ejemplo 1, Range frente a su media (Indicador)

probuilder
// Compare the current bar's span with its recent average
avgRange = Average[20](Range)
RETURN Range AS "Range", avgRange AS "Avg range 20"

El indicador resalta las bars cuya amplitud queda por encima o por debajo de la norma reciente.

Ejemplo 2, Buscando contracción del rango (ProScreener)

probuilder
// Latest range narrower than the previous bar, with a lower high
contracting = Range < Range[1] AND High < High[1]

SCREENER[contracting] (Range AS "Range")

El screener devuelve instrumentos cuya amplitud de bar se contrae junto a un máximo más bajo.

Ejemplo 3, Evitar entradas en bars amplias (ProOrder)

probuilder
DEFPARAM CumulateOrders = false

avgRange = Average[20](Range)

// Skip signals when the current bar is unusually wide
IF Close CROSSES OVER Average[20](Close) AND Range < 1.5 * avgRange THEN
  BUY 1 CONTRACT AT MARKET
ENDIF

SET STOP %LOSS 2

El filtro bloquea las entradas cuando el actual Range es mucho mayor que la media, evitando bars sobreextendidas.

Errores y trampas habituales

  • Ignora los gaps. Range es el máximo menos el mínimo de una sola barra. No incluye el hueco desde el cierre anterior, por lo que puede subestimar la volatilidad en torno a los huecos. Usa TR para una medida que tenga en cuenta los gaps.
  • La bar en curso crece. En la bar actual el rango sigue ampliándose hasta el cierre, por lo que las comparaciones con bars completadas son desiguales hasta que la bar termina.
  • Desplazamiento fuera de rango. Range[N] falla cuando N apunta a un punto anterior a la primera bar cargada. Protege las consultas largas de histórico o carga más histórico.
  • High, el precio más alto de un bar.
  • Low, el precio más bajo de un bar.
  • TR, el true range, que tiene en cuenta los gaps.
  • AverageTrueRange, un true range suavizado a lo largo de varias bars.
  • Close, el precio de cierre de un bar.
  • Open, el precio de apertura de un bar.
  • TypicalPrice, la media de high, low y close.
  • Volume, el volumen negociado de un bar.