Organisieren von Skripteingaben in Abschnitten und Zeilen

Mar 12, 2021

Unser neuestes Pine-Update führt zwei Verbesserungen für Inputs ein:

  • Mit dem neuen Parameter group können Programmierer eine Abschnittsüberschrift für eine Gruppe von Eingängen definieren.
  • Der neue inline Parameter erlaubt es, mehrere Eingänge in einer Zeile zusammenzufassen.

Mit diesen neuen Funktionen können Sie Eingaben übersichtlicher organisieren, wie hier für den Auto Fib Retracement Indikator.

Die Verwendung der neuen Parameter in Ihren Skripten ist einfach! Schauen Sie sich dieses Beispiel eines VWAP-Indikators an, bei dem User den Start- und Endpunkt von Berechnungen angeben und die Anzeige von Ankern steuern können:

//@version=4
study(title = "Custom Period VWAP", shorttitle = "CPVWAP", overlay = true)

src = input(hlc3, "Source", input.source)
enableHighlight = input(true, "Highlight", input.bool, inline = "Highlight")
highlightType = input("Anchors", "", input.string, options = ["Anchors", "Background"], inline = "Highlight")
highlightColor = input(color.red, "", input.color, inline = "Highlight")
useStartPeriodTime = input(true, "Start", input.bool, group = "Date Range", inline = "Start Period")
startPeriodTime = input(timestamp("20 Jan 2021"), "", input.time, group = "Date Range", inline = "Start Period")
useEndPeriodTime = input(true, "End", input.bool, group = "Date Range", inline = "End Period")
endPeriodTime = input(timestamp("20 Feb 2021"), "", input.time, group = "Date Range", inline = "End Period")

start = useStartPeriodTime ? startPeriodTime >= time : false
end = useEndPeriodTime ? endPeriodTime <= time : false
calcPeriod = not start and not end

var srcVolArray = array.new_float(na)
var volArray = array.new_float(na)
var line startAnchor = line.new(na, na, na, na, xloc.bar_time, extend.both, highlightColor, width = 2)
var line endAnchor = line.new(na, na, na, na, xloc.bar_time, extend.both, highlightColor, width = 2)
useBgcolor = false

if calcPeriod
    array.push(srcVolArray, src*volume)
    array.push(volArray, volume)
else
    array.clear(srcVolArray), array.clear(volArray)

customVwap = array.sum(srcVolArray) / array.sum(volArray)
if enableHighlight
    if highlightType == "Anchors"
        if useStartPeriodTime
            line.set_xy1(startAnchor, startPeriodTime, low)
            line.set_xy2(startAnchor, startPeriodTime, high)
        if useEndPeriodTime
            line.set_xy1(endAnchor, not na(customVwap) ? time : line.get_x1(endAnchor), low)
            line.set_xy2(endAnchor, not na(customVwap) ? time : line.get_x1(endAnchor), high)
    if highlightType == "Background"
        useBgcolor :=  true

bgcolor(useBgcolor and calcPeriod ? highlightColor : na, editable = false)
plot(customVwap, title="CPVWAP", color = color.blue, linewidth = 2)

Das Argument group wird auf zwei Arten verwendet. Die Zeichenfolge wird als Kopfzeile für die Gruppe verwendet und sie definiert auch, welche Inputs zu dieser Gruppe gehören.

Wenn ein inline Argument verwendet wird, werden alle input()-Aufrufe, die das gleiche Inline Argument verwenden, in einer Zeile zusammengefasst. Das Argument title jedes input()-calls bestimmt die Legende des Felds. Wenn im input()-call kein title-Argument verwendet wird, wird keine Legende für das Feld verwendet. Wenn die mit inline zusammengefassten Eingaben nicht in eine Zeile passen, werden einige von ihnen in die nächste Zeile umgebrochen.

Eine Beschreibung der neuen Parameter finden Sie im Eintrag für input() im Pine-Handbuch.

Lesen Sie über alle Updates von Pine in den Release Notes unseres User Manuals.

Wir hoffen, dass Sie dieses viel geforderte Feature nützlich finden. Bitte senden Sie uns weiterhin Ihr Feedback zur Verbesserung. Wir bauen TradingView für unsere User und freuen uns, 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