เครื่องชี้วัด CCI มีลักษณะดังนี้:

การสร้างกราฟิกในเครื่องชี้วัดนี้มี 3 รูปแบบ:
- DRAW_HISTOGRAM2 ("ระดับ UP");
- DRAW_LINE ("CCI");
- DRAW_HISTOGRAM2 ("ระดับ DOWN").

ข้อมูลการตั้งค่าเครื่องชี้วัด
- ระยะเฉลี่ย - ระยะเวลาเฉลี่ยของเครื่องชี้วัด;
- ระดับ UP - ค่าระดับ UP;
- ระดับ DOWN - ค่าระดับ DOWN.
ระดับ UP และ DOWN จะแสดงทันทีในหน้าต่างย่อยของเครื่องชี้วัด:

วิธีเข้าถึงข้อมูลเครื่องชี้วัดใน Expert Advisor
สไตล์ DRAW_HISTOGRAM2 มีพื้นฐานจากสองบัฟเฟอร์ของเครื่องชี้วัด ดังนั้นเราจึงเห็นค่าระดับ UP และ DOWN สองค่าที่ปรากฏในหน้าต่างข้อมูล:

ค่าต่างๆ เหล่านี้สอดคล้องกับบัฟเฟอร์เครื่องชี้วัดตั้งแต่ 0 ถึง 4 รวมอยู่ด้วย
ใน Expert Advisor เราจะ สร้าง handle ของเครื่องชี้วัดด้วย iCustom:
//--- พารามิเตอร์นำเข้า input int Inp_CCI_ma_period = 14; // ระยะเวลาเฉลี่ย input double Inp_CCI_LevelUP = 90; // ระดับ UP input double Inp_CCI_LevelDOWN =-90; // ระดับ DOWN //--- int handle_iCustom; // ตัวแปรสำหรับเก็บ handle ของเครื่องชี้วัด iCustom //+------------------------------------------------------------------+ //| ฟังก์ชันการเริ่มต้นของ Expert | //+------------------------------------------------------------------+ int OnInit() { //--- สร้าง handle ของเครื่องชี้วัด iCCI handle_iCustom=iCustom(Symbol(),Period(),"ระดับสี CCI",Inp_CCI_ma_period,Inp_CCI_LevelUP,Inp_CCI_LevelDOWN); //--- ถ้า handle ไม่ถูกสร้าง if(handle_iCustom==INVALID_HANDLE) { //--- แจ้งความล้มเหลวและแสดงรหัสข้อผิดพลาด PrintFormat("ไม่สามารถสร้าง handle ของเครื่องชี้วัด iCCI สำหรับสัญลักษณ์ %s/%s, รหัสข้อผิดพลาด %d", Symbol(), EnumToString(Period()), GetLastError()); //--- เครื่องชี้วัดหยุดทำงาน return(INIT_FAILED); } //--- return(INIT_SUCCEEDED); }
ในที่นี้ถือว่า ระดับสี CCI ตั้งอยู่ใน [data folder]\MQL5\Indicators\.
วิธีการดึงค่าของเครื่องชี้วัด (เฉพาะบัฟเฟอร์ 0, 2 และ 4 มีความสำคัญ):
//+------------------------------------------------------------------+ //| ฟังก์ชันการทำงานของ Expert | //+------------------------------------------------------------------+ void OnTick() { //--- double level_up = iCustomGet(handle_iCustom,0,0); // บัฟเฟอร์ #0 -> BufferUpHigh double cci = iCustomGet(handle_iCustom,2,0); // บัฟเฟอร์ #2 -> BufferCCI double level_down = iCustomGet(handle_iCustom,4,0); // บัฟเฟอร์ #4 -> BufferDownLow string text="ระดับ UP #0: "+DoubleToString(level_up,2)+" "+ "CCI #0: "+DoubleToString(cci,2)+" "+ "ระดับ DOWN #0: "+DoubleToString(level_down,2); Comment(text); }
ในภาพหน้าจอด้านบน เมาส์ชี้ไปที่แท่งที่มีดัชนี 0 และ "Data Window" ที่แสดงข้อมูลเครื่องชี้วัดก็แสดงอยู่ และข้อมูลของ EA เกี่ยวกับบัฟเฟอร์ 0, 2 และ 4 จะถูกแสดงบนกราฟด้วย
โพสต์ที่เกี่ยวข้อง
- เครื่องมือ Open Range Breakout สำหรับ MetaTrader 5
- Volume Profile + Range v6.0: เครื่องมือวิเคราะห์การซื้อขายใน MetaTrader 5
- สร้างดัชนีสกุลเงินด้วย Generic_Index สำหรับ MetaTrader 5
- เครื่องมือแสดงความยาวของไส้เทียนใน MT5 สำหรับเทรดเดอร์
- Bollinger Squeeze Advanced: เครื่องมือวิเคราะห์ที่นักเทรดไม่ควรพลาด