Iscriviti ora
Grafica/probuilder

DRAWLINE

DRAWLINE in ProBuilder disegna una linea retta tra due punti del grafico indicati come coordinate di indice di bar e prezzo, con colore opzionale tramite COLOURED. Sintassi ed esempi.

Sintassi

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

Parametri

NomeTipoPredefinitoDescrizione
x1interoobbligatorioCoordinata X del primo punto, normalmente un indice di bar come BarIndex.
y1prezzoobbligatorioCoordinata Y del primo punto, un prezzo o un valore calcolato.
x2interoobbligatorioCoordinata X del secondo punto.
y2prezzoobbligatorioCoordinata Y del secondo punto.
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

DRAWLINE funziona all'interno di un indicatore ProBuilder. Su ogni bar la piattaforma disegna una linea retta tra le due coppie di coordinate (x1, y1) e (x2, y2). Le coordinate x sono indici di bar, quindi BarIndex e BarIndex-1 collocano le estremità su bar specifiche, mentre le coordinate y sono prezzi sull'asse verticale.

La linea si estende esattamente tra i due punti indicati, a differenza di DRAWRAY, che si estende oltre di essi. Poiché disegnare su ogni barra ripete lo stesso oggetto molte volte, la maggior parte degli script fa precedere il codice da DEFPARAM DrawOnLastBarOnly = true così la linea viene disegnata una sola volta, sul bar corrente.

L'opzionale COLOURED clausola imposta il colore. Quando viene omessa si usa il colore predefinito della piattaforma.

Esempi

Esempio 1, Linee pivot di Fibonacci (Indicatore)

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

Ogni linea va dalla bar precedente alla bar corrente a un prezzo fisso, quindi si legge come un breve marcatore di livello.

Esempio 2, Collegare due minimi recenti (Indicatore)

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

Il ciclo individua gli indici dei bars di due punti di minimo, poi un singolo DRAWLINE li collega come linea di tendenza.

Esempio 3, Segnare una distanza fissa (Indicatore)

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 chiamata minima che usa offset letterali per le coordinate x e prezzi per le coordinate y.

Errori e insidie comuni

  • Solo indicatori. DRAWLINE non ha effetto in ProScreener, ProOrder o ProBacktest. Mantieni il codice di disegno in un indicatore ProBuilder.
  • X è un indice di bar, non un prezzo. Un errore comune è passare un prezzo a x1 o x2. Le coordinate x individuano i bar sull'asse orizzontale, usa BarIndex o scostamenti da esso.
  • Costo del ridisegno. Senza DrawOnLastBarOnly = true, la linea viene disegnata su ogni bar storica, il che rallenta il grafico. Impostala una sola volta in cima allo script.
  • Limitata, non infinita. DRAWLINE si ferma ai suoi due punti. Per una linea che si estende oltre usa DRAWRAY.
  • DRAWSEGMENT, disegna un segmento di linea tra due punti, simile nel comportamento a DRAWLINE.
  • DRAWHLINE, una linea orizzontale a un livello di prezzo.
  • DRAWVLINE, una linea verticale a un indice di bar.
  • DRAWRAY, una linea che si estende oltre il suo secondo punto.
  • COLOURED, imposta il colore e la trasparenza della linea.
  • DrawOnLastBarOnly, limita il disegno all'ultima bar per motivi di prestazioni.
  • BarIndex, fornisce le coordinate x.
  • DRAWTEXT, etichetta la linea con un testo.