Neue Möglichkeiten bei der Arbeit mit Farben in Pine

May 13, 2021

Ihre Skripte werden jetzt in leuchtenden Farben erstrahlen, da wir neue Serienfarben und Farbverläufe aus der RGB-Palette hinzugefügt haben.

Eine neue Funktion ‚color.rgb (red, green, blue, transp)‘ wurde zu Pine hinzugefügt. Diese Informationen erlauben es Ihnen, die Farbe zu setzen, indem Sie die Werte der Komponenten von Rot, Grün, Blau und Transparenz (transp) als Argumente übergeben. Jetzt können Sie sich die Definition der gesamten, im Skript verwendeten Farbpalette sparen und stattdessen die Farbe auf der Grundlage der übergebenen Argumente berechnen. Schauen Sie sich dieses kleine Beispiel an, das zeigt, wie viel einfacher es geworden ist, komplexe Farbübergänge zu verwenden:

//@version=4
study("Relative Bars Color Saturation", "RBCS", overlay=true)

i_barcolor = input(color.rgb(33, 150, 243), "Bar Color", input.color)

f_grad_transp(_c_col, _transp) =>
    _c_red = color.r(_c_col)
    _c_green = color.g(_c_col)
    _c_blue = color.b(_c_col)
    color.rgb(_c_red, _c_green, _c_blue, _transp)

f_indexedPercent(_currentValue, _relativeValue, _maxValue) =>
    _currentValue * _maxValue / _relativeValue

transp = f_indexedPercent(abs(close - open), high - low, 100)
c_color = f_grad_transp(i_barcolor, transp)
barcolor(c_color)

Der Wert der Farbkomponenten wird im Bereich von 0 (am wenigsten intensiv) bis 255 (am intensivsten) eingestellt. Für eine Transparenzkomponente reicht dieser Bereich von 0 (völlig undurchsichtig) bis 100 (völlig transparent).

Wenn Sie den numerischen Wert einer bestimmten Farbe oder Transparenzkomponente benötigen, verwenden Sie die Spezialfunktionen color.r()‘, ‚color.g()‘, ‚color.b()‘ und ‚color.t()‘ , indem Sie ihnen eine Farbe als Argument übergeben.

Und mit der Funktion ‚color.from_gradient()‘ können Sie beeindruckende Farbübergänge auf jedem Balken erzeugen, die Farben der Skripte sind jetzt nur noch durch Ihre Phantasie begrenzt. Hier ist ein Beispiel, das zeigt, wie viel einfacher es geworden ist, die Farbe in Abhängigkeit vom Wert des Relative-Stärke-Index zu beschreiben:

//@version=4
study("RGB RSI")
i_src = input(close, "Source", input.source)
i_length = input(14, "Length", input.integer)

f_grad_transp(_c_col, _transp) =>
    _c_red = color.r(_c_col)
    _c_green = color.g(_c_col)
    _c_blue = color.b(_c_col)
    color.rgb(_c_red, _c_green, _c_blue, _transp)

rsi = rsi(i_src, i_length)
c_grad = color.from_gradient(rsi, 30, 70, color.lime, color.red)

plot(rsi, color=c_grad, linewidth=3)
band1 = hline(70, "Overbought", color=color.rgb(255, 82, 82))
band0 = hline(30, "Oversold", color=color.rgb(76, 175, 80))
fill(band1, band0, color=f_grad_transp(c_grad, 90), title="Background")

 

Lesen Sie über alle Pine-Updates im Abschnitt „Release Notes“ im Handbuch.

Einige eingebaute Indikatoren (Momentum, TRIX, Price Oscillator, Detrended Price Oscillator, Chaikin Oscillator, Volume Oscillator, Ease of Movement, Rate of Change) wurden aktualisiert und verwenden nun diese neuen Funktionen, Sie können sie zu Ihrem Chart hinzufügen, um die RGB-Funktionalität in Aktion zu sehen.

Und hier sind einige beeindruckende Beispiele von Indikatoren mit RGB-Farben von den Community-Entwicklern:

Directional Value by RicardoSantos

Color Gradient Framework by LucF, for PineCoders

Delta Volume Columns Pro by LucF

Wir hoffen, Sie finden die neuen Funktionen nützlich. Bitte geben Sie uns weiterhin Feedback und Vorschläge – wir erstellen TradingView für Sie und sind immer daran interessiert zu erfahren, was Sie über unsere Plattform-Updates denken.

Look first Then leap

TradingView wurde für Sie entwickelt. Stellen Sie sicher, dass Sie unsere fantastischen Features optimal nutzen
Chart öffnen