สวัสดีครับเพื่อนๆ นักเทรดทุกคน! วันนี้เราจะมาพูดถึงเครื่องมือที่ชื่อว่า SeriesIntegerInfo และข้อมูลเรตบาร์ที่ช่วยให้เราเข้าถึงข้อมูลจำนวนบาร์ในทุกๆ เทอร์มินัลที่เราต้องการ โดยเฉพาะในแพลตฟอร์ม MetaTrader 5 กันนะครับ
เครื่องมือนี้ไม่ใช่เครื่องมือที่ใช้ในการซื้อขายโดยตรง แต่จะมีประโยชน์สำหรับคนที่ต้องการข้อมูลเกี่ยวกับจำนวนบาร์ที่มีในเทอร์มินัลเครื่องนี้ โดยมันจะใช้ฟังก์ชัน SeriesIntegerInfo และ CopyRates ในการดึงข้อมูลและแสดงผลเกี่ยวกับความพร้อมใช้งานของข้อมูลบาร์จากเทอร์มินัลครับ
เครื่องมือนี้อนุญาตให้ผู้ใช้สามารถใช้สัญลักษณ์กราฟปัจจุบัน (ค่าเริ่มต้น) หรือป้อนสัญลักษณ์ใดๆ ที่อยู่ใน Market Watch ของตน และสร้างคอลัมน์ที่มีข้อมูลสามรายการที่ได้จากฟังก์ชัน SeriesIntegerInfo ในแต่ละกรอบเวลา สำหรับสัญลักษณ์นั้นๆ
- SERIES_SYNCHRONIZED: หากข้อมูลในเทอร์มินัลมีการซิงโครไนซ์ (จะแสดง SYNC หรือ UN_SYNC สำหรับฟังก์ชันที่เป็นจริงหรือเท็จ)
- SERIES_BARS_COUNT: จำนวนบาร์ที่มีในกรอบเวลานั้น (รวมถึงบาร์ที่ศูนย์)
- SERIES_FIRSTDATE: วันที่ของบาร์ที่เก่าที่สุดในกรอบเวลานั้น
นอกจากนี้ เครื่องมือยังแสดงข้อมูล CopyRates สำหรับบาร์ที่ถูกต้องในแต่ละกรอบเวลา (บาร์ที่ถูกต้องจะอิงจากข้อมูลที่ได้จาก SeriesIntegerInfo) โดยค่าเริ่มต้นจะเป็นการแสดงข้อมูล CopyRates สำหรับบาร์ที่เก่าที่สุดในแต่ละกรอบเวลา (ตามที่ระบุโดย SERIES_BARS_COUNT) แต่ผู้ใช้สามารถป้อนหมายเลขบาร์ที่ต้องการได้ตามต้องการครับ
นี่คือเครื่องมือที่ทำงานคู่กับ https://www.mql5.com/en/code/26316 ซึ่งดึงข้อมูลเกี่ยวกับบาร์ที่ถูกต้องโดยใช้ฟังก์ชัน 'Bars' ครับ SeriesInfoInteger ดูเหมือนจะเป็นวิธีที่ "ดีกว่า" ในการดึงข้อมูลบาร์ แต่ทั้งคู่รายงานว่ามีบาร์ที่ CopyRates ไม่สามารถดึงข้อมูลได้ โดยเฉพาะตามเวอร์ชันปัจจุบันของเทอร์มินัล
เมื่อเครื่องมือทำงาน ข้อมูลจะแสดงผลอย่างมีเสถียรภาพ เมื่อเทอร์มินัลเริ่มต้นข้อมูลในช่วงไม่กี่วินาทีแรก ตามกราฟตัวอย่างด้านล่าง ซึ่งแสดงข้อผิดพลาด 4401 "Terminal Data not Available" หลายรายการครับ

การควบคุม:
- 1) "Rates and Bar" - เลือกและลากเพื่อย้ายแสดงผลไปยังตำแหน่งที่ต่างบนกราฟ
- 2) นี่คือกล่องป้อนหมายเลขบาร์ ป้อนหมายเลขบาร์เพื่อดูว่ามีข้อมูล CopyRates สำหรับบาร์นั้นหรือไม่
- 3) "Symbol" - คลิกเพื่อสลับหมายเลขบาร์ไปยัง 'Oldest' หรือหมายเลขบาร์ล่าสุดที่ป้อน
- 4) นี่คือกล่องป้อนสัญลักษณ์ ป้อนสัญลักษณ์ใดๆ ใน Market Watch ของคุณเพื่อแสดงสัญลักษณ์นั้น
- 5) คลิกที่ข้อมูล CopyRates MN1 เพื่อสลับการเปิดและปิดการเขียนบันทึก เมื่อเปิดแล้ว ข้อผิดพลาดที่ส่งกลับจาก Bars และ CopyRates จะถูกบันทึกลงในบันทึก
- แนะนำให้ดาวน์โหลดและเปิดการใช้งาน // #include <errordescription.mqh> // errordescription.mqh หาที่: https://www.mql5.com/en/code/79
ในการทดสอบของผม SeriesIntegerInfo จะรายงานค่าบาร์ที่มากกว่า 100,000 แต่ CopyRates ไม่เคยแสดงข้อมูลสำหรับหมายเลขบาร์ที่มากกว่า 99,999 โดยภาพด้านล่างจะแสดงข้อผิดพลาด 4401 สำหรับบาร์ 100,0000 และความสำเร็จสำหรับบาร์ 99,9999:

เวอร์ชัน: M1 ถึง MN1 ระบุตัวตนที่ทิ้งไว้ใน V1.00 แก้ไขใน V1.02
ความคิดเห็น 0