PineScript Guide 3 - Forms und einfache DatentypenHallo Trader,
nachdem wir uns in den ersten beiden Teilen eher abstrakte Inhalte und das Grundgerüst von PineScript angeschaut haben, folgen nun in diesem dritten Teil des PineScript Guides Inhalte die uns näher an die Programmierung von Skripten heranführen.
█ Was schauen wir uns in diesem Video an?
In diesem Video werden dir die verschiedenen einfachen Datentypen und Formen in PineScript vorgestellt. Am Ende des Videos sollst du verschiedene Datentypen voneinander unterscheiden können und wissen, wann du welchen Datentypen einsetzen kannst.
█ Welche Formen gibt es in PineScript?
const – beschreibt einen konstanten Wert der bereits vor der Ausführung des Skriptes feststeht und sich nicht verändert (zum Beispiel ein Indikatorname)
input – beschreit einen Wert, der vom Benutzer über die Indikator Einstellungen verändert werden kann
simple – beschreibt einen einfachen Wert der feststeht sobald das Skript zum ersten Mal ausgeführt wird und ändert sich anschließend nicht. Das sind beispielsweise Informationen zum jeweiligen Chart wie syminfo.type, welches uns Informationen zur Asset-Klasse liefern.
series – beschreibt einen sich zur Laufzeit dynamisch verändernden Wert. Das können Ergebnisse aus Kalkulationen, Funktionen oder ähnliches sein.
█ Welche einfachen Datentypen gibt es in PineScript?
int – Ganzzahlige Werte (-3000, -1, 0, 1, 2, 500, 5330, etc.)
float – Dezimalzahlen (1.23, 33.7, -222.8)
bool – Wahrheitswerte (true, false)
color – Farben (z.B. color.red oder Hex-code #FFFFFF)
string – Text ("Beispieltext 123")
█ Übung 3
Erstelle ein PineScript, dass einen Moving Averages berechnet, bei dem sich der Parameter für die Periode des Moving Average aus einem „Input“, welchen der Benutzer selber festlegen kann, ergibt. Der Moving Average soll grün dargestellt werden.
Randnotiz: Das Ergebnis der Moving Average Berechnung ist eine „series“, da der Moving Average in jeder Kerze neu kalkuliert wird.
█ Lösung Übung 2
Übung 2: Erstelle ein PineScript, dass den aktuellen Eröffnungskurs und den Eröffnungskurs vor zwei Perioden im Chart jeweils als Linie anzeigt.
//@version=5
indicator("Mein zweiter PineScript Indikator", overlay=true)
plot(open, title="Eröffnungskurs", color=color.red)
plot(open , title="Eröffnungskurs zwei Perioden zuvor", color=color.blue)
Editorpicks
PineScript Guide 2 - Ausführungsmodell und ZeitreiheHallo Trader,
willkommen zum zweiten Teil des "PineScript für Einsteiger"-Guide.
█ Worum geht es in dieser Tutorial-Serie?
Dieser Kurs soll dir einen einfachen Einstieg in die PineScript Programmierung ermöglichen. Es ist egal, ob du vorher schon einmal programmiert hast oder gerade mit dem Programmieren anfängst. Der Kurs wird dir die Grundlagen der PineScript Programmierung erklären und dir mit einfachen Beispielen den Einstieg erleichtern.
█ Was schauen wir uns in diesem Video an?
Dieses Video soll dir zeigen wie PineScript ausgeführt wird und wie sich die Daten in PineScript zusammensetzen bzw. aufgebaut sind. Daher schauen wir uns das Execution Model- und das "Time Series"-Konzept an. Beide Konzepte sind abstrakt, aber notwendig um funktionierende Skripte zu erstellen.
█ Was ist das Execution Model / Ausführungsmodell? Oder anders ausgedrückt, wie wird PineScript ausgeführt?
Die Kerzen auf dem Tradingview Chart können technisch in historische und aktuelle Kerzen unterteilt werden.
Historische Kerzen liegen in der Vergangenheit und das jeweilige PineScript, welches auf deinem Chart angewendet wird, wird beim Öffnen des Charts einmal für historische Kerzen ausgeführt.
Historische Kerzen beinhalten einen Wert für jede Variable innerhalb des Skriptes.
Aktuelle Kerzen (realtime bar) sind solche, die den aktuellen Markt widerspiegeln und fortlaufend mit frischen Daten versorgt werden. Bei aktuellen Kerzen wird das PineScirpt somit mehrfach (einmal pro neuer Preisdaten) innerhalb einer Kerze ausgeführt. Wenn das Zeitintervall der Kerze überschritten wird (nennen wir sie Kerze A), erscheint eine neue aktuelle Kerze (Kerze B). Ab jetzt erhält Kerze B die neuen Preisdaten und Kerze A behält den Stand der Daten des letzten Updates innerhalb ihres Intervalls.
Aktuelle Kerzen verändern die Werte ihrer Variablen fortlaufend mit der Aktualisierung der Preisdaten.
█ Was ist das Time Series- / Zeitreihen-Konzept?
Die Preis- und Zeitdaten sind auf dem Chart und in PineScript anhand einer Zeitreihe sortiert. Dabei erhält jede Kerze einen Index. Die aktuelle Kerze (ganz rechts) hat den Index , die vorherige den Index und so weiter. Sobald eine neue Kerze erscheint, erhöht sich der Index aller vergangenen Kerzen um 1 und die aktuelle Kerze erhält den Index 0.
Als Programmierer können wir mit diesem Konzept auf bestimmte Kerzen referenzieren. Möchtest du dir eine Kerze markieren, um sie später wiederzuverwenden (zum Beispiel um eine Linie einzuzeichnen), kannst du dir ihren Index abspeichern.
Willst du zum Beispiel auf dem Tageschart den Schlusskurs von vor 3 Tagen abfragen, kannst du dies über close tun. „close“ ist hierbei eine built-in Variable für den Schlusskurs, die uns in PineScript zur Verfügung steht und die eckigen Klammern mit dem entsprechenden Index 3 sagen deinem Skript, den Schusskurs welcher Kerze du abfragen willst.
Das Execution Model und das Time Series Konzept bilden die Grundlage eines jeden PineScripts. Sie wirken anfänglich etwas abstrakt, vereinfachen uns die Arbeit mit den Preisdaten allerdings enorm.
█ Übung 2
Erstelle ein PineScript, dass den aktuellen Eröffnungskurs und den Eröffnungskurs vor zwei Perioden im Chart jeweils als Linie anzeigt.
█ Lösung für Übung 1
Übung 1: Erstelle ein Skript mit dem Namen "Mein erster PineScript Indikator", welches eine durchgehende rote Linie des Eröffnungskurses einer jeden Periode einzeichnet.
//@version=5
indicator("Mein erster PineScript Indikator", overlay=true)
plot(open, title="Eröffnungskurs", color=color.red)