DRAWRECTANGLE
DRAWRECTANGLE in ProBuilder tekent een rechthoek vanaf twee tegenoverliggende hoeken, opgegeven als barindex en prijs, met een optionele COLOURED-omlijning en FILLCOLOR-vulling.
Syntaxis
DRAWRECTANGLE(x1, y1, x2, y2) COLOURED(R, G, B, a)Parameters
| Naam | Type | Standaard | Beschrijving |
|---|---|---|---|
x1 | geheel getal | verplicht | X-coördinaat van de eerste hoek, normaal een barindex. |
y1 | prijs | verplicht | Y-coördinaat van de eerste hoek, een prijs of berekende waarde. |
x2 | geheel getal | verplicht | X-coördinaat van de tegenoverliggende hoek. |
y2 | prijs | verplicht | Y-coördinaat van de tegenoverliggende hoek. |
R, G, B | geheel getal | platformstandaard | Optioneel COLOURED omlijning: rode, groene en blauwe componenten, 0 tot 255. |
a | geheel getal | 255 | Optionele alfa (transparantie) van de omlijning, 0 tot 255. |
Hoe het werkt
DRAWRECTANGLE werkt binnen een ProBuilder-indicator. Het tekent een rechthoek waarvan de twee tegenoverliggende hoeken (x1, y1) en (x2, y2). De x-coördinaten zijn barindices op de horizontale as en de y-coördinaten zijn prijzen op de verticale as, zodat de rechthoek een bereik van zowel tijd als prijs beslaat. Dit is geschikt voor het markeren van consolidatiezones, breakout-gebieden of chartpatronen.
De optionele COLOURED clausule stelt de lijnkleur en transparantie in, en FILLCOLOR stelt de binnenvulling in. Omdat het object op elke bar opnieuw wordt getekend, stellen scripts meestal DEFPARAM DrawOnLastBarOnly = true.
Voorbeelden
Voorbeeld 1, Een smalle range markeren (Indicator)
// 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
RETURNHet kader wordt alleen getekend wanneer de range smal genoeg is en de extremen ver genoeg uit elkaar liggen.
Voorbeeld 2, Rechthoek met een gevulde binnenkant (Indicator)
// 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 arceert de binnenkant terwijl COLOURED stelt de rand in.
Voorbeeld 3, Vaste referentiezone (Indicator)
// 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)
RETURNEén aanroep markeert een vaste band over de laatste 50 bars.
Veelvoorkomende fouten en valkuilen
- Alleen indicator.
DRAWRECTANGLEheeft geen effect in ProScreener, ProOrder of ProBacktest. Houd het in een ProBuilder-indicator. - X is een bar-index. Een prijs doorgeven aan
x1ofx2plaatst het kader horizontaal verkeerd. GebruikBarIndexof offsets daarvan. - Hoeken, niet breedte en hoogte. De vier waarden zijn twee tegenoverliggende hoeken, niet een positie en een grootte.
- Kosten van opnieuw tekenen. Zonder
DrawOnLastBarOnly = true, wordt de rechthoek op elke bar getekend en vertraagt de grafiek.
Gerelateerde instructies
DRAWELLIPSE, tekent een ellips binnen hetzelfde type omhullende kader.DRAWTRIANGLE, tekent een vorm met drie hoekpunten.DRAWLINE, tekent een lijn tussen twee punten.COLOURED, stelt de lijnkleur en transparantie in.FILLCOLOR, stelt de vulkleur van het binnenvlak in.DrawOnLastBarOnly, beperkt het tekenen tot de laatste bar om prestatieredenen.BarIndex, levert de x-coördinaten.Highest, vindt de top van een range om te omsluiten.