บิวด์อินใหม่ในเนมสเปซของชาร์ตในขณะนี้ช่วยให้สคริปต์สามารถมองเห็นคุณสมบัติชาร์ตได้มากขึ้น เรายังแนะนำพฤติกรรมรูปแบบใหม่สำหรับสคริปต์ ไพน์ ของคุณ ซึ่งช่วยให้พวกเขาสามารถคำนวณและวาดใหม่บนบาร์ที่มองเห็นได้เท่านั้น โดยจะปรับใหม่โดยอัตโนมัติเมื่อเทรดเดอร์เลื่อนหรือซูมบนชาร์ตของตน
คุณสมบัติชาร์ต
The new chart.bg_color ในตัวจะคืนค่าสีพื้นหลังของแผนภูมิ คุณสามารถใช้เพื่อปรับรูปแบบสีของสคริปต์ให้เข้ากับบริบทของแผนภูมิได้ การแสดงร่วมของ chart.fg_color จะคืนค่าสีที่จะให้คอนทราสต์ที่เหมาะสมกับสีพื้นหลังของชาร์ตไม่ว่าจะเป็นสีอะไรก็ตาม
บูลีนบิวด์อินใหม่อีกชุดหนึ่งทำให้สามารถตรวจจับประเภทของชาร์ตที่สคริปต์ของคุณกำลังทำงานอยู่ได้ พวกมันคือ:
- chart.is_heikinashi
- chart.is_renko
- chart.is_linebreak
- chart.is_kagi
- chart.is_pnf
- chart.is_range
- chart.is_standard
อันสุดท้ายจะคืนค่าเป็นจริงในชาร์ตมาตรฐานทุกประเภท (อันที่กลับเป็นราคาปิดที่ไม่ใช่แบบสังเคราะห์): บาร์, แท่งเทียน, แท่งเทียน 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 ให้กับคุณ และเรายินดีรับฟังความคิดเห็นจากคุณเสมอ