Únete hoy
Gráficos/probuilder

DRAWRECTANGLE

DRAWRECTANGLE en ProBuilder dibuja un rectángulo a partir de dos esquinas opuestas dadas como índice de bar y precio, con un contorno COLOURED opcional y relleno FILLCOLOR.

Sintaxis

probuilder
DRAWRECTANGLE(x1, y1, x2, y2) COLOURED(R, G, B, a)

Parámetros

NombreTipoPor defectoDescripción
x1enteroobligatorioCoordenada X de la primera esquina, normalmente un índice de bar.
y1precioobligatorioCoordenada Y de la primera esquina, un precio o un valor calculado.
x2enteroobligatorioCoordenada X de la esquina opuesta.
y2precioobligatorioCoordenada Y de la esquina opuesta.
R, G, Benterovalor por defecto de la plataformaOpcional COLOURED describen las componentes roja, verde y azul, de 0 a 255.
aentero255Alfa (transparencia) opcional del contorno, de 0 a 255.

Cómo funciona

DRAWRECTANGLE se ejecuta dentro de un indicador de ProBuilder. Dibuja un rectángulo cuyas dos esquinas opuestas son (x1, y1) y (x2, y2). Las coordenadas x son índices de bar en el eje horizontal y las coordenadas y son precios en el eje vertical, por lo que el rectángulo abarca un rango tanto de tiempo como de precio. Sirve para marcar zonas de consolidación, áreas de breakout o patrones del gráfico.

El opcional COLOURED cláusula fija el color y la transparencia del contorno, y FILLCOLOR define el relleno interior. Como el objeto se redibuja en cada bar, los scripts suelen establecer DEFPARAM DrawOnLastBarOnly = true.

Ejemplos

Ejemplo 1, Resaltar un rango estrecho (Indicador)

probuilder
// Draw a red box around a 20-bar range if it stays inside a height limit
DEFPARAM DrawOnLastBarOnly = true
period = 20
boxheight = 20
hh = Highest[period](high)
ll = Lowest[period](low)
IF hh - ll <= boxheight * pointsize THEN
    FOR i = 0 TO period DO
        IF high[i] = hh THEN
            x2 = BarIndex[i]
        ENDIF
        IF low[i] = ll THEN
            x1 = BarIndex[i]
        ENDIF
    NEXT
    IF ABS(x2 - x1) >= period THEN
        DRAWRECTANGLE(x1, ll, x2, hh) COLOURED(255, 10, 10)
    ENDIF
ENDIF
RETURN

La caja se dibuja solo cuando el rango es lo bastante estrecho y los extremos están lo bastante separados.

Ejemplo 2, Rectángulo con el interior relleno (Indicador)

probuilder
// Green outline, purple fill, spanning the last five bars
DEFPARAM DrawOnLastBarOnly = true
DRAWRECTANGLE(BarIndex, close, BarIndex[5], close[5]) COLOURED(0, 200, 0) FILLCOLOR(255, 0, 255)
RETURN

FILLCOLOR sombrea el interior mientras COLOURED define el borde.

Ejemplo 3, Zona de referencia fija (Indicador)

probuilder
// A grey semi-transparent zone between two price levels
DEFPARAM DrawOnLastBarOnly = true
upper = Highest[50](high)
lower = upper - 30 * pointsize
DRAWRECTANGLE(BarIndex-50, lower, BarIndex, upper) COLOURED(128, 128, 128, 120)
RETURN

Una sola llamada marca una banda fija a lo largo de los últimos 50 bars.

Errores y trampas habituales

  • Solo en indicadores. DRAWRECTANGLE no tiene efecto en ProScreener, ProOrder ni ProBacktest. Resérvalo para un indicador de ProBuilder.
  • X es un índice de bar. Pasar un precio a x1 o x2 coloca mal el recuadro horizontalmente. Usa BarIndex o desplazamientos desde él.
  • Esquinas, no anchura y altura. Los cuatro valores son dos esquinas opuestas, no una posición y un tamaño.
  • Coste del redibujado. Sin DrawOnLastBarOnly = true, el rectángulo se dibuja en cada bar y ralentiza el gráfico.
  • DRAWELLIPSE, dibuja una elipse dentro del mismo tipo de caja delimitadora.
  • DRAWTRIANGLE, dibuja una forma de tres vértices.
  • DRAWLINE, dibuja una línea entre dos puntos.
  • COLOURED, define el color del contorno y la transparencia.
  • FILLCOLOR, define el color de relleno interior.
  • DrawOnLastBarOnly, limita el dibujo al último bar por rendimiento.
  • BarIndex, aporta las coordenadas x.
  • Highest, encuentra el techo de un rango para encerrarlo.