DRAWRECTANGLE
DRAWRECTANGLE in ProBuilder zeichnet ein Rechteck aus zwei gegenüberliegenden Ecken, angegeben als Bar-Index und Kurs, mit optionaler COLOURED-Umrisslinie und FILLCOLOR-Füllung.
Syntax
DRAWRECTANGLE(x1, y1, x2, y2) COLOURED(R, G, B, a)Parameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
x1 | Ganzzahl | erforderlich | X-Koordinate der ersten Ecke, normalerweise ein Bar-Index. |
y1 | Kurs | erforderlich | Y-Koordinate der ersten Ecke, ein Kurs oder berechneter Wert. |
x2 | Ganzzahl | erforderlich | X-Koordinate der gegenüberliegenden Ecke. |
y2 | Kurs | erforderlich | Y-Koordinate der gegenüberliegenden Ecke. |
R, G, B | Ganzzahl | Plattformstandard | Optional COLOURED umreißen die Rot-, Grün- und Blaukomponenten, 0 bis 255. |
a | Ganzzahl | 255 | Optionales Alpha (Transparenz) der Umrisslinie, 0 bis 255. |
So funktioniert es
DRAWRECTANGLE läuft innerhalb eines ProBuilder Indikators. Es zeichnet ein Rechteck, dessen zwei gegenüberliegende Ecken (x1, y1) und (x2, y2). Die x-Koordinaten sind Bar-Indizes auf der horizontalen Achse und die y-Koordinaten Kurse auf der vertikalen Achse, sodass das Rechteck einen Bereich aus Zeit und Kurs aufspannt. Das eignet sich zum Markieren von Konsolidierungszonen, Breakout-Bereichen oder Chartmustern.
Der optionale COLOURED Klausel setzt Farbe und Transparenz der Umrandung, und die FILLCOLOR legt die Innenfüllung fest. Da das Objekt auf jeder Bar neu gezeichnet wird, setzen Skripte üblicherweise DEFPARAM DrawOnLastBarOnly = true.
Beispiele
Beispiel 1, Eine enge Range hervorheben (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
RETURNDer Kasten wird nur gezeichnet, wenn die Range eng genug ist und die Extremwerte weit genug auseinander liegen.
Beispiel 2, Rechteck mit gefüllter Innenfläche (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 schattiert das Innere, während COLOURED setzt den Rahmen.
Beispiel 3, Feste Referenzzone (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)
RETURNEin einzelner Aufruf markiert ein festes Band über die letzten 50 Bars.
Häufige Fehler und Stolperfallen
- Nur Indikator.
DRAWRECTANGLEhat keine Wirkung in ProScreener, ProOrder oder ProBacktest. Behalten Sie es in einem ProBuilder Indikator. - X ist ein Bar-Index. Die Übergabe eines Preises an
x1oderx2positioniert das Kästchen horizontal falsch. Verwenden SieBarIndexoder Abstände davon. - Ecken, nicht Breite und Höhe. Die vier Werte sind zwei gegenüberliegende Ecken, nicht eine Position und eine Größe.
- Kosten des Neuzeichnens. Ohne
DrawOnLastBarOnly = true, wird das Rechteck auf jedem Bar gezeichnet und bremst den Chart.
Verwandte Befehle
DRAWELLIPSE, zeichnet eine Ellipse innerhalb derselben Art von Begrenzungsrahmen.DRAWTRIANGLE, zeichnet eine Form mit drei Eckpunkten.DRAWLINE, zeichnet eine Linie zwischen zwei Punkten.COLOURED, legt Umrissfarbe und Transparenz fest.FILLCOLOR, legt die Füllfarbe im Inneren fest.DrawOnLastBarOnly, beschränkt das Zeichnen aus Performancegründen auf den letzten Bar.BarIndex, liefert die x-Koordinaten.Highest, findet die Oberseite einer Range zum Einschließen.