Pine Script™ และชาร์ตได้คุ้นเคยกันมากขึ้น

Jul 12, 2022

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

คุณสมบัติชาร์ต

The new chart.bg_color ในตัวจะคืนค่าสีพื้นหลังของแผนภูมิ คุณสามารถใช้เพื่อปรับรูปแบบสีของสคริปต์ให้เข้ากับบริบทของแผนภูมิได้ การแสดงร่วมของ chart.fg_color จะคืนค่าสีที่จะให้คอนทราสต์ที่เหมาะสมกับสีพื้นหลังของชาร์ตไม่ว่าจะเป็นสีอะไรก็ตาม

บูลีนบิวด์อินใหม่อีกชุดหนึ่งทำให้สามารถตรวจจับประเภทของชาร์ตที่สคริปต์ของคุณกำลังทำงานอยู่ได้ พวกมันคือ:

อันสุดท้ายจะคืนค่าเป็นจริงในชาร์ตมาตรฐานทุกประเภท (อันที่กลับเป็นราคาปิดที่ไม่ใช่แบบสังเคราะห์): บาร์, แท่งเทียน, แท่งเทียน hollow, คอลัมน์, เส้น, พื้นที่ หรือเส้นฐาน

แถบที่มองเห็นได้และการคำนวณใหม่แบบไดนามิก

ในตัว chart.left_visible_bar_time และ chart.right_visible_bar_time ใหม่ จะคืนค่าเวลาเปิดของบาร์ที่มองเห็นได้ทางซ้ายสุดและขวาสุดของชาร์ตเมื่อเทรดเดอร์เลื่อนหรือซูมชาร์ตของตน – ทำให้ช่วงของบาร์ที่มองเห็นได้บนชาร์ตเปลี่ยนไป – สคริปต์ที่ใช้บิวด์อินใหม่เหล่านี้จะดำเนินการใหม่โดยอัตโนมัติ เพื่อให้การคำนวณและภาพสามารถปรับให้เข้ากับบริบทใหม่ได้ นี่เป็นการเปิดประตูสู่สคริปต์ใหม่ๆ ที่ปรับเปลี่ยนแบบไดนามิกตามการเปลี่ยนแปลงในช่วงของบาร์ที่มองเห็นได้

ตัวอย่างนี้ดึงลูกศรจากการเปิดบาร์แรกที่มองเห็นได้จนถึงปิดของบาร์สุดท้าย และแสดงการได้รับ/การสูญเสียสำหรับช่วงนั้น:

//@version=5
indicator("Chart gain/loss", "", true)

// Save the `open` of the leftmost visible bar.
var float chartOpen = na
if time == chart.left_visible_bar_time
    chartOpen := open
else if time == chart.right_visible_bar_time
    // Run the following code on the chart's rightmost visible bar.
    color arrowColor = close > chartOpen ? color.lime : color.fuchsia
    // Draw arrow once, then modify it.
    var line arrow = line.new(na, na, na, na, xloc.bar_time, extend.none, na, line.style_arrow_right, 3)
    line.set_xy1(arrow, chart.left_visible_bar_time, chartOpen)
    line.set_xy2(arrow, chart.right_visible_bar_time, close)
    line.set_color(arrow, arrowColor)
    // Draw percentage label once, then modify it.
    var label percentage = label.new(na, na, na, xloc.bar_time, yloc.price, #00000000, label.style_label_down, size = size.huge)
    int midTime = int(math.avg(chart.left_visible_bar_time, chart.right_visible_bar_time))
    label.set_xy(percentage, midTime, math.avg(chartOpen, close))
    label.set_text(percentage, str.tostring((close - chartOpen) / chartOpen * 100, format.percent))
    label.set_textcolor(percentage, arrowColor)

โปรดทราบว่าเนื่องจากสคริปต์ที่ใช้คุณสมบัตินี้จะดำเนินการซ้ำบ่อยกว่าสคริปต์ปกติ จึงต้องใช้ความระมัดระวังในการใช้โค้ดที่มีประสิทธิภาพและคำนวณให้เบาหากต้องการรักษาการตอบสนองตามปกติของชาร์ต TradingView

เราได้เผยแพร่อินดิเคเตอร์ Chart VWAP เพื่อเป็นตัวอย่างว่าคุณลักษณะใหม่นี้สามารถใช้งานได้อย่างไร โดยจะยึดกับบาร์ที่มองเห็นได้โดยอัตโนมัติ:

บัญชี PineCoders ยังได้เผยแพร่ไลบรารี VisibleChart เพื่อช่วยให้โปรแกรมเมอร์ Pine Script™ ใช้ประโยชน์สูงสุดจากคุณลักษณะใหม่นี้

หากต้องการรับทราบข้อมูลคุณสมบัติใหม่ๆ ของ Pine Script™ โปรดติดตามบรรณานุกรมคู่มือผู้ใช้ บัญชี PineCoders ยังออกอากาศการอัปเดตจาก Squawk Box บน Telegram บัญชี Twitter และจากการแชทสาธารณะ “Pine Script™ Q&A” บน TradingView

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

Look first Then leap

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