DRAWRECTANGLE
DRAWRECTANGLE i ProBuilder ritar en rektangel utifrån två motstående hörn angivna som barindex och pris, med en valfri COLOURED-kontur och FILLCOLOR-fyllning.
Syntax
DRAWRECTANGLE(x1, y1, x2, y2) COLOURED(R, G, B, a)Parametrar
| Namn | Typ | Standard | Beskrivning |
|---|---|---|---|
x1 | heltal | obligatorisk | X-koordinat för det första hörnet, normalt ett barindex. |
y1 | pris | obligatorisk | Y-koordinat för det första hörnet, ett pris eller beräknat värde. |
x2 | heltal | obligatorisk | X-koordinat för det motstående hörnet. |
y2 | pris | obligatorisk | Y-koordinat för det motstående hörnet. |
R, G, B | heltal | plattformens standard | Valfritt COLOURED anger röd, grön och blå komponent, 0 till 255. |
a | heltal | 255 | Valfritt alfa (transparens) för konturen, 0 till 255. |
Så fungerar det
DRAWRECTANGLE körs inne i en ProBuilder-indikator. Den ritar en rektangel vars två motsatta hörn är (x1, y1) och (x2, y2). X-koordinaterna är barindex på den horisontella axeln och y-koordinaterna är priser på den vertikala axeln, så rektangeln täcker ett intervall av både tid och pris. Detta passar för att markera konsolideringszoner, breakout-områden eller diagrammönster.
Den valfria COLOURED satsen anger konturens färg och transparens, och FILLCOLOR anger den inre fyllningen. Eftersom objektet ritas om på varje bar anger skript vanligtvis DEFPARAM DrawOnLastBarOnly = true.
Exempel
Exempel 1, Markera ett snävt intervall (Indikator)
// 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
RETURNRutan ritas bara när intervallet är tillräckligt snävt och extremvärdena ligger tillräckligt långt ifrån varandra.
Exempel 2, Rektangel med fylld insida (Indikator)
// 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 skuggar insidan medan COLOURED sätter kantlinjen.
Exempel 3, Fast referenszon (Indikator)
// 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)
RETURNEtt enda anrop markerar ett fast band över de senaste 50 barerna.
Vanliga fel och fallgropar
- Endast indikator.
DRAWRECTANGLEhar ingen effekt i ProScreener, ProOrder eller ProBacktest. Behåll den i en ProBuilder-indikator. - X är ett barindex. Att skicka in ett pris i
x1ellerx2placerar rutan fel horisontellt. AnvändBarIndexeller förskjutningar från den. - Hörn, inte bredd och höjd. De fyra värdena är två motstående hörn, inte en position och en storlek.
- Kostnad för omritning. Utan
DrawOnLastBarOnly = true, ritas rektangeln på varje bar och gör diagrammet långsammare.
Relaterade instruktioner
DRAWELLIPSE, ritar en ellips inuti samma typ av omskriven ruta.DRAWTRIANGLE, ritar en form med tre hörn.DRAWLINE, ritar en linje mellan två punkter.COLOURED, ställer in konturens färg och transparens.FILLCOLOR, ställer in den inre fyllningsfärgen.DrawOnLastBarOnly, begränsar ritningen till den sista baren av prestandaskäl.BarIndex, anger x-koordinaterna.Highest, hittar en topp i en range att innesluta.