หน้าแรก ตัวชี้วัดทางเทคนิค โพสต์

ระดับสี CCI - เครื่องมือสำหรับ MetaTrader 5

ไฟล์แนบ
19704.zip (4.1 KB, ดาวน์โหลด 0 ครั้ง)

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

ระดับสี CCI

การสร้างกราฟิกในเครื่องชี้วัดนี้มี 3 รูปแบบ:

การวาดระดับสี CCI


ข้อมูลการตั้งค่าเครื่องชี้วัด

  • ระยะเฉลี่ย - ระยะเวลาเฉลี่ยของเครื่องชี้วัด;
  • ระดับ UP - ค่าระดับ UP;
  • ระดับ DOWN - ค่าระดับ DOWN.

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

ข้อมูลการตั้งค่า CCI Color Levels


วิธีเข้าถึงข้อมูลเครื่องชี้วัดใน Expert Advisor

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

ทดสอบ CCI Color Levels

ค่าต่างๆ เหล่านี้สอดคล้องกับบัฟเฟอร์เครื่องชี้วัดตั้งแต่ 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 จะถูกแสดงบนกราฟด้วย

โพสต์ที่เกี่ยวข้อง

ความคิดเห็น (0)