Fractal Weight Oscillator คือออสซิลเลเตอร์ที่ช่วยในการวิเคราะห์การเทรด โดยมีการรวมค่าเฉลี่ยน้ำหนักจากออสซิลเลเตอร์สี่ตัว ได้แก่ Fractal_RSI, Fractal_MFI, Fractal_WPR และ Fractal_DeMarker.
ในการติดตั้ง Fractal Weight Oscillator คุณจะต้องมีไฟล์ของออสซิลเลเตอร์ที่เกี่ยวข้อง ได้แก่ Fractal_RSI.mq5, Fractal_MFI.mq5, Fractal_WPR.mq5 และ Fractal_DeMarker.mq5 ให้วางไว้ในโฟลเดอร์ <terminal_data_folder>\MQL5\Indicators.
หลังจากที่คุณได้ทำการคอมไพล์แล้ว ไฟล์ Fractal_WeightOscillator.ex5 จะรวมออสซิลเลเตอร์เหล่านี้ไว้ใน resources ซึ่งหมายความว่าคุณไม่จำเป็นต้องมีไฟล์ของออสซิลเลเตอร์ในโฟลเดอร์ของเทอร์มินัลเพื่อให้ไฟล์ที่คอมไพล์ทำงานได้! โค้ดที่เกี่ยวข้องจะถูกเพิ่มเข้าไปในโค้ดของออสซิลเลเตอร์เพื่อรวมออสซิลเลเตอร์เหล่านี้ในไฟล์ executable.
ไฟล์ที่คอมไพล์จะถูกเพิ่มเป็น resource ในระดับ global
#resource "\\Indicators\\Fractal_RSI.ex5"
#resource "\\Indicators\\Fractal_MFI.ex5"
#resource "\\Indicators\\Fractal_WPR.ex5"
#resource "\\Indicators\\Fractal_DeMarker.ex5"
เปลี่ยนเส้นทางของสายออสซิลเลเตอร์ที่ใช้เป็น resources ในบล็อกของฟังก์ชัน OnInit()
RSI_Handle=iCustom(NULL,0,"::Indicators\\Fractal_RSI",e_period,normal_speed,RSIPrice);
if(RSI_Handle==INVALID_HANDLE)
{
Print(" ไม่สามารถรับ handle ของออสซิลเลเตอร์ Fractal_RSI ได้");
return(INIT_FAILED);
}
//---- รับ handle ของออสซิลเลเตอร์ Fractal_MFI
MFI_Handle=iCustom(NULL,0,"::Indicators\\Fractal_MFI",e_period,normal_speed,MFIPrice,MFIVolumeType);
if(MFI_Handle==INVALID_HANDLE)
{
Print(" ไม่สามารถรับ handle ของออสซิลเลเตอร์ Fractal_MFI ได้");
return(INIT_FAILED);
}
//---- รับ handle ของออสซิลเลเตอร์ Fractal_WPR
WPR_Handle=iCustom(NULL,0,"::Indicators\\Fractal_WPR",e_period,normal_speed);
if(WPR_Handle==INVALID_HANDLE)
{
Print(" ไม่สามารถรับ handle ของออสซิลเลเตอร์ Fractal_WPR ได้");
return(INIT_FAILED);
}
//---- รับ handle ของออสซิลเลเตอร์ Fractal_DeMarker
DeMarker_Handle=iCustom(NULL,0,"::Indicators\\Fractal_DeMarker",e_period,normal_speed);
if(DeMarker_Handle==INVALID_HANDLE)
{
Print(" ไม่สามารถรับ handle ของออสซิลเลเตอร์ Fractal_DeMarker ได้");
return(INIT_FAILED);
}
ด้วยเหตุนี้ ไฟล์ที่คอมไพล์ของออสซิลเลเตอร์ Fractal Weight Oscillator จะสามารถใช้งานได้ในเทอร์มินัลการเทรดอื่นๆ โดยไม่ต้องมีออสซิลเลเตอร์ต้นฉบับ.
ออสซิลเลเตอร์นี้ใช้คลาสจากไลบรารี SmoothAlgorithms.mqh (ให้คัดลอกไปที่ <terminal_data_folder>\MQL5\Include). การใช้คลาสนี้ได้ถูกอธิบายไว้อย่างละเอียดในบทความ "Averaging Price Series for Intermediate Calculations Without Using Additional Buffers".
ลำดับการคอมไพล์ไฟล์:
- Fractal_RSI.mq5, Fractal_MFI.mq5, Fractal_WPR.mq5 และ Fractal_DeMarker.mq5
- Fractal_WeightOscillator.mq5

Fig1. ตัวบ่งชี้ Fractal Weight Oscillator
โพสต์ที่เกี่ยวข้อง
- เครื่องมือ Open Range Breakout สำหรับ MetaTrader 5
- Condition Scanner: เครื่องมือวิเคราะห์อัตโนมัติสำหรับ MetaTrader 4
- เครื่องมือ MetaCOT 2 CFTC ToolBox - ชุดตัวชี้วัดสำหรับการวิเคราะห์ใน MetaTrader 4
- FX Multi-Meter II: เครื่องมือช่วยเทรดที่ครบครันสำหรับนักลงทุน
- การวิเคราะห์สเปกตรัมเดี่ยว: ตัวชี้วัดแนวโน้มสำหรับ MetaTrader 5