Word nu lid
Grafisch/probuilder

DRAWSEGMENT

DRAWSEGMENT in ProBuilder tekent een lijnsegment tussen twee punten op de grafiek, opgegeven als barindex- en prijscoördinaten, met een optionele COLOURED-kleur.

Syntaxis

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

Parameters

NaamTypeStandaardBeschrijving
x1geheel getalverplichtX-coördinaat van het beginpunt, normaal gesproken een bar-index.
y1prijsverplichtY-coördinaat van het beginpunt, een prijs of berekende waarde.
x2geheel getalverplichtX-coördinaat van het eindpunt.
y2prijsverplichtY-coördinaat van het eindpunt.
R, G, Bgeheel getalplatformstandaardOptioneel COLOURED rood-, groen- en blauwcomponenten, 0 tot 255.
ageheel getal255Optionele alpha (transparantie), 0 volledig transparant tot 255 volledig dekkend.

Hoe het werkt

DRAWSEGMENT is een indicatorinstructie. Het tekent een recht segment van het startpunt (x1, y1) naar het eindpunt (x2, y2). De x-waarden zijn barindices langs de horizontale as en de y-waarden zijn koersen op de verticale as. Anders dan DRAWRAY, eindigt het segment precies bij zijn twee punten en loopt het niet verder door.

De x-coördinaten komen doorgaans uit BarIndex, en de y-coördinaten uit koersen of indicatorwaarden. Omdat het object op elke bar opnieuw wordt getekend, zetten de meeste scripts DEFPARAM DrawOnLastBarOnly = true zodat het segment één keer wordt getekend. De COLOURED clausule is optioneel en stelt kleur en transparantie in.

Voorbeelden

Voorbeeld 1, Eén gekleurd segment (Indicator)

probuilder
// A semi-transparent red horizontal segment between two fixed points
DRAWSEGMENT(BarIndex-90, close, BarIndex, close) COLOURED(255, 0, 0, 150)
RETURN

Overgenomen uit het oorspronkelijke idee: een segment getekend tussen twee coördinatenparen, rood gekleurd met gedeeltelijke dekking.

Voorbeeld 2, Trendsegment tussen twee lows (Indicator)

probuilder
// Connect the two most recent lows within 30 bars
DEFPARAM DrawOnLastBarOnly = true
period = 30
y2 = Lowest[period](low)
FOR i = 0 TO period DO
    IF low[i] = y2 THEN
        x2 = BarIndex[i]
    ELSIF low[i] < y2 THEN
        y1 = low[i]
        x1 = BarIndex[i]
    ENDIF
NEXT
DRAWSEGMENT(x1, y1, x2, y2) COLOURED(0, 120, 255)
RETURN

De loop vindt twee lage punten en het segment verbindt ze als een steunlijn.

Voorbeeld 3, Segment plus een label (Indicator)

probuilder
// Segment from the recent high to the current close, with a caption
DEFPARAM DrawOnLastBarOnly = true
hh = Highest[20](high)
DRAWSEGMENT(BarIndex-20, hh, BarIndex, close) COLOURED(200, 120, 0)
DRAWTEXT("range", BarIndex, close) COLOURED(200, 120, 0)
RETURN

DRAWSEGMENT en DRAWTEXT werken samen om hetzelfde gebied te markeren en te annoteren.

Veelvoorkomende fouten en valkuilen

  • Alleen indicator. DRAWSEGMENT doet niets 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 segment verkeerd. Gebruik BarIndex of offsets daarvan.
  • Kosten van opnieuw tekenen. Zonder DrawOnLastBarOnly = true, wordt het segment op elke bar getekend en wordt de grafiek langzamer.
  • Begrensd segment. Hij stopt bij zijn eindpunten. Voor een lijn die voorbij het tweede punt doorloopt, gebruik DRAWRAY.
  • DRAWLINE, tekent een lijn tussen twee punten, qua gedrag dicht bij DRAWSEGMENT.
  • DRAWHLINE, een horizontale lijn op één prijsniveau.
  • DRAWVLINE, een verticale lijn op één bar-index.
  • DRAWRAY, loopt door voorbij haar tweede punt.
  • COLOURED, stelt kleur en transparantie in.
  • DrawOnLastBarOnly, beperkt het tekenen tot de laatste bar om prestatieredenen.
  • BarIndex, levert de x-coördinaten.
  • DRAWTEXT, voegt een tekstlabel toe aan het segment.