Únete hoy
Gráficos/probuilder

DRAWLINE

DRAWLINE en ProBuilder dibuja una línea recta entre dos puntos del gráfico dados como coordenadas de índice de barra y precio, con un color COLOURED opcional. Sintaxis y ejemplos.

Sintaxis

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

Parámetros

NombreTipoPor defectoDescripción
x1enteroobligatorioCoordenada X del primer punto, normalmente un índice de bar como BarIndex.
y1precioobligatorioCoordenada Y del primer punto, un precio o un valor calculado.
x2enteroobligatorioCoordenada X del segundo punto.
y2precioobligatorioCoordenada Y del segundo punto.
R, G, Benterovalor por defecto de la plataformaOpcional COLOURED componentes rojo, verde y azul, de 0 a 255.
aentero255Alfa opcional (transparencia), de 0 totalmente transparente a 255 totalmente opaco.

Cómo funciona

DRAWLINE funciona dentro de un indicador ProBuilder. En cada bar la plataforma dibuja una línea recta entre los dos pares de coordenadas (x1, y1) y (x2, y2). Las coordenadas x son índices de bars, por lo que BarIndex y BarIndex-1 sitúan los extremos en bars concretas, mientras que las coordenadas y son precios en el eje vertical.

La línea abarca exactamente los dos puntos dados, a diferencia de DRAWRAY, que se extiende más allá de ellos. Como dibujar en cada barra repite el mismo objeto muchas veces, la mayoría de los scripts prefijan el código con DEFPARAM DrawOnLastBarOnly = true de modo que la línea se dibuja una vez, en la barra actual.

El opcional COLOURED cláusula define el color. Cuando se omite, se usa el color por defecto de la plataforma.

Ejemplos

Ejemplo 1, Líneas de pivote de Fibonacci (Indicador)

probuilder
// Draw pivot and Fibonacci support/resistance as short horizontal lines
DEFPARAM DrawOnLastBarOnly = true
dh = DHigh(1)
dl = DLow(1)
P = (dh + dl + DClose(1)) / 3
R1 = P + 0.382 * (dh - dl)
S1 = P - 0.382 * (dh - dl)
DRAWLINE(BarIndex-1, P,  BarIndex, P)  COLOURED(153, 153, 0)
DRAWLINE(BarIndex-1, R1, BarIndex, R1) COLOURED(0, 153, 0)
DRAWLINE(BarIndex-1, S1, BarIndex, S1) COLOURED(153, 0, 0)
RETURN

Cada línea va de la barra anterior a la barra actual a un precio fijo, por lo que se lee como un marcador de nivel corto.

Ejemplo 2, Conectar dos mínimos recientes (Indicador)

probuilder
// Draw a line between the two most recent lowest points over 20 bars
DEFPARAM DrawOnLastBarOnly = true
period = 20
y2 = Lowest[period](low)
FOR i = 0 TO period DO
    IF low[i] = y2 THEN
        x2 = BarIndex[i]
    ELSIF low[i] < y2 THEN
        y1 = low[i]
        x1 = BarIndex[i]
    ENDIF
NEXT
DRAWLINE(x1, y1, x2, y2)
RETURN

El bucle localiza los índices de bar de dos puntos mínimos, y después un único DRAWLINE los conecta como una línea de tendencia.

Ejemplo 3, Marcar una distancia fija (Indicador)

probuilder
// A green line from 10 bars back at the low to the current close
DEFPARAM DrawOnLastBarOnly = true
DRAWLINE(BarIndex-10, low[10], BarIndex, close) COLOURED(0, 200, 0, 200)
RETURN

Una llamada mínima que usa offsets literales para las coordenadas x y precios para las coordenadas y.

Errores y trampas habituales

  • Solo en indicadores. DRAWLINE no tiene efecto en ProScreener, ProOrder ni ProBacktest. Mantén el código de dibujo en un indicador de ProBuilder.
  • X es un índice de bar, no un precio. Un error habitual es pasar un precio a x1 o x2. Las coordenadas x sitúan los bars en el eje horizontal, usa BarIndex o desplazamientos desde él.
  • Coste del redibujado. Sin DrawOnLastBarOnly = true, la línea se dibuja en cada bar histórica, lo que ralentiza el gráfico. Fíjala una sola vez al principio del script.
  • Acotada, no infinita. DRAWLINE se detiene en sus dos puntos. Para una línea que se extienda más allá usa DRAWRAY.
  • DRAWSEGMENT, dibuja un segmento de línea entre dos puntos, de comportamiento similar a DRAWLINE.
  • DRAWHLINE, una línea horizontal en un nivel de precio.
  • DRAWVLINE, una línea vertical en un índice de bar.
  • DRAWRAY, una línea que se extiende más allá de su segundo punto.
  • COLOURED, establece el color y la transparencia de la línea.
  • DrawOnLastBarOnly, limita el dibujo al último bar por rendimiento.
  • BarIndex, aporta las coordenadas x.
  • DRAWTEXT, etiqueta la línea con texto.