Únete hoy
Gráficos/probuilder

DRAWSEGMENT

DRAWSEGMENT en ProBuilder dibuja un segmento de línea entre dos puntos del gráfico dados como coordenadas de índice de bar y precio, con un color COLOURED opcional.

Sintaxis

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

Parámetros

NombreTipoPor defectoDescripción
x1enteroobligatorioCoordenada X del punto inicial, normalmente un índice de bar.
y1precioobligatorioCoordenada Y del punto inicial, un precio o un valor calculado.
x2enteroobligatorioCoordenada X del punto final.
y2precioobligatorioCoordenada Y del punto final.
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

DRAWSEGMENT es una instrucción de indicador. Dibuja un segmento recto desde el punto inicial (x1, y1) al punto final (x2, y2). Los valores x son índices de bar a lo largo del eje horizontal y los valores y son precios en el eje vertical. A diferencia de DRAWRAY, el segmento termina exactamente en sus dos puntos y no se prolonga más allá.

Las coordenadas x suelen provenir de BarIndex, y las coordenadas y a partir de precios o valores de indicadores. Como el objeto se redibuja en cada bar, la mayoría de los scripts colocan DEFPARAM DrawOnLastBarOnly = true para que el segmento se dibuje una sola vez. El COLOURED cláusula es opcional y fija el color y la transparencia.

Ejemplos

Ejemplo 1, Un único segmento de color (Indicador)

probuilder
// A semi-transparent red horizontal segment between two fixed points
DRAWSEGMENT(BarIndex-90, close, BarIndex, close) COLOURED(255, 0, 0, 150)
RETURN

Conservado de la idea original: un segmento dibujado entre dos pares de coordenadas, de color rojo con opacidad parcial.

Ejemplo 2, Segmento de tendencia entre dos mínimos (Indicador)

probuilder
// Connect the two most recent lows within 30 bars
DEFPARAM DrawOnLastBarOnly = true
period = 30
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
DRAWSEGMENT(x1, y1, x2, y2) COLOURED(0, 120, 255)
RETURN

El bucle encuentra dos puntos mínimos y el segmento los une como línea de soporte.

Ejemplo 3, Segmento más una etiqueta (Indicador)

probuilder
// Segment from the recent high to the current close, with a caption
DEFPARAM DrawOnLastBarOnly = true
hh = Highest[20](high)
DRAWSEGMENT(BarIndex-20, hh, BarIndex, close) COLOURED(200, 120, 0)
DRAWTEXT("range", BarIndex, close) COLOURED(200, 120, 0)
RETURN

DRAWSEGMENT y DRAWTEXT se combinan para marcar y anotar la misma zona.

Errores y trampas habituales

  • Solo en indicadores. DRAWSEGMENT no hace nada 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 segmento. Usa BarIndex o desplazamientos desde él.
  • Coste del redibujado. Sin DrawOnLastBarOnly = true, el segmento se dibuja en cada bar y ralentiza el gráfico.
  • Segmento delimitado. Se detiene en sus extremos. Para una línea que se prolongue más allá del segundo punto usa DRAWRAY.
  • DRAWLINE, dibuja una línea entre dos puntos, de comportamiento similar a DRAWSEGMENT.
  • DRAWHLINE, una línea horizontal en un nivel de precio.
  • DRAWVLINE, una línea vertical en un índice de bar.
  • DRAWRAY, se extiende más allá de su segundo punto.
  • COLOURED, define el color y la transparencia.
  • DrawOnLastBarOnly, limita el dibujo al último bar por rendimiento.
  • BarIndex, aporta las coordenadas x.
  • DRAWTEXT, añade un rótulo al segmento.