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
DRAWLINE(x1, y1, x2, y2) COLOURED(R, G, B, a)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
x1 | entero | obligatorio | Coordenada X del primer punto, normalmente un índice de bar como BarIndex. |
y1 | precio | obligatorio | Coordenada Y del primer punto, un precio o un valor calculado. |
x2 | entero | obligatorio | Coordenada X del segundo punto. |
y2 | precio | obligatorio | Coordenada Y del segundo punto. |
R, G, B | entero | valor por defecto de la plataforma | Opcional COLOURED componentes rojo, verde y azul, de 0 a 255. |
a | entero | 255 | Alfa 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)
// 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)
RETURNCada 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)
// 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)
RETURNEl 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)
// 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)
RETURNUna llamada mínima que usa offsets literales para las coordenadas x y precios para las coordenadas y.
Errores y trampas habituales
- Solo en indicadores.
DRAWLINEno 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
x1ox2. Las coordenadas x sitúan los bars en el eje horizontal, usaBarIndexo 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.
DRAWLINEse detiene en sus dos puntos. Para una línea que se extienda más allá usaDRAWRAY.
Instrucciones relacionadas
DRAWSEGMENT, dibuja un segmento de línea entre dos puntos, de comportamiento similar aDRAWLINE.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.