Word nu lid
Grafisch/probuilder

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

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

Parameters

NaamTypeStandaardBeschrijving
x1geheel getalverplichtX-coördinaat van de eerste hoek, normaal een barindex.
y1prijsverplichtY-coördinaat van de eerste hoek, een prijs of berekende waarde.
x2geheel getalverplichtX-coördinaat van de tegenoverliggende hoek.
y2prijsverplichtY-coördinaat van de tegenoverliggende hoek.
R, G, Bgeheel getalplatformstandaardOptioneel COLOURED omlijning: rode, groene en blauwe componenten, 0 tot 255.
ageheel getal255Optionele 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)

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

Het 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)

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 arceert de binnenkant terwijl COLOURED stelt de rand in.

Voorbeeld 3, Vaste referentiezone (Indicator)

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

Eén aanroep markeert een vaste band over de laatste 50 bars.

Veelvoorkomende fouten en valkuilen

  • Alleen indicator. DRAWRECTANGLE heeft geen effect in ProScreener, ProOrder of ProBacktest. Houd het in een ProBuilder-indicator.
  • X is een bar-index. Een prijs doorgeven aan x1 of x2 plaatst het kader horizontaal verkeerd. Gebruik BarIndex of 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.
  • 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.