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
DRAWRECTANGLE(x1, y1, x2, y2) COLOURED(R, G, B, a)Parametri
| Nome | Tipo | Predefinito | Descrizione |
|---|---|---|---|
x1 | intero | obbligatorio | Coordinata X del primo angolo, normalmente un indice di bar. |
y1 | prezzo | obbligatorio | Coordinata Y del primo angolo, un prezzo o un valore calcolato. |
x2 | intero | obbligatorio | Coordinata X dell'angolo opposto. |
y2 | prezzo | obbligatorio | Coordinata Y dell'angolo opposto. |
R, G, B | intero | predefinito della piattaforma | Opzionale COLOURED del contorno, componenti rosso, verde e blu, da 0 a 255. |
a | intero | 255 | Alpha (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)
// 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
RETURNIl rettangolo viene disegnato solo quando il range è abbastanza stretto e gli estremi sono abbastanza distanti tra loro.
Esempio 2, Rettangolo con interno riempito (Indicatore)
// 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)
RETURNFILLCOLOR ombreggia l'interno mentre COLOURED imposta il bordo.
Esempio 3, Zona di riferimento fissa (Indicatore)
// 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)
RETURNUna singola chiamata segna una banda fissa sugli ultimi 50 bar.
Errori e insidie comuni
- Solo indicatori.
DRAWRECTANGLEnon ha effetto in ProScreener, ProOrder o ProBacktest. Mantienilo in un indicatore ProBuilder. - X è un indice di bar. Passare un prezzo a
x1ox2posiziona il rettangolo in modo errato in orizzontale. UsaBarIndexo 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.
Istruzioni correlate
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.