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)