Pine Script™ beherrscht jetzt auch vertikale Farbverläufe!

Oct 5, 2022

Die folgenden neuen Überladungen für die fill() Funktion können vertikale Farbverläufe erzeugen:

fill(plot1, plot2, top_value, bottom_value, top_color, bottom_color)

fill(hline1, hline2,  top_value, bottom_value, top_color, bottom_color)

Alle Parameter in den neuen Überladungen akzeptieren Serienargumente. Sie erzeugen einen vertikalen Farbverlauf zwischen `top_color` und `bottom_color` im Bereich zwischen `top_value` und `bottom_value`. Die Plots oder hlines, deren IDs in den ersten beiden Argumenten verwendet werden, wirken wie eine Maske über dem Farbverlauf und bestimmen, welcher Teil des Farbverlaufs sichtbar ist.

Hier sehen Sie, wie wir dem alten MACD ein neues Aussehen, mit zwei vertikalen Farbverläufen geben. Einen, um den Raum zwischen den beiden gleitenden Durchschnitten zu füllen, und einen weiteren für das, was normalerweise als Histogramm dargestellt wird:

//@version=5
indicator("MACD")
[macd, signal, hist] = ta.macd(close, 12, 26, 9)

// Histogramm
float  maxHist  = ta.highest(hist, 100)
float  minHist  = ta.lowest(hist,  100)
bool   histBull = hist > 0
color  topHistColor = histBull ? color.new(color.green, 90) : color.red
color  botHistColor = histBull ? color.green : color.new(color.red, 90)
float  topHistValue = histBull ? maxHist : 0
float  botHistValue = histBull ? 0 : minHist
histPlot   = plot(hist, "Histogram", color(na))
centerPlot = plot(0,    "Middle",    color(na))
fill(histPlot, centerPlot, topHistValue, botHistValue, topHistColor, botHistColor)

// Durchschnittswerte
float  maxLine  = ta.highest(math.max(macd, signal), 100)
float  minLine  = ta.lowest(math.min(macd, signal), 100)
bool   lineBull = macd > signal
color  topLineColor = lineBull ? color.new(color.lime, 90) : color.fuchsia
color  botLineColor = lineBull ? color.lime : color.new(color.fuchsia, 90)
float  topLineValue = lineBull ? maxLine : maxLine
float  botLineValue = lineBull ? minLine : minLine
macdPlot   = plot(macd,   "MACD",   color.gray,   1)
signalPlot = plot(signal, "Signal", color.silver, 1)
fill(macdPlot, signalPlot, topLineValue, botLineValue, topLineColor, botLineColor)

In unserem nächsten Beispiel erstellen wir einen Pine-Forest, indem wir einen Farbverlauf für den Hintergrund und einen anderen für die RSI-basierte Tree-Line verwenden:

//@version=5
indicator("Gradient Fill: Night in the Pine forest")

// Sky
skyTopColor = input.color(color.rgb(144, 191, 249, 1))
skyBotColor = input.color(color.rgb(251, 192, 45, 1))
skyPlot     = plot(100, color = skyTopColor)
groundPlot  = plot(0, color = color.black)
fill(skyPlot, groundPlot, 100, 0, skyTopColor, skyBotColor)

// Trees
crownsVal = ta.rsi(close, 20)
treesPlot = plot(crownsVal, color = color.rgb(6, 126, 116))
fill(treesPlot, groundPlot, crownsVal, 0, color.rgb(6, 126, 116), color.black)

Im Folgenden finden Sie einige weitere Beispiele unserer PineCoders aus den Community-Skripten:

Delta Volume Channels Indikator von LucF

RSI – Farbfüllung Indikator von Fikira

Webby’s RSI Indikator von JohnMuchow

Um über neue Funktionen von Pine Script™ informiert zu bleiben, sollten Sie die Versionshinweise im Benutzerhandbuch im Auge behalten. Das PineCoders-Konto sendet auch Updates über seine Squawk Box auf Telegram, Twitter und den öffentlichen Pine Script™ Q&A-Chat auf TradingView.

Wir hoffen, dass Sie diese stark nachgefragte Funktion nützlich finden. Bitte senden Sie uns weiterhin Ihr Feedback und Ihre Verbesserungsvorschläge. Wir entwickeln TradingView für Sie, und wir sind immer daran interessiert, von Ihnen zu hören.

Look first Then leap

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