ปัญหาการแจ้งเตือนอินดิเคเตอร์ที่ใช้ออฟเซ็ต
หากมีการสร้างการแจ้งเตือนบนอินดิเคเตอร์ที่ใช้พล็อตที่มีการออฟเซ็ต ดังนั้นเมื่อเปรียบเทียบสัญญาณเตือนกับสัญญาณบนชาร์ต อาจดูเหมือนว่าการแจ้งเตือนจะเกิดขึ้นแต่มีความล่าช้า
ลองดูตัวอย่าง: การแจ้งเตือนที่เกิดขึ้นเมื่อตรวจพบ pivotHigh
pivotHigh คือค่าสูงสุดที่มีค่ามากกว่าจำนวนค่าที่สูงก่อนหน้าและค่าที่ตามมาจำนวนหนึ่ง (ในตัวอย่างนี้มีค่าสูงก่อนหน้าและค่าที่ตามมามากกว่าสองค่า)
คุณสามารถค้นหาแท่งที่ตรงตามเงื่อนไขข้างต้นได้โดยใช้ Pine Script นี้:
//@version=6indicator("PivotHigh", overlay=false)plot(high)plot(high, linewidth=2, style = plot.style_circles) phDetected = high[2] > high[0] and high[2] > high[1] and high[2] > high[3] and high[2] > high[4]plotshape(phDetected?high[2]:na, style=shape.labeldown, location=location.absolute, text="pivotHigh", textcolor=color.white, color=color.green, offset=0)alertcondition(phDetected)
Javaเมื่อเพิ่มสคริปต์ลงในชาร์ต เราจะเห็นป้ายกำกับปรากฏบนแท่งตั้งแต่เวลา 16:30 น. แม้ว่า pivotHigh จะอยู่ถัดไป 2 แท่งทางด้านซ้ายก็ตาม

หากคุณสร้างการแจ้งเตือนเกี่ยวกับเงื่อนไขการแจ้งเตือนจากสคริปต์ การแจ้งเตือนจะทริกเกอร์บนแท่งบจากเวลา 16:30 น. ด้วย เนื่องจากตรงตามเงื่อนไขการตรวจจับ
เราสามารถเพิ่มออฟเซ็ตให้กับฟังก์ชัน plotshape เพื่อแสดงป้ายกำกับบนแท่ง pivotHigh
plotshape(phDetected?high[2]:na, style=shape.labeldown, location=location.absolute, text="pivotHigh", textcolor=color.white, color=color.green, offset=-2)
Java
การออฟเซ็ตดังกล่าวจำเป็นเพื่อความสะดวกเท่านั้น (มักใช้ในอินดิเคเตอร์ Divergence) และไม่ส่งผลกระทบต่อการแจ้งเตือน กล่าวคือ การแจ้งเตือนจะยังคงทริกเกอร์อย่างถูกต้องบนแท่งจากเวลา 16:30 น. อย่างไรก็ตาม อาจดูเหมือนว่าควรจะทริกเกอร์เร็วกว่านี้ (คือ บนแท่งจากเวลา 14:30 น.)