ตัวชี้วัด MACD นี้สามารถนำไปใช้ได้กับทุกช่วงเวลา ไม่ว่าจะเป็นช่วงเวลาสูงหรือต่ำกว่าช่วงเวลาของกราฟปัจจุบัน
ค่าต่างๆ สามารถคำนวณโดยอิงจากประเภทของราคาที่ใช้บ่อย เมื่อใช้ตัวชี้วัดในช่วงเวลาที่ต่ำกว่าช่วงเวลาของกราฟปัจจุบัน จะไม่สามารถแสดงค่าทั้งหมดได้ ในกรณีนี้ ขึ้นอยู่กับประเภทของราคาที่เลือก จะใช้แนวทางที่แตกต่างกันเพื่อนำเสนอค่าที่เหมาะสมที่สุด
ตัวอย่างสองตัวอย่าง:
- ช่วงเวลา_1=5 นาที, ช่วงเวลา_2=1 นาที, คำนวณจากซีรีส์ราคาปิด (Close):
สำหรับบาร์ใดๆ ในช่วงเวลา_1 ตัวชี้วัดจะแสดงบาร์ล่าสุดของช่วงเวลา_2 ที่มีเวลาปิดก่อนหรือเท่ากับเวลาปิดของบาร์ในช่วงเวลา_1 ซึ่งรวมถึงบาร์ที่ปิดแล้วและบาร์ปัจจุบันที่ยังเปิดอยู่
- ช่วงเวลา_1=5 นาที, ช่วงเวลา_2=1 นาที, คำนวณจากซีรีส์ราคาเปิด (Open):
สำหรับบาร์ใดๆ ในช่วงเวลา_1 ตัวชี้วัดจะแสดงบาร์ล่าสุดของช่วงเวลา_2 ที่มีเวลาเปิดก่อนหรือเท่ากับเวลาเปิดของบาร์ในช่วงเวลา_1 ซึ่งรวมถึงบาร์ที่ปิดแล้วและบาร์ปัจจุบันที่ยังเปิดอยู่ หลักการคือ หากคุณเลือกคำนวณตัวชี้วัดจากเวลาเปิดของบาร์ ก็มีแนวโน้มว่าคุณจะทำการเทรดเมื่อบาร์ใหม่เปิด ในกรณีนี้ เมื่อเปิดบาร์ใหม่ 5 นาที คุณจะทราบเฉพาะเวลาเปิดของบาร์แรกจากห้าบาร์ 1 นาทีที่เป็นส่วนหนึ่งของมัน
คุณสามารถผสมช่วงเวลาใดก็ได้กับช่วงเวลาอื่น แม้ว่าจะไม่ตรงกัน เช่น ช่วงเวลา_1 = 5 นาที และช่วงเวลา_2 = 12 นาที ตัวชี้วัดจะทำให้มั่นใจว่าพวกเขาจะซิงค์กัน วิธีการนี้ทำงานคล้ายกับตัวอย่างข้างต้น
ไฟล์ Excel ที่แนบมานี้ (Conversion between timeframes.zip) มีตัวอย่างของการรวมกันที่เป็นไปได้ทั้งหมดและคำอธิบายที่ชัดเจนมากขึ้น ลองดูที่โค้ดต้นฉบับเพื่อดูวิธีการสร้างตัวชี้วัดหลายช่วงเวลาเอง
เมื่อเปลี่ยนไปยังช่วงเวลาอื่น ให้รอสักครู่ (ไม่กี่วินาที) เพื่อให้ข้อมูลราคาถูกโหลด หากตัวชี้วัดไม่แสดง ให้รีเฟรชกราฟด้วยตัวเอง
ต้องการ:
- MovingAverages.mqh (ไฟล์ที่รวมอยู่ในโฟลเดอร์ terminal_data_folder\MQL5\Include)
- MACD_Histogram_MC (โพสต์ที่ mql5.com ด้วย)
นำ MACD Histogram_MTF_MC.mq5 และ MACD_Histogram_MC.mq5 ไปไว้ในโฟลเดอร์ terminal_data_folder\MQL5\Indicators เพื่อให้ตัวชี้วัดทำงานได้
ดูในทรัพยากรเพื่อเปิด/ปิดข้อความแสดงข้อผิดพลาด:
bool ShowErrorMessages=false; // เปิด/ปิดข้อความแสดงข้อผิดพลาดสำหรับการดีบั๊ก

ประวัติการอัปเดต:
2010 09 26: v03
- ปรับปรุงการแสดงค่าบนช่วงเวลาที่เล็กกว่าช่วงเวลาของกราฟ;
- ตั้งค่า buffers เป็น EMPTY_VALUE แทนที่ 0 หลังจาก: if(convertedTime<tempTimeArray_TF2[0]);
- ปรับปรุงโค้ด;
- ลบ PLOT_DRAW_BEGIN จาก OnInit() - สืบทอดมาจากตัวชี้วัดช่วงเวลาเดียว;
- ย้าย ArraySetAsSeries ของ buffers และ arrays ไปยัง OnInit();
- เพิ่ม MODE_SMMA และ MODE_LWMA เป็นวิธี MA สำหรับเส้นสัญญาณ;
- ทำให้ ENUM_APPLIED_PRICE เป็นพารามิเตอร์สุดท้ายในรายการ;
2010 08 28: v02B
- ตัวชี้วัดเผยแพร่ครั้งแรก;
โพสต์ที่เกี่ยวข้อง
- เครื่องมือ Open Range Breakout สำหรับ MetaTrader 5
- Volume Profile + Range v6.0: เครื่องมือวิเคราะห์การซื้อขายใน MetaTrader 5
- การวิเคราะห์สเปกตรัมเดี่ยว: ตัวชี้วัดแนวโน้มสำหรับ MetaTrader 5
- ID Lite Info MA – ตัวช่วยวิเคราะห์ Moving Average สำหรับ MetaTrader 5
- ตัวชี้วัด DailyHighLow สำหรับ MQL5: เครื่องมือวิเคราะห์ราคาใน MetaTrader 5