Ideen der Community
Alles über Watchlisten in TradingViewDieses Tutorial dreht sich komplett um Watchlisten in TradingView. Watchlisten können nützlich sein, wenn du deine wichtigsten Symbole immer schnell griffbereit haben möchtest oder bestimmte Märkte immer im Blick behalten willst. Wir schauen uns daher an, wie Watchlisten angelegt, verwaltet und gelöscht werden, um dir die Arbeit mit TradingView noch einmal mehr zu erleichtern.
Falls du weitere Fragen rund um TradingView oder Pine Script™ hast, schreibe es gerne in die Kommentare.
Dein Steven
Wir programmieren einen Taschenrechner- Arithmetische OperatorenThema des heutigen Videos sind die arithmetischen Operatoren in Pine Script. Um gleichzeitig auch vertrauter mit der Programmierung zu werden, erstellen wir heute einen einfachen Taschenrechner mit Pine Script. Du wirst erkennen, wie schnell wir mit Pine Script zu sichtbaren Ergebnissen kommen ohne viele Zeilen Code schreiben zu müssen.
Hier der Skript-Code aus unserem Video:
Skript Code
// SCHRITT 1: VERSION UND SKRIPT-ART FESTLEGEN {
// --- über den Versionsaufruf in Zeile 6 teilen wir dem Compiler mit, dass wir mit der Version 5 von Pine Script arbeiten wollen
// --- Durch den indicator() Aufruf ist klar, wir programmieren einen Indikator
// --- Mit overlay = true legen wir fest, dass unser Ergebnis auf dem Chart ausgegeben werden soll
//@version=5
indicator("Taschenrechner", overlay = true)
//}
// SCHRITT 2: DEKLARATION DER KONSTANTEN {
// --- Wir deklarieren Konstanten mit unseren möglichen Rechenmethoden
METHOD_1 = "+ (Addition)"
METHOD_2 = "- (Subtraktion)"
METHOD_3 = "* (Multiplikation)"
METHOD_4 = "/ (Division)"
METHOD_5 = "% (Modulo/ Restwert nach Division)"
//}
// SCHRITT 3: BENUTZEREINGABEN {
// --- Hier legen wir ein Auswahlfeld an, in welchem der Benutzer die gewünschte Rechenart auswählt.
// --- Zur Auswahl stehen unsere oben deklarierten Rechenmethoden
i_calcType = input.string(METHOD_1, title = "Rechenart", options = )
// --- Wir legen 2 weitere Eingabefelder an, damit der Benutzer seine beiden Werte für die Berechnung eingeben kann
i_value1 = input.float(0, title = "Wert 1")
i_value2 = input.float(0, title = "Wert 2")
//}
// SCHRITT 4: SWITCH STATEMENT {
// --- Hier wird geprüft welche Berechnung aufgrund der Benutzereingaben erfolgen muss
// --- Die Berechnung wird durchgeführt
result = switch i_calcType
METHOD_1 => i_value1 + i_value2
METHOD_2 => i_value1 - i_value2
METHOD_3 => i_value1 * i_value2
METHOD_4 => i_value1 / i_value2
=> i_value1 % i_value2
//}
// SCHRITT 5: CHARTAUSGABE {
// --- Das Ergebnis wird auf dem Chart ausgegeben
// --- Wir verwenden hierfür tables, eine Art Tabelle auf dem Chart
// --- jede Zelle muss einzeln ausgewählt und befüllt werden
var resultDisplay = table.new(position = position.middle_center, columns = 2, rows = 4, bgcolor = color.silver, border_color = color.black, border_width = 1, frame_color = color.black, frame_width = 1)
if barstate.islast
table.cell(table_id = resultDisplay, column = 0, row = 0, text = "Rechenmethode:", text_size = size.huge)
table.cell(table_id = resultDisplay, column = 1, row = 0, text = i_calcType, text_size = size.huge)
table.cell(table_id = resultDisplay, column = 0, row = 1, text = "Wert 1:", text_size = size.huge)
table.cell(table_id = resultDisplay, column = 1, row = 1, text = str.tostring(i_value1), text_size = size.huge)
table.cell(table_id = resultDisplay, column = 0, row = 2, text = "Wert 2:", text_size = size.huge)
table.cell(table_id = resultDisplay, column = 1, row = 2, text = str.tostring(i_value2), text_size = size.huge)
table.cell(table_id = resultDisplay, column = 0, row = 3, text = "Ergebnis:", text_size = size.huge)
table.cell(table_id = resultDisplay, column = 1, row = 3, text = str.tostring(result), text_size = size.huge)
//}
Falls du weitere Fragen rund um TradingView oder Pine Script™ hast, schreibe es gerne in die Kommentare.
Dein Steven
Learning - die Verflechtung der ZeiteinheitenHallo Trader,
hier ein kleines Beispiel zum Trendhandel in Kombination mit der Verflechtung der veschiedenen Zeiteinheiten.
Bullet Points
- Handle nur in Trendrichtung
- Unterscheide zwischen Bewegung und Korrektur
- Achte auf Zonen (Unterstützung / Widerstand)
- Achte auf etwaige Breaks von Trendlinien oder Ausbildung von Chartformationen
- Die höhere Zeiteinheit gibt die Richtung vor, die kleinere die Einstiege
- Handle nicht blind nach irgendwelchen Skripten oder Indikatoren. Setze die Signale immer in Relation zum Marktkontext
- Moneymanagement is Key
Happy Pips!
Michael - Team PimpYourTrading
PineScript Guide 6 - bgcolor() und barcolor()Hallo Scripter,
zuletzt haben wir uns den ersten Teil der visuellen Komponenten - plot(), hline() und fill() - angeschaut. Heute geht es weiter mit den Funktionen bgcolor() und barcolor().
█ Was schauen wir uns in diesem Video an?
In diesem Video beschäftigen wir uns mit den Funktionen "bgcolor()" und "barcolor()".
█ Was ist ist die "bgcolor()"-Funktion?
Ihr habt bestimmt schon einmal Indikatoren gesehen, welche den Hintergrund des Charts einfärben. Um das zu erreichen gibt es verschiedene Wege. Der einfachste ist die Funktion "bgcolor()" zu nutzen, welche als primären Parameter eine Farbe verwendet. Erweitert um den ternären Operator "? :" lässt sich der Hintergrund entsprechend unserer Bedingungen einfärben.
Im folgenden Beispiel färben wir den Hintergrund blau, wenn der Schlusskurs größer ist als der Eröffnungskurs und rot, wenn das Gegenteil der Fall ist.
bgcolor(close > open ? color.blue : color.yellow)
Wir verwenden im Beispiel den ternären Operator, welche wie folgt zu lesen ist:
WENN ? DANN : SONST
█ Was ist ist die "barcolor()"-Funktion?
Ähnlich wie bei der "bgcolor()"-Funktion lassen sich auch mit der "barcolor()"-Funktion Bestandteile des Charts einfärben. In diesem Fall färben wir den Körper der Kerze ein. Die Logik ist identisch, als primären Parameter verwenden wir eine Farbe.
barcolor(close > open ? color.blue : color.yellow)
█ Übung 6
Färbe den Charts lila ein, wenn der Preis den gleitenden Durchschnitt (SMA 20) nach oben kreuzt. Färbe die Kerze gelb, wenn der Preis den gleitenden Durchschnitt (SMA 20) nach unten kreuzt.
█ Lösung Übung 5
Übung 5: Berechne zwei gleitende Durchschnitte ( SMA 10 und SMA 20) und fülle den Bereich zwischen beiden Durchschnitten rot, wenn der SMA10 größer ist als der SMA20 und grün, wenn das Gegenteil der Fall ist.
//@version=5
indicator("Übung 5", overlay=true)
i_len1 = input.int(10, "SMA Length 1")
i_len2 = input.int(20, "SMA Length 2")
sma1 = ta.sma(close, i_len1)
sma2 = ta.sma(close, i_len2)
a = plot(sma1, "SMA 1", color=color.new(color.blue, 100))
b = plot(sma2, "SMA 2", color=color.new(color.blue, 100))
fill(a, b, color= sma1 > sma2 ? color.red : color.green)
Arbeiten mit Zeichentools in TradingViewIn diesem Video möchte ich dir erklären, wie du mit den Chart-Tools in TradingView arbeiten kannst. Egal ob du nur schnell eine Trendlinie einzeichnen möchtest oder doch lieber intensive Fibonacci-Analysen durchführen willst, an den Zeichentools von TradingView führt kein Weg vorbei. Aus diesem Grund gehe ich in ca. 10 Minuten durch die wichtigsten Funktionen und zeige dir, wie einfach die Arbeit mit diesen Tools ist. Viel Spaß dabei!
Falls du weitere Fragen rund um TradingView oder Pine Script™ hast, schreibe es gerne in die Kommentare.
Dein Steven
Indikatoren einrichten in TradingViewDieses Video richtet sich an TradingView-Neueinsteiger. Gemeinsam gehen wir Schritt für Schritt durch die einzelnen Punkte, die nötig sind, um einen Indikator auf deinen Chart zu laden. TradingView ist richtig eingesetzt, ein sehr mächtiges Tool. Mit diesen kleinen Tutorials möchte ich dir die einzelnen Funktionen der Plattform näher bringen. Ich würde mich sehr freuen, wenn dir diese Videos dabei helfen, TradingView besser zu verstehen.
Falls du weitere Fragen rund um TradingView oder Pine Script™ hast, schreibe es gerne in die Kommentare.
Dein Steven
Konstanten und Variablen in Pine Script™Heute lernen wir Variablen und Konstanten kennen und finden heraus, wofür wir diese benötigen. Eine Arbeit ohne Variablen ist nicht möglich und daher stellen sie ein absolutes Muss für unsere Grundlagenreihe zu Pine Script™ dar. Am Ende werfen wir noch einen kurzen Blick auf die Vielzahl an integrierten Variablen, die Pine Script™ zu bieten hat.
Stop-Loss und PositionsgrößenRisikomanagement Teil 2
Das Risikomanagement im Trading ist ein sehr umfangreiches und komplexes Thema. Es beinhaltet u.a. die folgenden Themengebiete:
1. Risikokapital für ‚non-professionals‘
2. Risikoarme Einstiegspunkte
3. Stop Loss und Positionsgrößen
4. Progressives Anlageverhalten
5. Rückschläge in die Strategie einbauen
6. Weitere Werkzeuge
7. Risikomodell
In diesem Tutorial wird das kombinierte Thema 'Stop Loss und Positionsgrößen' näher beleuchtet.
Neuer Indikator | RSI Upgrade! Hallo liebe TradingView Community,
hier ein kleines Erklärvideo zu meinem neuesten Programmierwerk, inkl. Erläuterung zur Handelsstrategie!
Like, Kommentar und Follow nicht vergessen ;)
Checkt auch meinen anderen Indikator, den MMVD aus! Beide Indikatoren findet ihr in der Verlinkung.
Viel Spaß damit ;)
PineScript Guide 5 - plot(), hline() und fill()Hallo Scripter,
zuletzt haben wir uns mit den Schlüsselwörtern "var" und "varip", sowie den einfachen Datentypen beschäftigt. Wir haben also ein Grundverständnis für unsere ersten Gehversuche im PineScript erhalten und können uns den einfachen visuellen Komponenten widmen.
█ Was schauen wir uns in diesem Video an?
In diesem Video beschäftigen wir uns mit den Funktionen "plot()", "hline()" und "fill()" welche wir zur Darstellung unserer berechneten Werte nutzen können.
█ Was ist ist die "plot()"-Funktion?
Die plot()-Funktion ist eine der am meistgenutzten Funktionen in PineScript. Sie wird dazu verwendet im PineScript kalkulierte Werte grafisch darzustellen. Neben Linien können das Histograme, Columns, Areas oder einfache Symbole sein.
Die plot()-Funktion wird immer im global scope des Scripts angelegt, was dazu führt, dass sie mit jedem neuen Preisupdate ausgeführt wird. Weiterhin kann die plot()-Funktion zur Erstellung von fills() genutzt werden. (siehe unten)
█ Was ist ist die "hline()"-Funktion?
Die hline()-Funktion ermöglicht es einfache horizontale Level auf dem Chart anzuzeigen. Auch die hline()-Funktion kann zur Erstellung von fills() genutzt werden.
█ Was ist ist die "fill()"-Funktion?
Die "fill()"-Funktion lässt uns den Bereich zwischen zwei plots oder zwei hlines farbig ausfüllen. Ein gutes Beispiel hierfür sind die Bollinger Bänder, bei denen der Bereich zwischen oberem und unterem Band eingefärbt wird.
█ Übung 5
Berechne zwei gleitende Durchschnitte (SMA 10 und SMA 20) und fülle den Bereich zwischen beiden Durchschnitten rot, wenn der SMA10 größer ist als der SMA20 und grün, wenn das Gegenteil der Fall ist.
█ Lösung Übung 4
Übung 3: Erstelle ein Skript, das grüne Kerzen zählt, sofern die beiden vorherigen Kerzen rot waren. Der Wert soll sich stetig erhöhen (persistieren) und die Ausgabe soll eine blaue Linie sein.
//@version=5
indicator("Übung 4")
grueneKerze = close > open
roteKerze = close < open
var int zaehler = 0
if grueneKerze and roteKerze and roteKerze
zaehler += 1
plot(zaehler, "Zähler", color.blue)
Skriptausführung in Pine Script™In diesem kurzen Video beleuchten wir die Hintergründe der technischen Skriptausführung in Pine Script™.
Was passiert wenn wir unseren im Pine-Editor geschriebenen Code ausführen lassen und was gibt es zu beachten?
Dieses Grundlagenvideo soll dir dabei helfen nachvollziehen zu können, wie dein Skript ausgeführt wird.
Progressives AnlageverhaltenRisikomanagement Teil 1
Das Risikomanagement im Trading ist ein sehr umfangreiches und komplexes Thema. Es beinhaltet u.a. die folgenden Themengebiete:
1. Risikokapital für ‚non-professionals‘
2. Risikoarme Einstiegspunkte
3. Stop Loss
4. Positionsgrößen
5. Progressives Anlageverhalten
6. Rückschläge in die Strategie einbauen
7.Weitere Werkzeuge
8. Risikomodell
In diesem Tutorial wird das 'Progressive Anlageverhalten' näher beleuchtet.
PineScript Guide 4 - var und varipHallo Scripter,
im vorherigen Video haben wir uns mit den unterschiedlichen einfachen Datentypen auseinandergesetzt. Bevor wir nun mit komplexeren Datentypen weiter machen, streuen wir noch kurz das Thema "var und varip" ein, da es für die Variablendeklaration wichtig ist.
█ Was schauen wir uns in diesem Video an?
Dieses Video soll dir zeigen was die Schlüsselwörter var und varip bezwecken und wie wir sie bei der Variablendeklaration einsetzen können.
█ Was ist das Schlüsselwort var?
Variablen werden in PineScript mit der Angabe eines Datentyps und eines Variablennamen deklariert. PineScript wird bei einer solchen Deklaration den Wert der Variablen mit jeder neuen Kerze auf den Ursprungswert zurücksetzen. Die folgende Variable „counter“ erhält mit jeder neuen Kerze den Wert 0 und erhöht diesen dann, sofern es sich um eine grüne Kerze handelt. Sobald eine neue Kerze erscheint, wird der Wert wieder auf 0 gesetzt.
int counter = 0
if close > open
counter += 1
Fügen wir hingegen das Schlüsselwort „var“ hinzu, dann persistiert der Wert der „counter“ Variable und sie wird nicht auf 0 zurückgesetzt. Wir zählen somit alle grünen Kerzen im Chart.
var int counter = 0
if close > open
counter += 1
Das Schlüsselwort „var“ bietet sich somit an, wenn Werte zwischen verschiedenen Kerzen übernommen werden sollen. Ein gutes Beispiel hierfür ist ein Schalter, der an- und ausgeschaltet werden kann. Wir definieren eine Variable „tradeErlaubt“ und schalten diese an oder aus, je nachdem welche Bedingung im Skript eintritt.
var bool tradeErlaubt = false
movingAverageCrossover = ta.crossover(close, ta.sma(close, 50))
movingAverageCrossunder = ta.crossunder(close, ta.sma(close, 50))
if movingAverageCrossover
tradeErlaubt := true
else if movingAverageCrossunder
tradeErlaubt := false
if tradeErlaubt
// hier folgt der Code, der nur ausgeführt wird, wenn „tradeElaubt“ wahr ist
█ Was ist das Schlüsselwort varip?
Ähnlich wie das var Schlüsselwort sorgt auch das varip Schlüsselwort (var intrabar persist) dafür, dass Werte persistieren. Während eine mit „var“ deklarierte Variable immer nur einen Wert je Kerze übernimmt, kann eine Variable, die mit „varip“ deklariert wurde, auch intrabar Aktualisierungen abspeichern.
Wir könnten zum Beispiel je neuer Preisdaten einen Zähler aufaddieren, um die Preisbewegungen innerhalb einer Kerze zu zählen. Varip funktioniert nur mit aktuellen Kerzen, die Live-Daten erhalten. Für historische Kerzen, wird der Wert für eine „varip“ Variable anhand der OHLC-Daten (Open, High, Low, Close) berechnet, also nur einmal.
Zur Verdeutlichung kannst du dir das nachfolgende Skript in deinem Chart anschauen. Während anfänglich beide Zähler den exakt gleichen Wert ausgeben, da varip nur einen Preisdatensatz je historischer Kerze erhält, ändern sich die beiden Kurven sobald es neue Live-Daten gibt. Varip zählt ab jetzt jede Preisbewegung, während var maximal nur einmal je Kerze hochzählt.
//@version=5
indicator("Var vs. Varip")
varip int counter = 0
if close > open
counter += 1
var int counter2 = 0
if close > open
counter2 += 1
plot(counter, "Varip", color.blue)
plot(counter2, "Var", color.red)
█ Übung 4
Erstelle ein Skript, das grüne Kerzen zählt, sofern die beiden vorherigen Kerzen rot waren. Der Wert soll sich stetig erhöhen (persistieren) und die Ausgabe soll eine blaue Linie sein.
█ Lösung Übung 3
Ü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.
//@version=5
indicator("Übung 3", overlay=true)
i_length = input.int(20, "MA Länge")
ma = ta.sma(close, i_length)
plot(ma, "MA", color.green)
Edit: Ändert bitte im letzten Code Beispiel die MA Zeile in (Das Beschreibungsfeld der Idee zerlegt leider die richtige Syntax): ma = ta.sma(close, i_length)
Erste Schritte in Pine Script™In diesem Video schauen wir uns an was Pine Script überhaupt ist und wie wir im Pine-Editor arbeiten.
Pine Script ist eine Skriptsprache für TradingView und wird zur Programmierung von Indikatoren oder Strategie-Skripten verwendet.
Bereits mit wenigen Zeilen Code lassen sich schnell erste Ergebnisse sehen, was diese Sprache sehr Anfängerfreundlich macht.