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
DRAWRECTANGLE(x1, y1, x2, y2) COLOURED(R, G, B, a)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
x1 | entero | obligatorio | Coordenada X de la primera esquina, normalmente un índice de bar. |
y1 | precio | obligatorio | Coordenada Y de la primera esquina, un precio o un valor calculado. |
x2 | entero | obligatorio | Coordenada X de la esquina opuesta. |
y2 | precio | obligatorio | Coordenada Y de la esquina opuesta. |
R, G, B | entero | valor por defecto de la plataforma | Opcional COLOURED describen las componentes roja, verde y azul, de 0 a 255. |
a | entero | 255 | Alfa (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)
// 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
RETURNLa 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)
// 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)
RETURNFILLCOLOR sombrea el interior mientras COLOURED define el borde.
Ejemplo 3, Zona de referencia fija (Indicador)
// 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)
RETURNUna sola llamada marca una banda fija a lo largo de los últimos 50 bars.
Errores y trampas habituales
- Solo en indicadores.
DRAWRECTANGLEno tiene efecto en ProScreener, ProOrder ni ProBacktest. Resérvalo para un indicador de ProBuilder. - X es un índice de bar. Pasar un precio a
x1ox2coloca mal el recuadro horizontalmente. UsaBarIndexo 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.
Instrucciones relacionadas
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.