Jetzt beitreten
Grafisch/probuilder

DRAWLINE

DRAWLINE zeichnet in ProBuilder eine gerade Linie zwischen zwei Chartpunkten, die als Bar-Index- und Kurskoordinaten angegeben werden, mit optionaler COLOURED Farbe. Syntax und Beispiele.

Syntax

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

Parameter

NameTypStandardBeschreibung
x1GanzzahlerforderlichX-Koordinate des ersten Punkts, normalerweise ein Bar-Index wie BarIndex.
y1KurserforderlichY-Koordinate des ersten Punktes, ein Kurs oder berechneter Wert.
x2GanzzahlerforderlichX-Koordinate des zweiten Punktes.
y2KurserforderlichY-Koordinate des zweiten Punkts.
R, G, BGanzzahlPlattformstandardOptional COLOURED Rot-, Grün- und Blauanteile, 0 bis 255.
aGanzzahl255Optionaler Alphawert (Transparenz), 0 vollständig transparent bis 255 vollständig deckend.

So funktioniert es

DRAWLINE läuft in einem ProBuilder-Indikator. Auf jedem Bar zeichnet die Plattform eine Gerade zwischen den beiden Koordinatenpaaren (x1, y1) und (x2, y2). Die x-Koordinaten sind Bar-Indizes, daher BarIndex und BarIndex-1 setzen die Endpunkte auf bestimmte Bars, während die y-Koordinaten Kurse auf der vertikalen Achse sind.

Die Linie verläuft genau zwischen den beiden angegebenen Punkten, anders als DRAWRAY, das darüber hinausreicht. Da das Zeichnen auf jeder Bar dasselbe Objekt vielfach wiederholt, stellen die meisten Skripte dem Code voran DEFPARAM DrawOnLastBarOnly = true sodass die Linie einmal gezeichnet wird, am aktuellen Bar.

Der optionale COLOURED Klausel legt die Farbe fest. Wird sie weggelassen, wird die Standardfarbe der Plattform verwendet.

Beispiele

Beispiel 1, Fibonacci-Pivot-Linien (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

Jede Linie verläuft vom vorherigen Bar zum aktuellen Bar auf einem festen Kurs, sie wirkt also wie eine kurze Niveaumarkierung.

Beispiel 2, Zwei aktuelle Tiefs verbinden (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

Die Schleife findet die Bar-Indizes von zwei Tiefpunkten, dann ein einzelner DRAWLINE verbindet sie als Trendlinie.

Beispiel 3, Einen festen Abstand markieren (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

Ein minimaler Aufruf, der feste Offsets für die x-Koordinaten und Kurse für die y-Koordinaten verwendet.

Häufige Fehler und Stolperfallen

  • Nur Indikator. DRAWLINE hat keine Wirkung in ProScreener, ProOrder oder ProBacktest. Belassen Sie Zeichencode in einem ProBuilder-Indikator.
  • X ist ein Bar-Index, kein Kurs. Ein häufiger Fehler ist die Übergabe eines Kurses an x1 oder x2. Die x-Koordinaten verorten Bars auf der horizontalen Achse, verwenden Sie BarIndex oder Abstände davon.
  • Kosten des Neuzeichnens. Ohne DrawOnLastBarOnly = true, wird die Linie auf jedem historischen Bar gezeichnet, was den Chart verlangsamt. Setzen Sie sie einmal am Anfang des Skripts.
  • Begrenzt, nicht unendlich. DRAWLINE endet an seinen zwei Punkten. Für eine Linie, die darüber hinausgeht, verwenden Sie DRAWRAY.
  • DRAWSEGMENT, zeichnet ein Liniensegment zwischen zwei Punkten, im Verhalten ähnlich zu DRAWLINE.
  • DRAWHLINE, eine horizontale Linie auf einem Kursniveau.
  • DRAWVLINE, eine vertikale Linie an einem Bar-Index.
  • DRAWRAY, eine Linie, die über ihren zweiten Punkt hinaus verlängert wird.
  • COLOURED, legt Farbe und Transparenz der Linie fest.
  • DrawOnLastBarOnly, beschränkt das Zeichnen aus Performancegründen auf den letzten Bar.
  • BarIndex, liefert die x-Koordinaten.
  • DRAWTEXT, versieht die Linie mit einer Textbeschriftung.