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
DRAWSEGMENT(x1, y1, x2, y2) COLOURED(R, G, B, a)Parámetros
| Nombre | Tipo | Por defecto | Descripción |
|---|---|---|---|
x1 | entero | obligatorio | Coordenada X del punto inicial, normalmente un índice de bar. |
y1 | precio | obligatorio | Coordenada Y del punto inicial, un precio o un valor calculado. |
x2 | entero | obligatorio | Coordenada X del punto final. |
y2 | precio | obligatorio | Coordenada Y del punto final. |
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
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)
// A semi-transparent red horizontal segment between two fixed points
DRAWSEGMENT(BarIndex-90, close, BarIndex, close) COLOURED(255, 0, 0, 150)
RETURNConservado 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)
// 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)
RETURNEl bucle encuentra dos puntos mínimos y el segmento los une como línea de soporte.
Ejemplo 3, Segmento más una etiqueta (Indicador)
// 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)
RETURNDRAWSEGMENT y DRAWTEXT se combinan para marcar y anotar la misma zona.
Errores y trampas habituales
- Solo en indicadores.
DRAWSEGMENTno hace nada 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 segmento. UsaBarIndexo 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.
Instrucciones relacionadas
DRAWLINE, dibuja una línea entre dos puntos, de comportamiento similar aDRAWSEGMENT.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.