Indikator ini tampil seperti ini:

Untuk efek visual ini, ada tiga jenis konstruksi grafis yang digunakan:
- DRAW_HISTOGRAM2 ("Level UP");
- DRAW_LINE ("CCI");
- DRAW_HISTOGRAM2 ("Level DOWN").

Input Indikator
- Periode Rata-rata - periode rata-rata indikator;
- Level UP - nilai level UP;
- Level DOWN - nilai level DOWN.
Level UP dan DOWN akan langsung ditampilkan di sub-jendela indikator:

Cara Mengakses Data Indikator dalam Expert Advisor
Gaya DRAW_HISTOGRAM2 didasarkan pada dua buffer indikator, itu sebabnya kita melihat dua nilai Level UP dan dua nilai Level DOWN di Jendela Data:

Nilai-nilai ini sesuai dengan buffer indikator dari 0 hingga 4 termasuk.
Di dalam Expert Advisor, kita membuat handle indikator menggunakan iCustom:
//--- parameter input input int Inp_CCI_ma_period = 14; // Periode Rata-rata input double Inp_CCI_LevelUP = 90; // Level UP input double Inp_CCI_LevelDOWN =-90; // Level DOWN //--- int handle_iCustom; // variabel untuk menyimpan handle indikator iCustom //+------------------------------------------------------------------+ //| Fungsi inisialisasi Expert | //+------------------------------------------------------------------+ int OnInit() { //--- buat handle dari indikator iCCI handle_iCustom=iCustom(Symbol(),Period(),"CCI Color Levels",Inp_CCI_ma_period,Inp_CCI_LevelUP,Inp_CCI_LevelDOWN); //--- jika handle tidak dibuat if(handle_iCustom==INVALID_HANDLE) { //--- beri tahu tentang kegagalan dan keluarkan kode kesalahan PrintFormat("Gagal membuat handle indikator iCCI untuk simbol %s/%s, kode kesalahan %d", Symbol(), EnumToString(Period()), GetLastError()); //--- indikator dihentikan lebih awal return(INIT_FAILED); } //--- return(INIT_SUCCEEDED); }
Di sini diasumsikan bahwa indikator CCI Color Levels berada di [data folder]\MQL5\Indicators\.
Cara mendapatkan nilai indikator (hanya buffer 0, 2, dan 4 yang signifikan):
//+------------------------------------------------------------------+ //| Fungsi tick Expert | //+------------------------------------------------------------------+ void OnTick() { //--- double level_up = iCustomGet(handle_iCustom,0,0); // buffer #0 -> BufferUpHigh double cci = iCustomGet(handle_iCustom,2,0); // buffer #2 -> BufferCCI double level_down = iCustomGet(handle_iCustom,4,0); // buffer #4 -> BufferDownLow string text="Level UP #0: "+DoubleToString(level_up,2)+"\n"+ "CCI #0: "+DoubleToString(cci,2)+"\n"+ "Level DOWN #0: "+DoubleToString(level_down,2); Comment(text); }
Dalam tangkapan layar di atas, mouse menunjuk ke bar dengan indeks 0, dan "Jendela Data" dengan data indikator juga ditampilkan, serta informasi EA tentang buffers 0, 2, dan 4 yang ditampilkan di grafik.
Postingan terkait
- Indikator Open Range Breakout untuk MetaTrader 5: Strategi Trading yang Efektif
- Mengoptimalkan Trading dengan Indikator Micro Pivots di MetaTrader 5
- SupremAutoFibo: Indikator Fibonacci untuk MetaTrader 5
- Volume Profile + Range v6.0: Indikator Penting untuk MetaTrader 5
- iSpread: Indikator Spread untuk Pair Trading di MetaTrader 5