จัดระเบียบอินพุตสคริปต์ในเซคชั่นและเส้น

Mar 12, 2021

การอัปเดต Pine ล่าสุดของเรานำเสนอการปรับปรุง 2 เรื่องให้กับอินพุต:

  • พารามิเตอร์ กลุ่ม(group)  ใหม่ช่วยให้โปรแกรมเมอร์กำหนดส่วนหัวของกลุ่มอินพุตได้
  • พารามิเตอร์ อินไลน์ (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) การเรียก input() ทั้งหมดที่ใช้อาร์กิวเมนต์อินไลน์เดียวกันจะถูกรวมไว้ในบรรทัดเดียว อาร์กิวเมนต์ หัวเรื่อง (title) ของการเรียกแต่ละ input() จะกำหนดคำอธิบายของฟิลด์ หากไม่มีการใช้อาร์กิวเมนต์หัวเรื่อง (title) ในการเรียก input() จะไม่มีการใช้คำอธิบายแผนภูมิสำหรับฟิลด์ หากอินพุตที่รวมเข้าด้วยกันโดยใช้อินไลน์ (inline) ไม่พอดีกับหนึ่งบรรทัดบางส่วนของอินพุตจะถูกรวมไว้ในบรรทัดถัดไป

คุณสามารถดูคำอธิบายของพารามิเตอร์ใหม่ได้ในรายการ Pine Reference Manual สำหรับการป้อนข้อมูล input()

อ่านเกี่ยวกับการอัปเดตทั้งหมดของ Pine ใน Release Notes ของคู่มือผู้ใช้ของเรา

เราหวังว่าคุณจะพบว่าคุณลักษณะนี้มีประโยชน์อย่างยิ่ง โปรดส่งข้อเสนอแนะของคุณต่อไปเพื่อการปรับปรุง เราสร้าง TradingView สำหรับผู้ใช้ของเราและเรายินดีรับฟังความคิดเห็นจากคุณ


ติดตาม TradingView ประเทศไทย ได้ทาง Line ID: @tradingview_th และทวิตเตอร์ (Twitter) ค้นหา “TradingView Thailand

Look first Then leap

TradingView is built for you, so make sure you're getting the most of our awesome features
เปิดชาร์ต