Bli medlem idag
Grafik/probuilder

DRAWSEGMENT

DRAWSEGMENT i ProBuilder ritar ett linjesegment mellan två punkter på diagrammet angivna som barindex- och priskoordinater, med en valfri COLOURED-färg.

Syntax

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

Parametrar

NamnTypStandardBeskrivning
x1heltalobligatoriskX-koordinaten för startpunkten, normalt ett barindex.
y1prisobligatoriskY-koordinaten för startpunkten, ett pris eller beräknat värde.
x2heltalobligatoriskX-koordinat för slutpunkten.
y2prisobligatoriskY-koordinat för slutpunkten.
R, G, Bheltalplattformens standardValfritt COLOURED röd, grön och blå komponent, 0 till 255.
aheltal255Valfri alfa (transparens), 0 helt transparent till 255 helt opak.

Så fungerar det

DRAWSEGMENT är en indikatorinstruktion. Den ritar ett rakt segment från startpunkten (x1, y1) till slutpunkten (x2, y2). x-värdena är barindex längs den horisontella axeln och y-värdena är priser på den vertikala axeln. Till skillnad från DRAWRAY, slutar segmentet exakt vid sina två punkter och sträcker sig inte förbi dem.

x-koordinaterna kommer vanligtvis från BarIndex, och y-koordinaterna från priser eller indikatorvärden. Eftersom objektet ritas om på varje bar sätter de flesta skript DEFPARAM DrawOnLastBarOnly = true så att segmentet ritas en gång. Den COLOURED satsen är valfri och anger färg och transparens.

Exempel

Exempel 1, Ett enda färgat segment (Indikator)

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

Bevarat från ursprungsidén: ett segment ritat mellan två koordinatpar, färgat rött med delvis opacitet.

Exempel 2, Trendsegment mellan två lägstanivåer (Indikator)

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

Loopen hittar två lägsta punkter och segmentet binder dem samman som en stödlinje.

Exempel 3, Segment plus en etikett (Indikator)

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 och DRAWTEXT kombineras för att markera och kommentera samma område.

Vanliga fel och fallgropar

  • Endast indikator. DRAWSEGMENT gör ingenting i ProScreener, ProOrder eller ProBacktest. Behåll den i en ProBuilder-indikator.
  • X är ett barindex. Att skicka in ett pris i x1 eller x2 placerar segmentet fel. Använd BarIndex eller förskjutningar från den.
  • Kostnad för omritning. Utan DrawOnLastBarOnly = true, ritas segmentet på varje bar och gör diagrammet långsammare.
  • Avgränsat segment. Den slutar vid sina ändpunkter. För en linje som sträcker sig förbi den andra punkten använd DRAWRAY.
  • DRAWLINE, ritar en linje mellan två punkter, nära i beteende till DRAWSEGMENT.
  • DRAWHLINE, en horisontell linje på en prisnivå.
  • DRAWVLINE, en vertikal linje vid ett barindex.
  • DRAWRAY, sträcker sig förbi sin andra punkt.
  • COLOURED, ställer in färg och transparens.
  • DrawOnLastBarOnly, begränsar ritningen till den sista baren av prestandaskäl.
  • BarIndex, anger x-koordinaterna.
  • DRAWTEXT, lägger till en text till segmentet.