Mengatur Input Skrip dalam Seksyen dan Garisan

Mar 12, 2021

Kemas kini Pine terbaru kami memperkenalkan two penambahbaikan kepada input:

  • Parameter kumpulan baru membolehkan pengaturcara menentukan kepala seksyen untuk sekumpulan input.
  • Parameter sebaris(inline) baru membolehkan beberapa input digabungkan dalam satu garisan.

Dengan menggunakan ciri baru ini, anda boleh menguruskan input dengan lebih teratur, seperti yang kami lakukan untuk penunjuk Anjakan Fib Auto.

Menggunakan parameter baru ini dalam skrip anda adalah mudah! Lihat contoh penunjuk VWAP di bawah, yang membolehkan pengguna menentukan titik mula dan akhir pengiraan, dan mengawal paparan sauh:

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

Argumen kumpulan boleh digunakan dalam dua kaedah. Rentetan digunakan sebagai kepala untuk kumpulan, dan juga menentukan input mana yang berkaitan dengan kumpulan tersebut.

Apabila argumen sebaris digunakan, semua panggilan input() yang menggunakan argument sebaris yang sama akan digabungkan menjadi satu garisan. Tajuk argumen setiap panggilan setiap input() menentukan petunjuk medan. Jika tiada argument tajuk digunakan dalam panggilan input(), maka tiada petunjuk digunakan untuk medan tersebut. Jika input digabungkan dengan fungsi sebaris tidak dapat dimasukkan dalam satu garisan, maka beberapa input yang terlebih akan dimasukkan ke dalam garisan yang seterusnya.

Anda boleh mencari deskripsi parameter baru dalam Manual Rujukan Pine untuk input().

Baca semua kemas kini Pine dalam Nota Pelepasan Manual Pengguna.

Kami berharap ciri baru ini berguna untuk anda. Sila menghantar maklum balas anda kepada kami untuk penambahbaikan. Kami membina TradingView untuk pengguna kami dan berharap untuk mendengar daripada anda.

Look first Then leap

TradingView dibina untuk anda, pastikan anda memanfaatkan semua ciri-ciri hebat kami
Lancarkan Carta