Iscriviti ora
Grafica/probuilder

DRAWRECTANGLE

DRAWRECTANGLE in ProBuilder disegna un rettangolo da due angoli opposti indicati come indice di bar e prezzo, con un contorno COLOURED e un riempimento FILLCOLOR opzionali.

Sintassi

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

Parametri

NomeTipoPredefinitoDescrizione
x1interoobbligatorioCoordinata X del primo angolo, normalmente un indice di bar.
y1prezzoobbligatorioCoordinata Y del primo angolo, un prezzo o un valore calcolato.
x2interoobbligatorioCoordinata X dell'angolo opposto.
y2prezzoobbligatorioCoordinata Y dell'angolo opposto.
R, G, Binteropredefinito della piattaformaOpzionale COLOURED del contorno, componenti rosso, verde e blu, da 0 a 255.
aintero255Alpha (trasparenza) opzionale del contorno, da 0 a 255.

Come funziona

DRAWRECTANGLE funziona all'interno di un indicatore ProBuilder. Disegna un rettangolo i cui due angoli opposti sono (x1, y1) e (x2, y2). Le coordinate x sono indici di bar sull'asse orizzontale e le coordinate y sono prezzi sull'asse verticale, quindi il rettangolo copre un intervallo sia di tempo sia di prezzo. È adatto a segnare zone di consolidamento, aree di breakout o pattern grafici.

L'opzionale COLOURED clausola imposta il colore e la trasparenza del contorno, e FILLCOLOR imposta il riempimento interno. Poiché l'oggetto viene ridisegnato su ogni bar, gli script impostano di solito DEFPARAM DrawOnLastBarOnly = true.

Esempi

Esempio 1, Evidenziare un range ristretto (Indicatore)

probuilder
// Draw a red box around a 20-bar range if it stays inside a height limit
DEFPARAM DrawOnLastBarOnly = true
period = 20
boxheight = 20
hh = Highest[period](high)
ll = Lowest[period](low)
IF hh - ll <= boxheight * pointsize THEN
    FOR i = 0 TO period DO
        IF high[i] = hh THEN
            x2 = BarIndex[i]
        ENDIF
        IF low[i] = ll THEN
            x1 = BarIndex[i]
        ENDIF
    NEXT
    IF ABS(x2 - x1) >= period THEN
        DRAWRECTANGLE(x1, ll, x2, hh) COLOURED(255, 10, 10)
    ENDIF
ENDIF
RETURN

Il rettangolo viene disegnato solo quando il range è abbastanza stretto e gli estremi sono abbastanza distanti tra loro.

Esempio 2, Rettangolo con interno riempito (Indicatore)

probuilder
// Green outline, purple fill, spanning the last five bars
DEFPARAM DrawOnLastBarOnly = true
DRAWRECTANGLE(BarIndex, close, BarIndex[5], close[5]) COLOURED(0, 200, 0) FILLCOLOR(255, 0, 255)
RETURN

FILLCOLOR ombreggia l'interno mentre COLOURED imposta il bordo.

Esempio 3, Zona di riferimento fissa (Indicatore)

probuilder
// A grey semi-transparent zone between two price levels
DEFPARAM DrawOnLastBarOnly = true
upper = Highest[50](high)
lower = upper - 30 * pointsize
DRAWRECTANGLE(BarIndex-50, lower, BarIndex, upper) COLOURED(128, 128, 128, 120)
RETURN

Una singola chiamata segna una banda fissa sugli ultimi 50 bar.

Errori e insidie comuni

  • Solo indicatori. DRAWRECTANGLE non ha effetto in ProScreener, ProOrder o ProBacktest. Mantienilo in un indicatore ProBuilder.
  • X è un indice di bar. Passare un prezzo a x1 o x2 posiziona il rettangolo in modo errato in orizzontale. Usa BarIndex o scostamenti da esso.
  • Angoli, non larghezza e altezza. I quattro valori sono due angoli opposti, non una posizione e una dimensione.
  • Costo del ridisegno. Senza DrawOnLastBarOnly = true, il rettangolo viene disegnato su ogni bar e rallenta il grafico.
  • DRAWELLIPSE, disegna un'ellisse all'interno dello stesso tipo di rettangolo di delimitazione.
  • DRAWTRIANGLE, disegna una forma a tre vertici.
  • DRAWLINE, disegna una linea tra due punti.
  • COLOURED, imposta il colore del contorno e la trasparenza.
  • FILLCOLOR, imposta il colore di riempimento interno.
  • DrawOnLastBarOnly, limita il disegno all'ultima bar per motivi di prestazioni.
  • BarIndex, fornisce le coordinate x.
  • Highest, individua la cima di un range da racchiudere.