Bli medlem idag
Grafik/probuilder

DRAWLINE

DRAWLINE i ProBuilder ritar en rak linje mellan två diagrampunkter angivna som barindex- och priskoordinater, med valfri COLOURED-färg. Syntax och exempel.

Syntax

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

Parametrar

NamnTypStandardBeskrivning
x1heltalobligatoriskX-koordinat för den första punkten, normalt ett barindex som BarIndex.
y1prisobligatoriskY-koordinat för den första punkten, ett pris eller ett beräknat värde.
x2heltalobligatoriskX-koordinat för den andra punkten.
y2prisobligatoriskY-koordinaten för den andra punkten.
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

DRAWLINE körs inuti en ProBuilder-indikator. På varje bar ritar plattformen en rak linje mellan de två koordinatparen (x1, y1) och (x2, y2). x-koordinaterna är barindex, så BarIndex och BarIndex-1 placerar ändpunkterna vid specifika barer, medan y-koordinaterna är priser på den vertikala axeln.

Linjen går exakt mellan de två angivna punkterna, till skillnad från DRAWRAY, som sträcker sig utanför dem. Eftersom ritning på varje bar upprepar samma objekt många gånger inleder de flesta skript koden med DEFPARAM DrawOnLastBarOnly = true så linjen ritas en gång, på den aktuella baren.

Den valfria COLOURED klausulen anger färgen. När den utelämnas används plattformens standardfärg.

Exempel

Exempel 1, Fibonacci-pivotlinjer (Indikator)

probuilder
// Draw pivot and Fibonacci support/resistance as short horizontal lines
DEFPARAM DrawOnLastBarOnly = true
dh = DHigh(1)
dl = DLow(1)
P = (dh + dl + DClose(1)) / 3
R1 = P + 0.382 * (dh - dl)
S1 = P - 0.382 * (dh - dl)
DRAWLINE(BarIndex-1, P,  BarIndex, P)  COLOURED(153, 153, 0)
DRAWLINE(BarIndex-1, R1, BarIndex, R1) COLOURED(0, 153, 0)
DRAWLINE(BarIndex-1, S1, BarIndex, S1) COLOURED(153, 0, 0)
RETURN

Varje linje går från den föregående baren till den aktuella baren vid ett fast pris, så den framstår som en kort nivåmarkering.

Exempel 2, Förbind två nyligen satta lägstanivåer (Indikator)

probuilder
// Draw a line between the two most recent lowest points over 20 bars
DEFPARAM DrawOnLastBarOnly = true
period = 20
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
DRAWLINE(x1, y1, x2, y2)
RETURN

Loopen hittar barindexen för två lågpunkter, därefter ett enda DRAWLINE kopplar dem som en trendlinje.

Exempel 3, Markera ett fast avstånd (Indikator)

probuilder
// A green line from 10 bars back at the low to the current close
DEFPARAM DrawOnLastBarOnly = true
DRAWLINE(BarIndex-10, low[10], BarIndex, close) COLOURED(0, 200, 0, 200)
RETURN

Ett minimalt anrop som använder literala offset för x-koordinaterna och priser för y-koordinaterna.

Vanliga fel och fallgropar

  • Endast indikator. DRAWLINE har ingen effekt i ProScreener, ProOrder eller ProBacktest. Håll ritkod i en ProBuilder-indikator.
  • X är ett barindex, inte ett pris. Ett vanligt fel är att skicka in ett pris i x1 eller x2. x-koordinaterna anger barer på den horisontella axeln, använd BarIndex eller förskjutningar från den.
  • Kostnad för omritning. Utan DrawOnLastBarOnly = true, ritas linjen på varje historisk bar, vilket gör diagrammet långsammare. Sätt den en gång högst upp i skriptet.
  • Begränsad, inte oändlig. DRAWLINE slutar vid sina två punkter. För en linje som sträcker sig förbi dem, använd DRAWRAY.
  • DRAWSEGMENT, ritar ett linjesegment mellan två punkter, nära i beteende till DRAWLINE.
  • DRAWHLINE, en horisontell linje på en prisnivå.
  • DRAWVLINE, en vertikal linje vid ett barindex.
  • DRAWRAY, en linje som sträcker sig bortom sin andra punkt.
  • COLOURED, sätter linjens färg och transparens.
  • DrawOnLastBarOnly, begränsar ritningen till den sista baren av prestandaskäl.
  • BarIndex, anger x-koordinaterna.
  • DRAWTEXT, märker linjen med text.