ホーム テクニカル指標 投稿

CCIカラーレベル - MetaTrader 5のインジケーター解説

添付ファイル
19704.zip (4.1 KB, ダウンロード 0回)

このインジケーターは以下のように表示されます:

CCI Color Levels

視覚的な効果を得るために、以下の3種類のグラフィカル構成が使用されています:

CCI Color Levels Draw


インジケーターの入力設定

  • 平均化期間 - インジケーターの平均化期間;
  • レベルUP - UPレベルの値;
  • レベルDOWN - DOWNレベルの値。

UPレベルとDOWNレベルは、インジケーターのサブウィンドウに即座に表示されます:

CCI Color Levels Inputs


エキスパートアドバイザーでのインジケーターデータの取得方法

DRAW_HISTOGRAM2スタイルは、2つのインジケーターバッファに基づいているため、データウィンドウには2つのレベルUP値と2つのレベルDOWN値が表示されます:

Test CCI Color Levels.png

これらの値は、インジケーターバッファ0から4までに対応しています。

エキスパートアドバイザーでは、インジケーターハンドルを作成するために 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;            // iCustomインジケーターのハンドルを格納するための変数
//+------------------------------------------------------------------+
//| エキスパート初期化関数                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- iCCIインジケーターのハンドルを作成
   handle_iCustom=iCustom(Symbol(),Period(),"CCI Color Levels",Inp_CCI_ma_period,Inp_CCI_LevelUP,Inp_CCI_LevelDOWN);
//--- ハンドルが作成されなかった場合
   if(handle_iCustom==INVALID_HANDLE)
     {
      //--- 失敗を通知し、エラーコードを出力
      PrintFormat("シンボル %s/%s の iCCI インジケーターのハンドル作成に失敗しました、エラーコード %d",
                  Symbol(),
                  EnumToString(Period()),
                  GetLastError());
      //--- インジケーターは早期に停止
      return(INIT_FAILED);
     }
//---
   return(INIT_SUCCEEDED);
  }

ここでは、CCI Color Levelsインジケーターが[data folder]\MQL5\Indicators\に配置されていることが前提です。

インジケーター値の取得方法(バッファ0、2、および4のみが重要):

//+------------------------------------------------------------------+
//| エキスパートティック関数                                             |
//+------------------------------------------------------------------+
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)+"\n"+
               "CCI #0: "+DoubleToString(cci,2)+"\n"+
               "レベルDOWN #0: "+DoubleToString(level_down,2);
   Comment(text);
  }

上記のスクリーンショットでは、マウスがインデックス0のバーにポイントしており、インジケーターデータを持つ「データウィンドウ」も表示され、EAの情報がバッファ0、2、および4をチャート上に表示しています。

関連記事

コメント (0)