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
DRAWLINE(x1, y1, x2, y2) COLOURED(R, G, B, a)Parameter
| Name | Typ | Standard | Beschreibung |
|---|---|---|---|
x1 | Ganzzahl | erforderlich | X-Koordinate des ersten Punkts, normalerweise ein Bar-Index wie BarIndex. |
y1 | Kurs | erforderlich | Y-Koordinate des ersten Punktes, ein Kurs oder berechneter Wert. |
x2 | Ganzzahl | erforderlich | X-Koordinate des zweiten Punktes. |
y2 | Kurs | erforderlich | Y-Koordinate des zweiten Punkts. |
R, G, B | Ganzzahl | Plattformstandard | Optional COLOURED Rot-, Grün- und Blauanteile, 0 bis 255. |
a | Ganzzahl | 255 | Optionaler 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)
// 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)
RETURNJede 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)
// 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)
RETURNDie Schleife findet die Bar-Indizes von zwei Tiefpunkten, dann ein einzelner DRAWLINE verbindet sie als Trendlinie.
Beispiel 3, Einen festen Abstand markieren (Indikator)
// 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)
RETURNEin 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.
DRAWLINEhat 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
x1oderx2. Die x-Koordinaten verorten Bars auf der horizontalen Achse, verwenden SieBarIndexoder 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.
DRAWLINEendet an seinen zwei Punkten. Für eine Linie, die darüber hinausgeht, verwenden SieDRAWRAY.
Verwandte Befehle
DRAWSEGMENT, zeichnet ein Liniensegment zwischen zwei Punkten, im Verhalten ähnlich zuDRAWLINE.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.