การจัดการวัตถุใน EX5: เทคนิคสำหรับ MetaTrader 5

Mike 2024.07.17 07:37 8 0 0
ไฟล์แนบ

ในบทความนี้เราจะมาพูดถึงวิธีการปรับแต่งวัตถุในอินดิเคเตอร์ โดยไม่ต้องใช้ซอร์สโค้ดกันครับ มีอินดิเคเตอร์บางตัวที่ไม่ใช้บัฟเฟอร์ แต่จะใช้วัตถุในการแสดงผลแทน ถ้าอินดิเคเตอร์นั้นใช้บัฟเฟอร์ เราสามารถเปลี่ยนค่าอินพุตได้ง่ายๆ ด้วย iCustom แต่ถ้าไม่มีบัฟเฟอร์ล่ะ? เราจะทำอย่างไรดี?


ในการสาธิตครั้งนี้ เราจะใช้อินดิเคเตอร์ตลาดฟรีสำหรับ MT5 ที่ชื่อว่า "PZ Multidiagonals MT5" คุณต้องทำการติดตั้งอินดิเคเตอร์นี้จากตลาดก่อนที่จะทดสอบโค้ดนี้นะครับ

เราต้องตั้งชื่อพรีฟิกสำหรับวัตถุเพื่อเริ่มการปรับแต่งวัตถุ ฟังก์ชัน LogChartObjectNames() ถูกสร้างขึ้นเพื่อบันทึกชื่อของวัตถุทั้งหมดที่มีอยู่ในอินดิเคเตอร์

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


สำหรับอินดิเคเตอร์ PZ Multidiagonals นี้เป็นอินดิเคเตอร์แนวโน้มที่วาดเส้นแนวโน้มอัตโนมัติ แต่บางทีก็ดูมากเกินไป นี่คือการตั้งค่ามาตรฐานที่แสดง:


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


เมื่อเริ่มจากกราฟเปล่าแล้วโหลดอินดิเคเตอร์ "Hacking Objects.mq5" คุณจะเห็นว่าผมได้ลบเส้นแนวโน้มจำนวนมากออก และเหลือไว้เฉพาะสิ่งที่ผมคิดว่ามีความสำคัญที่สุด ไม่ได้เข้าถึงอินพุต แต่เป็นการจัดการวัตถุแทน:






รายการ
ความคิดเห็น 0