在小節和行中組織腳本輸入

Mar 12, 2021

我們最新的Pine更新對輸入進行了兩項改進:

  • 新的group參數允許程式員為一組輸入定義節標頭(section header)。
  • 新的inline參數允許將多個輸入連接在一行上。

使用這些新功能,您可以更整齊地組織輸入,就像我們在這里為自動斐波那契回撤(Auto Fib Retracement)指標所做的那樣。

在腳本中使用新參數很容易!看一下這個VWAP指標的示例,該指標允許用戶指定計算的起點和終點,並控制錨點的顯示:

//@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)

group參數有兩種使用方式。該字符用作該組的標頭,並且還定義了哪些輸入屬於該組。

當使用inline參數時,使用相同inline參數的所有input()調用將加入到一行上。每個input()調用的title參數確定該字段的圖例。如果在input()調用中未使用title參數,則該字段將不使用圖例。如果使用inline組合的輸入不適合一行,則其中一些輸入將換行到下一行。

您可以在《Pine語言參考手冊》的input()條目中找到有關新參數的說明。

在我們的《Pine用戶手冊》發行說明中閱讀有關Pine的所有更新。

我們希望您發現這項高需求度的功能有用。請繼續向我們發送您的反饋意見以幫助改進。我們為用戶打造TradingView,希望收到您的訊息。

Look first Then leap

TradingView專門為您打造,請確保您充分利用我們出色的功能
開啟圖表