Únete hoy
Gráficos/probuilder

DRAWBARCHART

DRAWBARCHART en ProBuilder dibuja una barra OHLC personalizada a partir de los valores open, high, low y close, con barra COLOURED y BORDERCOLOR opcionales. Sintaxis y ejemplos.

Sintaxis

probuilder
DRAWBARCHART(open, high, low, close) COLOURED(R, G, B) BORDERCOLOR(R, G, B)

Parámetros

NombreTipoPor defectoDescripción
openprecioobligatorioValor de apertura, dibujado como la marca izquierda de la barra.
highprecioobligatorioValor más alto, la parte superior de la barra vertical.
lowprecioobligatorioValor más bajo, la parte inferior de la barra vertical.
closeprecioobligatorioValor de cierre, dibujado como la marca derecha de la barra.
R, G, B (COLOURED)enterovalor por defecto de la plataformaComponentes del color de la barra, 0 a 255.
R, G, B (BORDERCOLOR)enterovalor por defecto de la plataformaComponentes del color del borde, de 0 a 255.

Cómo funciona

DRAWBARCHART se ejecuta dentro de un indicador ProBuilder. Dibuja un bar OHLC, una línea vertical del mínimo al máximo con un tick de apertura a la izquierda y un tick de cierre a la derecha, a partir de los cuatro valores que recibe. Esos valores pueden ser constantes, variables o expresiones, lo que la convierte en una forma de representar una serie de bars derivada, como un gráfico de bars suavizado o promediado. El bar se dibuja en el bar actual en el que se llama, por lo que no hace falta un argumento de índice de bar.

COLOURED fija el color del bar y BORDERCOLOR define el contorno. Cuando se omiten ambos se aplican los colores por defecto de la plataforma. Se comporta como DRAWCANDLE pero produce un bar en lugar de un cuerpo de vela.

Ejemplos

Ejemplo 1, Gráfico de barras Heikin-Ashi suavizado (Indicador)

probuilder
// Build averaged Heikin-Ashi bars and colour by direction
period = 20
IF BarIndex > period THEN
    avgO = Average[period](open)
    avgH = Average[period](high)
    avgL = Average[period](low)
    avgC = Average[period](close)
    HAClose = (avgO + avgH + avgL + avgC) / 4
    HAOpen = (HAOpen[1] + HAClose[1]) / 2
    HAHigh = MAX(avgH, MAX(HAOpen, HAClose))
    HALow = MIN(avgL, MIN(HAOpen, HAClose))
    IF avgO <= avgC THEN
        DRAWBARCHART(HAOpen, HAHigh, HALow, HAClose) COLOURED(0, 255, 0)
    ELSE
        DRAWBARCHART(HAOpen, HAHigh, HALow, HAClose) COLOURED(255, 0, 0)
    ENDIF
ENDIF
RETURN

La barra es verde cuando la apertura promediada se sitúa en o por debajo del cierre promediado, y roja en caso contrario.

Ejemplo 2, Una barra en bruto recoloreada (Indicador)

probuilder
// Redraw the current bar in a fixed colour
DRAWBARCHART(open, high, low, close) COLOURED(0, 120, 255)
RETURN

Pasar los valores OHLC en bruto reproduce la barra con el color elegido.

Ejemplo 3, Barra a partir de una serie desplazada (Indicador)

probuilder
// Draw a bar offset up by a fixed amount for comparison
off = 10 * pointsize
DRAWBARCHART(open + off, high + off, low + off, close + off) COLOURED(200, 200, 0)
RETURN

Desplazar cada valor con el mismo offset coloca una barra de comparación por encima del precio.

Errores y trampas habituales

  • Solo en indicadores. DRAWBARCHART no tiene efecto en ProScreener, ProOrder ni ProBacktest. Resérvalo para un indicador de ProBuilder.
  • Orden de los argumentos. El orden es open, high, low, close. Intercambiar high y low, u open y close, dibuja una barra mal formada.
  • Sin argumento de índice de bar. La barra se dibuja en la barra en la que se ejecuta la llamada, situada según el punto del bucle en el que se ejecuta, no por una coordenada x.
  • El open recursivo necesita una protección. Las aperturas de estilo Heikin-Ashi hacen referencia a HAOpen[1], así que condiciona el bloque con un BarIndex comprobación para evitar un primer valor indefinido.
  • DRAWCANDLE, dibuja una vela personalizada en lugar de una barra.
  • Open, la fuente del precio de apertura.
  • High, la fuente del precio máximo.
  • Low, la fuente del precio mínimo.
  • Close, la fuente del precio de cierre.
  • COLOURED, establece el color de la barra.
  • DrawOnLastBarOnly, limita el dibujo al último bar.
  • Average, suaviza los valores OHLC antes de dibujar.