Iscriviti ora
Grafica/probuilder

DRAWSEGMENT

DRAWSEGMENT in ProBuilder disegna un segmento di linea tra due punti del grafico indicati come coordinate di indice di bar e prezzo, con un colore COLOURED opzionale.

Sintassi

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

Parametri

NomeTipoPredefinitoDescrizione
x1interoobbligatorioCoordinata X del punto iniziale, normalmente un indice di bar.
y1prezzoobbligatorioCoordinata Y del punto iniziale, un prezzo o un valore calcolato.
x2interoobbligatorioCoordinata X del punto finale.
y2prezzoobbligatorioCoordinata Y del punto finale.
R, G, Binteropredefinito della piattaformaOpzionale COLOURED componenti rosso, verde e blu, da 0 a 255.
aintero255Alpha opzionale (trasparenza), da 0 completamente trasparente a 255 completamente opaco.

Come funziona

DRAWSEGMENT è un'istruzione per indicatori. Disegna un segmento retto dal punto iniziale (x1, y1) al punto finale (x2, y2). I valori x sono indici dei bar lungo l'asse orizzontale e i valori y sono prezzi sull'asse verticale. A differenza di DRAWRAY, il segmento termina esattamente ai suoi due punti e non si estende oltre.

Le coordinate x tipicamente provengono da BarIndex, e le coordinate y da prezzi o valori di indicatori. Poiché l'oggetto viene ridisegnato su ogni bar, la maggior parte degli script imposta DEFPARAM DrawOnLastBarOnly = true così il segmento viene disegnato una sola volta. Il COLOURED clausola è opzionale e imposta colore e trasparenza.

Esempi

Esempio 1, Un singolo segmento colorato (Indicatore)

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

Conservato dall'idea originale: un segmento disegnato tra due coppie di coordinate, colorato di rosso con opacità parziale.

Esempio 2, Segmento di tendenza tra due minimi (Indicatore)

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

Il ciclo trova due punti di minimo e il segmento li collega come linea di supporto.

Esempio 3, Segmento più etichetta (Indicatore)

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 e DRAWTEXT si combinano per marcare e annotare la stessa area.

Errori e insidie comuni

  • Solo indicatori. DRAWSEGMENT non fa nulla in ProScreener, ProOrder o ProBacktest. Mantienilo in un indicatore ProBuilder.
  • X è un indice di bar. Passare un prezzo a x1 o x2 posiziona male il segmento. Usa BarIndex o scostamenti da esso.
  • Costo del ridisegno. Senza DrawOnLastBarOnly = true, il segmento viene disegnato su ogni bar e rallenta il grafico.
  • Segmento delimitato. Si interrompe ai suoi estremi. Per una linea che si estende oltre il secondo punto usa DRAWRAY.
  • DRAWLINE, disegna una linea tra due punti, con un comportamento simile a DRAWSEGMENT.
  • DRAWHLINE, una linea orizzontale a un livello di prezzo.
  • DRAWVLINE, una linea verticale a un indice di bar.
  • DRAWRAY, si estende oltre il suo secondo punto.
  • COLOURED, imposta colore e trasparenza.
  • DrawOnLastBarOnly, limita il disegno all'ultima bar per motivi di prestazioni.
  • BarIndex, fornisce le coordinate x.
  • DRAWTEXT, aggiunge una didascalia al segmento.